:root{--color-navy:#1b2a4a;--color-accent:#2e75b6;--color-green:#4caf50;--color-light-bg:#f0f4f8;--color-dark-text:#1a1a2e;--color-muted:#64748b;--color-border:#e2e8f0;--color-panel:#fff;--color-soft-blue:#eaf3fb;--color-warning:#b7791f;--shadow-soft:0 10px 30px #1b2a4a14}*{box-sizing:border-box}html{background:var(--color-light-bg);min-height:100%}body{background:var(--color-light-bg);min-height:100%;color:var(--color-dark-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.app-shell{background:linear-gradient(180deg, #eaf3fbf5, #f0f4f8 340px), var(--color-light-bg);min-height:100vh}.topbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;border-bottom:1px solid #e2e8f0e6;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1440px;height:68px;margin:0 auto;padding:0 28px;display:flex}.brand{color:var(--color-navy);letter-spacing:0;align-items:center;gap:10px;font-weight:800;text-decoration:none;display:inline-flex}.brand-mark{background:var(--color-navy);color:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:15px;display:grid}.page-frame{max-width:1440px;margin:0 auto;padding:28px}.panel{border:1px solid var(--color-border);background:var(--color-panel);box-shadow:var(--shadow-soft);border-radius:8px}.button{background:var(--color-accent);color:#fff;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 14px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.button:hover{background:var(--color-navy)}.button.secondary{border-color:var(--color-border);color:var(--color-navy);background:#fff}.button.secondary:hover{border-color:var(--color-accent);background:var(--color-soft-blue);color:var(--color-accent)}.button.ghost{color:var(--color-muted);background:0 0;border-color:#0000}.button.ghost:hover{background:var(--color-soft-blue);color:var(--color-navy)}.field{border:1px solid var(--color-border);width:100%;min-height:42px;color:var(--color-dark-text);background:#fff;border-radius:7px;padding:10px 12px}.field:focus{border-color:var(--color-accent);outline:3px solid #2e75b624}.eyebrow{color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.muted{color:var(--color-muted)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{text-align:left;border:1px solid var(--color-border);background:#fff;border-radius:8px;width:100%;min-height:118px;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:block}.metric-card.clickable:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 8px 24px #1b2a4a1f}.metric-card:disabled{cursor:default}.metric-label{color:var(--color-muted);font-size:13px;font-weight:700}.metric-value{color:var(--color-navy);margin-top:12px;font-size:30px;font-weight:850;line-height:1}.dashboard-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;display:grid}.chart-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;min-height:360px;padding:18px}.chart-card h3{color:var(--color-navy);margin:0;font-size:16px;line-height:1.25}.chart-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.table-wrap{border:1px solid var(--color-border);border-radius:8px;overflow:auto}.data-table{border-collapse:collapse;background:#fff;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;white-space:nowrap;padding:11px 12px}.data-table th{color:var(--color-muted);background:#f8fafc;font-size:12px;font-weight:800}.table-sort-button{width:100%;color:inherit;font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:0;font-weight:800;display:inline-flex}.sort-indicator{color:var(--color-accent);font-size:11px}.status-pill{background:var(--color-soft-blue);min-height:24px;color:var(--color-navy);border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;font-weight:700;display:inline-flex}.drawer-overlay{z-index:80;background:#1b2a4a38;position:fixed;inset:0}.drawer-panel{border-left:1px solid var(--color-border);background:#fff;width:min(760px,92vw);height:100vh;margin-left:auto;padding:22px;position:relative;overflow:auto;box-shadow:-14px 0 40px #1b2a4a2e}.drawer-resize-handle{cursor:col-resize;background:0 0;border:0;width:12px;padding:0;position:absolute;top:0;bottom:0;left:-6px}.drawer-resize-handle:after{content:"";background:#2e75b66b;border-radius:999px;width:3px;height:56px;transition:background .15s,width .15s;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.drawer-resize-handle:hover:after{background:var(--color-accent);width:4px}.drawer-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.drawer-header h2{color:var(--color-navy);margin:6px 0 4px;font-size:24px;line-height:1.15}.drawer-header p{margin:0;line-height:1.45}@media (max-width:960px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.chart-card{grid-column:1/-1!important}}@media (max-width:640px){.topbar-inner,.page-frame{padding-left:16px;padding-right:16px}.metric-grid{grid-template-columns:1fr}}
