:root{--brand:#ed1b2d;--brand-dark:#c0121f;--ink:#15181c;--soft:#697079;--faint:#9aa1aa;--line:#e3e6ea;--bg:#eceef1;--card:#fff}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;line-height:1.4}.wrap{flex-direction:column;min-height:100vh;display:flex}.login-center{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;max-width:380px;padding:32px;box-shadow:0 12px 40px #15181c14}.login-card .logo{height:34px;margin:0 auto 18px;display:block}.login-card h1{text-align:center;margin:0 0 4px;font-size:18px}.login-card .sub{text-align:center;color:var(--soft);margin:0 0 24px;font-size:13px}label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}input[type=password]{border:1px solid #cdd2d8;border-radius:10px;outline:none;width:100%;padding:12px 14px;font-size:15px}input[type=password]:focus{border-color:var(--brand);box-shadow:0 0 0 3px #ed1b2d1f}.btn{cursor:pointer;background:var(--brand);color:#fff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:15px;font-weight:600;text-decoration:none;transition:background .15s,opacity .15s;display:inline-flex}.btn:hover{background:var(--brand-dark)}.btn:disabled{opacity:.55;cursor:default}.btn.block{width:100%}.btn.ghost{color:var(--ink);background:#fff;border:1px solid #cdd2d8}.btn.ghost:hover{background:#f5f6f8}.error{color:var(--brand);margin-top:12px;font-size:13px}.topbar{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:14px 20px;display:flex}.topbar img{height:26px}.topbar .title{font-size:15px;font-weight:800}.topbar .spacer{flex:1}.container{width:100%;max-width:980px;margin:0 auto;padding:24px 20px 48px}.intro{color:var(--soft);margin:0 0 22px;font-size:14px}.grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:720px){.grid{grid-template-columns:1fr}}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;padding:20px;display:flex}.card h2{align-items:center;gap:8px;margin:0 0 2px;font-size:16px;display:flex}.card .meta{color:var(--soft);margin:2px 0 14px;font-size:12.5px}.card .count{color:var(--ink);font-weight:800}.list{border:1px solid var(--line);background:#fafbfc;border-radius:10px;max-height:260px;margin-bottom:16px;overflow-y:auto}.row{border-bottom:1px solid var(--line);padding:9px 12px}.row:last-child{border-bottom:none}.row .primary{font-size:13.5px;font-weight:600}.row .secondary{color:var(--soft);font-size:12px}.row .code{color:var(--faint);font-variant-numeric:tabular-nums;font-size:11.5px}.actions{gap:10px;margin-top:auto;display:flex}.badge{color:var(--soft);background:#eef1f4;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.warn{color:var(--brand-dark);background:#fff4f4;border:1px solid #f6c8cc;border-radius:10px;margin-bottom:14px;padding:10px 12px;font-size:12.5px}.empty,.spin{color:var(--soft);text-align:center;padding:18px 12px;font-size:13px}
