:root{--blue:#1769aa;--ink:#243746;--muted:#718391;--line:#dce5eb;--bg:#f2f6f8;--green:#168347;--red:#c43f3f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.4 Arial,sans-serif}.shell{max-width:1800px;margin:auto;padding:24px}header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.mark{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#1377bb,#25b5d6);color:#fff;font-size:18px;font-weight:800;display:grid;place-items:center}h1{margin:0;font-size:25px}header p{margin:2px 0 0;color:var(--muted)}.status{margin-left:auto;color:var(--muted);font-size:13px}.controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px;box-shadow:0 3px 12px #31516a10}.controls label{display:flex;flex-direction:column;gap:5px;color:var(--muted);font-size:12px;font-weight:700}.controls .search{min-width:220px;flex:1}select,input{height:39px;border:1px solid var(--line);border-radius:8px;padding:0 11px;background:#fff;color:var(--ink);font:14px Arial}.controls select[multiple]{height:76px;min-width:155px;padding:5px}.hint{width:100%;color:var(--muted);font-size:11px}button{border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer}.controls button,.error button{background:var(--blue);color:#fff;height:39px}.controls button.secondary{background:#e7eef3;color:var(--ink)}button:disabled{opacity:.55;cursor:wait}nav{display:flex;gap:4px;margin:18px 0 12px;border-bottom:1px solid var(--line)}nav button{background:transparent;color:var(--muted);border-radius:0;padding:11px 18px}nav button.active{color:var(--blue);border-bottom:3px solid var(--blue)}.summary{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin-bottom:14px}.kpi{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.kpi .name{color:var(--muted);font-size:12px;text-transform:uppercase}.kpi .value{font-size:26px;font-weight:800;margin:3px 0}.kpi .note{font-size:12px;color:var(--muted)}.kpi.good .value{color:var(--green)}.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 12px #31516a0c}.scroll{overflow:auto;max-height:68vh}table{border-collapse:collapse;min-width:100%;white-space:nowrap;font-size:12px}th,td{padding:8px 10px;border-bottom:1px solid #edf1f4;text-align:right;font-variant-numeric:tabular-nums}th{position:sticky;top:0;background:#f5f8fa;color:var(--muted);z-index:3;text-transform:uppercase;font-size:10px}.label{text-align:left;position:sticky;left:0;background:#fff;min-width:300px;max-width:420px;z-index:2}.zero{color:#c3ccd3}.fact{font-weight:700}.empty{padding:50px;text-align:center;color:var(--muted)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid #d5e2ea;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:10px}.error{color:var(--red)}.error button{margin-top:15px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.summary{grid-template-columns:1fr 1fr}.shell{padding:12px}.status{width:100%;margin:0}.label{min-width:220px}}
