:root { --navy:#173b69; --ink:#062653; --blue:#4265ff; --soft:#f1f4ff; --line:#e2e8f2; }
* { box-sizing:border-box; }
body { margin:0; background:#f7f9fc; color:var(--ink); font-family:Manrope,system-ui,sans-serif; }
.shell { max-width:980px; margin:auto; padding:28px 20px 80px; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:62px; }
.brand { display:flex; align-items:center; gap:10px; color:var(--navy); font-size:24px; font-weight:800; letter-spacing:.04em; }
.brand small { color:var(--blue); font-size:10px; letter-spacing:.16em; }
.brand-mark { align-items:center; background:var(--navy); border-radius:10px; color:#fff; display:inline-flex; font-size:18px; height:38px; justify-content:center; width:38px; }
.auth-card { background:#fff; border:1px solid var(--line); border-radius:24px; box-shadow:0 16px 40px #173b6910; margin:auto; max-width:470px; padding:44px; }
.eyebrow { color:var(--blue); font-size:12px; font-weight:800; letter-spacing:.13em; margin:0 0 10px; }
h1 { font-size:34px; line-height:1.1; margin:0; } h2 { font-size:20px; margin:15px 0 8px; }
.muted { color:#526276; line-height:1.6; }
form { display:grid; gap:18px; margin-top:30px; } label { display:grid; font-size:14px; font-weight:700; gap:8px; }
input { border:1px solid #cbd5e1; border-radius:10px; font:inherit; padding:13px; }
button { border:0; border-radius:10px; cursor:pointer; font:inherit; font-weight:800; padding:13px 18px; }
.primary { background:var(--blue); color:#fff; }.secondary { background:var(--soft); color:var(--ink); }.text-button { background:transparent; color:var(--blue); }
.intro { align-items:end; display:flex; justify-content:space-between; margin-bottom:28px; }.message { color:#b42318; min-height:20px; }
.receipt-list { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); }
.receipt-card { background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px; }.receipt-meta { color:#64748b; display:flex; justify-content:space-between; font-size:13px; }.status { background:#fff1bd; border-radius:99px; color:#57300f; font-weight:800; padding:5px 10px; }.amount { color:#526276; }.photo-link { color:var(--blue); font-weight:700; }.actions { display:flex; gap:10px; margin-top:24px; }.actions button { flex:1; }
@media (max-width:560px) { .auth-card { padding:28px; }.topbar { margin-bottom:38px; } h1 { font-size:29px; } }
