:root{color-scheme:light;--ink:#172b38;--muted:#788994;--line:#e3e9ed;--accent:#087d75;--bg:#f5f7fa}*{box-sizing:border-box}body{margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink)}[hidden]{display:none!important}button,input,select{font:inherit}button,a,select{cursor:pointer}button{border:0;border-radius:7px;background:var(--accent);color:white;padding:10px 17px}button:disabled{opacity:.45;cursor:default}input,select{border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);padding:8px 10px;max-width:300px}input:focus,select:focus{outline:2px solid #80c9be}label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.6px}h2{font-size:17px}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700;margin-bottom:8px}.brand-mark{display:inline-grid;place-items:center;background:var(--accent);color:white;width:36px;height:36px;border-radius:9px;font-size:17px;font-weight:800}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 10%,#d9ede8,transparent 55%)}.login form{width:420px;max-width:90vw;padding:40px;background:white;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 70px #1c464615}.login .brand-mark{margin-bottom:26px}.login label{margin-top:20px}.login input{max-width:none}.login button{width:100%;margin-top:26px}.login small{display:block;color:var(--muted);margin-top:20px}#login-error{color:#b94a3f;margin-top:8px}aside{position:fixed;inset:0 auto 0 0;width:218px;background:#fff;border-right:1px solid var(--line);padding:28px 20px}.logo{display:flex;gap:10px;align-items:center}.logo strong{font-size:15px}.nav-label{color:#9ca9b0;font-size:11px;margin:46px 10px 12px}nav button{width:100%;text-align:left;background:transparent;color:#6b7d88;padding:13px 14px;margin-bottom:5px}nav button span{float:right;font-size:11px;opacity:.5}nav button.active{color:var(--accent);background:#e8f4f1;font-weight:700}.aside-bottom{position:absolute;bottom:24px;color:var(--muted);font-size:12px}.aside-bottom p{font-size:11px;margin:5px 0 15px}.aside-bottom button{background:#f3f6f8;color:var(--muted);padding:6px 12px}.live-dot{display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:5px}main{margin-left:218px;padding:32px 34px;max-width:2200px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}header .muted{margin-top:5px}.secondary{background:white;border:1px solid var(--line);color:var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;background:white;border:1px solid var(--line);border-radius:9px;padding:16px;margin-bottom:16px}.export{margin-left:auto;align-self:end;padding:8px 0;color:var(--accent);text-decoration:none;font-size:12px}.notice{padding:10px 14px;background:#fff5df;border:1px solid #f0dfb5;border-radius:6px;font-size:12px;color:#8c6930;margin-bottom:16px}.notice.error{background:#fff0ee;color:#a7483f;border-color:#f2cdc7}.summary{background:#183c40;color:white;border-radius:10px;margin-bottom:24px;padding:22px 24px}.summary-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.summary-top small{color:#9fc1be}.kpis{display:grid;grid-template-columns:1.3fr repeat(4,1fr);gap:24px}.kpis label{color:#afd1cb;font-size:12px}.kpis strong{font-size:25px;font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.kpis small{font-size:11px;color:#afd1cb}.section{background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:22px;overflow:hidden}.section-head{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;border-bottom:1px solid var(--line)}.section-head small{color:var(--muted);font-size:11px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{background:#f8fafb;color:#71818b;font-size:11px;font-weight:500;white-space:nowrap}td,th{text-align:right;padding:13px 16px;border-bottom:1px solid #edf1f3}td{font-size:12px;white-space:nowrap}th:first-child,td:first-child{text-align:left}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fcfb}.text{text-align:left;white-space:normal;min-width:160px;max-width:500px}.numeric-negative{color:#bc6056}.tag{font-size:10px;display:inline-block;color:#778894;background:#eef2f5;padding:2px 6px;border-radius:4px}.empty{padding:60px 20px;text-align:center;color:var(--muted)}.pager{padding:12px 20px;display:flex;align-items:center;justify-content:end;gap:15px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.pager button{padding:5px 12px}.alerts{padding:15px 22px;white-space:pre-wrap;line-height:1.9;font-size:13px}.detail{white-space:normal;text-align:left;min-width:260px;max-width:450px}.detail strong{display:block;font-weight:500}.detail small{color:var(--muted);display:block}.detail img{max-width:110px;max-height:70px;object-fit:contain;margin:6px 6px 0 0}footer{color:#8a99a2;font-size:11px;margin-top:24px}.section-note{padding:10px 20px;font-size:11px;color:var(--muted)}@media(max-width:1000px){aside{width:160px;padding:20px 12px}.logo strong{font-size:12px}main{margin-left:160px;padding:24px 18px}.kpis{grid-template-columns:repeat(3,1fr)}.kpis strong{font-size:22px}}@media(max-width:650px){aside{position:static;width:100%;padding:12px}.logo,.nav-label,.aside-bottom{display:none}nav{display:flex;gap:5px}nav button{margin:0}main{margin:0;padding:20px 12px}.kpis{grid-template-columns:repeat(2,1fr)}.filters{gap:10px}input,select{max-width:180px}header h1{font-size:24px}}
@media(max-width:650px){.summary .summary-top{flex-direction:column;align-items:flex-start;gap:8px}.summary .summary-top h2{font-size:16px}aside .aside-bottom{display:block;position:static;text-align:right;margin-top:8px}aside .aside-bottom p{display:none}aside .aside-bottom button{margin-left:12px}}
.date-filter output{margin-left:4px;color:var(--accent);font-weight:700}.date-filter input{cursor:pointer}
