:root{--orange:#ff6000;--orange-dark:#e0500a;--brand-surface:#fdefe6;--graphite:#1b1c1f;--text:#0a0a0a;--text-dim:#767570;--border:#efefef;--good:#1f9254;--warn:#c77700;--bad:#8e1c15;--radius-card:16px;--radius-pill:999px;--radius-chip:10px;--sidebar-w:272px;--sidebar-w-collapsed:76px}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;height:100%}body{color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}.panel{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:20px}.panel h3{color:var(--text);margin:0 0 16px;font-size:15px;font-weight:600}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.kpi-card{border:1px solid var(--border);border-radius:var(--radius-card);background:#fff;padding:18px}.kpi-card .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:12px}.kpi-card .value{margin-top:6px;font-size:26px;font-weight:700}table.tbl{border-collapse:collapse;width:100%;font-size:14px}table.tbl th,table.tbl td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}table.tbl th{color:var(--text-dim);text-transform:uppercase;font-size:12px;font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:16px;display:flex}.tab-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 16px;font-size:14px}.tab-btn.active{color:var(--orange);border-bottom-color:var(--orange);font-weight:600}.badge{border-radius:var(--radius-chip);align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge.good{color:var(--good);background:#e7f6ee}.badge.warn{color:var(--warn);background:#fdf1e0}.badge.bad{color:var(--bad);background:#fbeaea}.hint{color:var(--text-dim);font-size:13px}.pill-orange{background:var(--brand-surface);color:var(--orange-dark);border-radius:var(--radius-pill);padding:4px 12px;font-size:12px;font-weight:600}.progress-bar{border-radius:var(--radius-pill);background:var(--border);width:100%;height:8px;overflow:hidden}.progress-bar .fill{background:var(--orange);height:100%}.pagination{justify-content:flex-end;align-items:center;gap:6px;margin-top:12px;font-size:13px;display:flex}.pagination button{border:1px solid var(--border);border-radius:var(--radius-chip);cursor:pointer;background:#fff;padding:6px 10px}.pagination button:disabled{opacity:.4;cursor:default}.app-shell{grid-template-columns:1fr;min-height:100vh;display:grid}.app-main{background:#fafafa;min-width:0;padding:20px 16px 40px}.topbar{background:var(--graphite);color:#fff;z-index:30;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.hamburger-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;padding:6px 10px;font-size:16px;line-height:1}.sidebar{width:var(--sidebar-w);background:var(--graphite);color:#fff;z-index:50;flex-direction:column;flex-shrink:0;max-width:82vw;height:100vh;padding:20px 0;transition:transform .25s;display:flex;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:2px 0 16px #0000004d}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex}.sidebar-overlay{display:none}.sidebar-overlay.visible{z-index:40;background:#00000073;display:block;position:fixed;inset:0}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.table-scroll table.tbl{min-width:640px}.table-scroll table.tbl th,.table-scroll table.tbl td{white-space:nowrap}.dashboard-charts{grid-template-columns:1fr;gap:20px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}@media (min-width:640px){.app-main{padding:28px 24px 48px}}@media (min-width:900px){.dashboard-charts{grid-template-columns:2fr 1fr}}@media (min-width:1024px){.app-shell{grid-template-columns:var(--sidebar-w) 1fr}.app-main{padding:32px}.topbar{display:none}.sidebar{max-width:none;box-shadow:none;position:static;transform:none}.sidebar-close{display:none}.sidebar-overlay{display:none!important}}
