:root{--blue:#1f3cff;--ink:#10162b;--muted:#65708a;--line:#e5e9f2;--bg:#f5f7fb;--card:#fff;--ok:#0a8f5a;--warn:#b46b00}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1180px)/2));gap:36px;position:sticky;top:0;z-index:10}.brand img{width:126px;display:block}.topbar nav{display:flex;gap:26px;flex:1}.topbar a{text-decoration:none;color:var(--ink);font-size:14px}.login-link,.logout-link,.refresh,.primary,.action{border:0;border-radius:9px;padding:10px 16px;cursor:pointer;font:inherit}.login-link,.refresh,.primary{background:var(--blue);color:#fff}.logout-link{background:transparent;color:var(--muted);padding-right:0}main{max-width:1180px;margin:auto;padding:40px 24px 80px}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--blue);font-weight:700}.hero h1{font-size:34px;margin:8px 0}.hero p{margin:0;color:var(--muted)}.notice{padding:13px 16px;border-radius:10px;background:#fff7e5;color:#8b5800;margin-bottom:16px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.metric{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.metric strong{display:block;font-size:26px;margin-top:8px}.metric span{color:var(--muted);font-size:13px}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;margin-bottom:18px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:18px;margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:780px}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #edf0f5;font-size:14px;vertical-align:top}th{color:var(--muted);font-weight:600;background:#fafbfe}.status{display:inline-block;border-radius:999px;background:#eef1ff;color:var(--blue);padding:4px 9px;font-size:12px}.status.paid,.status.closed,.status.confirmed{background:#e8f7f0;color:var(--ok)}.status.cancelled,.status.rejected,.status.refunded{background:#fff0ed;color:#b23a25}.action{padding:7px 10px;background:#eef1ff;color:var(--blue);margin:2px;font-size:12px}.empty{padding:50px;text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd3e2;border-radius:14px}.login-overlay{position:fixed;inset:0;background:rgba(10,18,45,.42);display:none;align-items:center;justify-content:center;z-index:30}.login-overlay.on{display:flex}.login-card{width:min(420px,calc(100vw - 32px));background:#fff;border-radius:18px;padding:28px;position:relative}.login-card h2{margin:0 0 8px}.login-card p{color:var(--muted);font-size:14px}.login-card label{display:block;font-size:13px;margin:14px 0}.login-card input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;margin-top:6px}.login-card .primary{width:100%;margin-top:8px}.close{position:absolute;right:16px;top:12px;border:0;background:none;font-size:28px;cursor:pointer}.error{min-height:20px;color:#bd2c21;font-size:13px}.register{display:block;text-align:center;margin-top:16px;color:var(--blue)!important}@media(max-width:760px){.topbar{padding:0 16px}.topbar nav{display:none}main{padding:28px 14px}.hero h1{font-size:28px}.summary{grid-template-columns:repeat(2,1fr)}.refresh{padding:9px 11px}}
