:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#0f172a;background:#f4f7f5}*{box-sizing:border-box}body{margin:0}.loading{min-height:100vh;display:grid;place-items:center;color:#64748b}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.card{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:24px;box-shadow:0 16px 45px #0f172a15}.login .card{width:min(100%,390px)}.logo{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#047857;color:#fff;font-size:22px;font-weight:800}h1,h2{margin:12px 0 4px}p{line-height:1.6}.muted{color:#64748b;font-size:14px}.error{color:#dc2626;font-size:14px}form{display:grid;gap:12px;margin-top:18px}input,button{font:inherit;min-height:46px;border-radius:12px;border:1px solid #cbd5e1;padding:0 13px}input[type=file]{padding:11px;background:#fff}button{cursor:pointer;font-weight:700}.primary{background:#047857;color:#fff;border-color:#047857}.dark{background:#0f172a;color:#fff;border-color:#0f172a}.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}button:disabled{opacity:.6;cursor:not-allowed}header{background:#fff;border-bottom:1px solid #e2e8f0}.bar{max-width:1120px;margin:auto;height:66px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.identity{font-size:14px}.grid{max-width:1120px;margin:auto;padding:18px;display:grid;gap:18px}.receipt{border:1px dashed #94a3b8;border-radius:14px;padding:12px}.receipt b,.receipt small{display:block}.receipt small{color:#64748b;margin-top:5px}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.purchase{padding:14px 0;border-top:1px solid #e2e8f0}.purchase:first-child{border-top:0}.line{display:flex;justify-content:space-between;gap:10px}.actions,.backup-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px}.backup-actions button{flex:1}.actions a,.actions button{min-height:34px;padding:6px 12px;border-radius:9px;border:1px solid #047857;color:#065f46;background:#fff;text-decoration:none;font-size:14px}.actions .approve{background:#047857;color:#fff}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.users p{margin:7px 0}.notice{padding:10px 12px;background:#fffbeb;color:#92400e;border-radius:10px;font-size:14px}@media(min-width:850px){.grid{grid-template-columns:1fr 1.25fr}.card{padding:28px}}@media(max-width:500px){.identity{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{border-radius:18px;padding:18px}}
