:root{--navy:#0f1e3a;--navy-2:#1e2e52;--blue:#2563eb;--blue-d:#1d4ed8;--ink:#0f172a;--muted:#475569;--line:#e2e8f0;--bg:#f4f6fa;--card:#fff;--green:#166534;--green-bg:#dcfce7;--red:#991b1b;--red-bg:#fee2e2;--amber:#854d0e;--amber-bg:#fef9c3;--gray-bg:#f1f5f9}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--ink);background:var(--bg);margin:0;font:14px/1.45 Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}h1{margin:0;font-size:24px;font-weight:700}h2{margin:0 0 12px;font-size:14px;font-weight:700}p{margin:4px 0 0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.muted{color:var(--muted)}.mono{font-variant-numeric:tabular-nums}.strong{font-weight:600}.center-screen{justify-content:center;align-items:center;height:100%;display:flex}.shell{min-height:100%;display:flex}.nav{background:var(--navy);flex-direction:column;flex:none;gap:3px;width:232px;height:100vh;padding:20px 14px;display:flex;position:sticky;top:0}.brand{padding:4px 12px 20px}.brand-name{color:#fff;font-size:15px;font-weight:700}.brand-sub{color:#94a3b8;margin-top:2px;font-size:12px}.nav-item{text-align:left;color:#cbd5e1;background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13.5px;font-weight:500}.nav-item:hover{background:var(--navy-2);color:#fff}.nav-item.on{background:var(--blue);color:#fff}.nav-foot{border-top:1px solid var(--navy-2);color:#cbd5e1;flex-direction:column;gap:4px;margin-top:auto;padding:14px 12px 4px;font-size:12px;display:flex}.sync-line{align-items:center;gap:8px;margin-bottom:8px;display:flex}.who{color:#fff;font-size:13px;font-weight:600}.who-role{color:#94a3b8}.link-btn{color:#93c5fd;text-align:left;background:0 0;border:0;padding:4px 0;font-size:12.5px}.link-btn:hover{color:#fff}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.green{background:#4ade80}.dot.amber{background:#facc15}.dot.gray{background:#94a3b8}.main{flex:1;min-width:0}.page{flex-direction:column;gap:18px;max-width:1500px;padding:28px 32px;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.page-head p{max-width:760px;font-size:13px}.btn{background:#fff;border:1px solid #cbd5e1;border-radius:8px;height:36px;margin-left:8px;padding:0 14px;font-size:13px;font-weight:600}.btn:hover:not(:disabled){background:#f8fafc}.btn:disabled{color:#94a3b8}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff;margin-left:0}.btn.primary:hover:not(:disabled){background:var(--blue-d)}.btn.primary:disabled{color:#fff;background:#93c5fd;border-color:#93c5fd}.btn.big{width:100%;height:44px;margin-top:8px;font-size:15px}.seg{background:#fff;border:1px solid #cbd5e1;border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:#334155;border:0;border-right:1px solid var(--line);background:#fff;height:36px;padding:0 14px;font-size:13px;font-weight:600}.seg button:last-child{border-right:0}.seg button.on{color:var(--blue-d);background:#eff6ff}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.card{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.card:hover{border-color:#93c5fd}.card-label{color:var(--muted);font-size:12px;font-weight:600}.card-value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:26px;font-weight:700}.card-sub{color:var(--muted);margin-top:2px;font-size:12px}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}.panel.flush{padding:0}.fix-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;display:grid}.fix{text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:14px;min-height:64px;padding:12px 14px;display:flex}.fix:hover:not(:disabled){border-color:#93c5fd}.fix-text{flex-direction:column;flex:1;font-size:13.5px;display:flex}.fix-text .muted{font-size:12.5px}.fix-go{color:var(--blue-d);white-space:nowrap;font-size:12.5px;font-weight:600}.badge{text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:44px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.badge.red{background:var(--red-bg);color:var(--red)}.badge.amber{background:var(--amber-bg);color:var(--amber)}.badge.green{background:var(--green-bg);color:var(--green)}.badge.gray{background:var(--gray-bg);color:#334155}.filters{flex-wrap:wrap;gap:12px;display:flex}.filters label{color:var(--muted);flex-direction:column;gap:4px;font-size:11.5px;font-weight:600;display:flex}.filters label:first-child{flex:280px;max-width:460px}input,select{height:38px;color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px;font-size:14px;font-weight:400}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--line);white-space:nowrap;background:#f8fafc;padding:10px 12px;font-size:11.5px;font-weight:600}th:first-child{border-top-left-radius:12px}th:last-child{border-top-right-radius:12px}td{white-space:nowrap;border-bottom:1px solid #eef2f6;padding:9px 12px}td.wrap{white-space:normal;max-width:420px;color:var(--red)}.n{text-align:right;font-variant-numeric:tabular-nums}.neg{color:#b91c1c;font-weight:700}.empty{text-align:center;color:var(--muted);padding:32px}.pager{justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.alert{background:var(--red-bg);color:var(--red);border-radius:8px;padding:10px 12px;font-size:13px}.login-wrap{background:var(--navy);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.login-card{background:#fff;border-radius:14px;flex-direction:column;gap:6px;width:100%;max-width:380px;padding:32px;display:flex}.login-brand{font-size:20px;font-weight:700}.login-card label{color:var(--muted);margin-top:14px;font-size:12px;font-weight:600}.login-card input{height:42px;font-size:15px}.login-card .alert{margin-top:10px}@media (width<=760px){.shell{flex-direction:column}.nav{width:auto;height:auto;position:static}.page{padding:20px 16px}}
