:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8fafc;color:#17202a;--bg: #f8fafc;--surface: #ffffff;--surface-soft: #f1f5f9;--surface-raised: #ffffff;--line: #dbe3ec;--line-soft: #edf2f7;--muted: #64748b;--text: #17202a;--input: #ffffff;--blue: #2563eb;--green: #10b981;--amber: #f59e0b;--purple: #8b5cf6;--red: #ef4444;--cyan: #06b6d4;--nav: #10231f;--nav-soft: #183a32;--shadow: 0 16px 40px rgba(15, 23, 42, .08);--shadow-soft: 0 8px 24px rgba(15, 23, 42, .06)}:root[data-theme=dark]{color-scheme:dark;background:#0f172a;color:#e5e7eb;--bg: #0f172a;--surface: #111827;--surface-soft: #172033;--surface-raised: #182235;--line: #243244;--line-soft: #1f2b3d;--muted: #94a3b8;--text: #f8fafc;--input: #0f172a;--nav: #070d18;--nav-soft: #111827;--shadow: 0 16px 40px rgba(0, 0, 0, .35);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .24)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select{font:inherit}.app-shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:grid;align-content:space-between;min-height:100vh;padding:22px 16px;background:linear-gradient(180deg,var(--nav),var(--nav-soft));color:#fff}.brand{display:flex;gap:12px;align-items:center;padding:0 8px 28px}.brand-mark,.sidebar-user>span{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:linear-gradient(135deg,var(--amber),#facc15);color:#111827;font-weight:900}.brand small,.sidebar-user small{display:block;color:#cbd5e1;margin-top:2px}.sidebar nav{display:grid;gap:7px}.sidebar button{position:relative;display:flex;align-items:center;gap:10px;width:100%;border:0;border-radius:8px;color:#dbe7e3;background:transparent;padding:11px 12px;text-align:left;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease}.sidebar button:hover{transform:translate(2px);color:#fff;background:#ffffff1a}.sidebar button.active{color:#fff;background:#2563eb59}.sidebar button.active:before{position:absolute;left:0;width:3px;height:22px;border-radius:99px;background:#60a5fa;content:""}.sidebar-footer{display:grid;gap:12px}.theme-toggle{justify-content:center;border:1px solid rgba(255,255,255,.14)!important;background:#ffffff14!important}.sidebar-user{display:grid;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff12}.main-shell{min-width:0;padding:26px}.filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) 44px;gap:12px;align-items:end;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);margin-bottom:22px}.filters label,.import-panel{display:grid;gap:6px}.filters span{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}input,select{width:100%;border:1px solid var(--line);border-radius:8px;background:var(--input);color:var(--text);padding:10px 11px}.icon-button,.import-panel button,.floating-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;color:#fff;background:var(--blue);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.icon-button:hover,.import-panel button:hover,.floating-action:hover{transform:translateY(-1px);box-shadow:var(--shadow-soft)}.icon-button{width:44px}.view-stack{display:grid;gap:22px}.view-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end}h1,h2,p{margin:0}h1{font-size:30px;line-height:1.2}h2{font-size:18px}.view-header p,.dashboard-hero p{color:var(--muted);margin-top:8px}.record-count{color:var(--muted);font-weight:800}.dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#2563eb1f,#10b98114),var(--surface);box-shadow:var(--shadow)}.eyebrow{display:inline-flex;color:var(--blue);font-size:12px;font-weight:900;text-transform:uppercase}.hero-stat{display:grid;gap:4px;justify-items:start;min-width:190px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}.hero-stat svg{color:var(--purple)}.hero-stat span{font-size:28px;font-weight:900}.hero-stat small{color:var(--muted);font-weight:700}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric-card{display:grid;gap:16px;min-height:150px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft);color:var(--text);text-align:left}button.metric-card{cursor:pointer}.metric-card.is-clickable{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.metric-card.is-clickable:hover{transform:translateY(-3px);border-color:#2563eb59;box-shadow:var(--shadow)}.metric-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.metric-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:8px;color:#fff}.accent-blue .metric-icon{background:linear-gradient(135deg,var(--blue),#60a5fa)}.accent-green .metric-icon{background:linear-gradient(135deg,var(--green),#34d399)}.accent-amber .metric-icon{background:linear-gradient(135deg,var(--amber),#fbbf24)}.accent-red .metric-icon{background:linear-gradient(135deg,var(--red),#fb7185)}.accent-purple .metric-icon{background:linear-gradient(135deg,var(--purple),#a78bfa)}.metric-label{color:var(--muted);font-size:13px;font-weight:800}.metric-value{font-size:30px;font-weight:900;margin-top:4px}.trend-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.trend-up{background:#10b98124;color:#047857}.trend-down{background:#ef444424;color:#b91c1c}.trend-neutral{background:#64748b24;color:var(--muted)}.insights-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.insight-card{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.insight-card span{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.insight-card strong{font-size:18px}.insight-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wide-panel{grid-column:1 / -1}.chart-panel,.table-shell,.import-panel,.summary-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-soft)}.section-title{padding:14px 16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--blue) 12%,var(--surface));color:var(--text);font-weight:900}.chart-body{padding:18px;min-height:260px}.leaderboard,.project-progress-list{display:grid;gap:14px}.leaderboard-row{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:center}.rank-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--surface-soft);color:var(--blue);font-weight:900}.leaderboard-content{display:grid;gap:8px}.leaderboard-topline,.project-progress-row{display:flex;justify-content:space-between;gap:14px;align-items:center}.leaderboard-topline span,.project-progress-row b{color:var(--text);font-weight:900}.progress-track,.project-progress-meter{overflow:hidden;height:9px;border-radius:999px;background:var(--surface-soft)}.progress-track span,.project-progress-meter span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green))}.heatmap{display:grid;gap:9px}.heatmap-days,.heatmap-row{display:grid;grid-template-columns:54px repeat(5,minmax(48px,1fr));gap:8px;align-items:center}.heatmap-days b{color:var(--muted);font-size:12px;text-align:center}.heatmap-row strong{color:var(--muted);font-size:12px}.heat-cell{display:grid;place-items:center;min-height:42px;border:1px solid var(--line-soft);border-radius:8px;color:#fff;font-size:12px;font-weight:900}.project-progress-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,2fr) 90px}.project-progress-row div:first-child{display:grid;gap:3px}.project-progress-row span{color:var(--muted);font-size:12px}.floating-action{justify-self:end;padding:0 16px}.table-shell{overflow:auto}table{width:100%;border-collapse:collapse;min-width:860px}th,td{padding:11px 12px;border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;background:#2f6f58;color:#fff;font-size:13px}tbody tr:nth-child(2n){background:var(--surface-soft)}.empty-cell{text-align:center;color:var(--muted);padding:26px}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:800}.status-pill span{width:10px;height:10px;border-radius:50%}.status-pill b{font-size:13px;line-height:1}.status-green{background:#dcfce7;color:#166534}.status-green span{background:var(--green)}.status-amber{background:#fef3c7;color:#92400e}.status-amber span{background:var(--amber)}.status-red{background:#fee2e2;color:#991b1b}.status-red span{background:var(--red)}.import-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.import-panel{padding:18px}.panel-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:#e0f2fe;color:#0369a1}.import-panel button{width:max-content;padding:0 16px}.summary-panel{padding:18px}.summary-panel dl{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0 0}.summary-panel dl div{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--surface-soft)}dt{color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}dd{margin:4px 0 0;font-size:24px;font-weight:900}.import-errors{margin-top:14px;color:#92400e}.alert,.loading{border-radius:8px;padding:14px 16px}.alert.error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.loading{border:1px solid var(--line);background:var(--surface);color:var(--muted)}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{position:sticky;z-index:5;min-height:auto;gap:14px}.sidebar nav{grid-template-columns:repeat(5,minmax(0,1fr))}.sidebar button{justify-content:center}.sidebar-footer{display:none}.brand{padding-bottom:12px}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics-grid,.insights-grid,.dashboard-grid,.import-grid{grid-template-columns:1fr}}@media(max-width:700px){.main-shell{padding:14px}.sidebar button span{display:none}.filters{grid-template-columns:1fr}.view-header,.dashboard-hero{display:grid}.hero-stat{min-width:0}.summary-panel dl,.project-progress-row{grid-template-columns:1fr}.heatmap-days,.heatmap-row{grid-template-columns:42px repeat(5,minmax(38px,1fr))}}
