@import "https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..700;1,9..144,300..700&family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500;700&display=swap";:root{--primary:#118df0;--primary-fg:#fff;--accent-mint:#42ffca;--accent-lime:#e5f33c;--on-accent:#101111;--shell:#f7f7f8;--canvas:#fff;--surface-card:#f7f7f8;--surface-raised:#eeeef0;--section-deep:#f0f0f2;--ink:#151515;--muted:#6b6b72;--steel:#455a6f;--hairline:#e6e6e6;--hairline-strong:#d0d0d4;--success:#1fbf8f;--warning:#e5b53c;--destructive:#f0533b;--r-none:0px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-pill:9999px;--sp-xs:4px;--sp-sm:8px;--sp-md:12px;--sp-base:16px;--sp-lg:24px;--sp-xl:32px;--sp-xxl:48px;--shadow-ring:0 0 0 1px #d0d0d4;--shadow-sm:0 1px 3px #00000014, 0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000001a, 0 2px 4px #0000000f;--shadow-lg:0 10px 24px #0000001f, 0 4px 8px #0000000f;--sidebar-width:220px;--bg-base:var(--canvas);--bg-card:var(--surface-card);--bg-sidebar:var(--surface-card);--bg-hover:var(--surface-raised);--bg-input:var(--surface-raised);--border:var(--hairline);--border-focus:var(--primary);--text-primary:var(--ink);--text-secondary:var(--muted);--text-muted:var(--steel);--text-micro:#94a3b8;--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-500:var(--primary);--blue-600:var(--primary);--blue-700:#0d73c7;--accent-green:var(--success);--accent-yellow:var(--warning);--accent-red:var(--destructive);--shadow-xs:0 1px 2px #0000000d;--sidebar-active-bg:#eff6ff;--sidebar-active-text:var(--primary);--sidebar-active-border:var(--primary);--sidebar-inactive-text:var(--muted);--grad-blue:linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);--grad-green:linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);--grad-amber:linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);--grad-purple:linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:16px}body{background:var(--canvas);color:var(--ink);min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:var(--surface-raised)}::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:#c8c8ce}::-webkit-scrollbar-thumb:hover{background:var(--steel)}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.type-score{letter-spacing:.5px;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:clamp(40px,8vw,60px);font-weight:400;line-height:.9}.type-display{letter-spacing:.5px;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:40px;font-weight:300;line-height:1.05}.type-heading{letter-spacing:.5px;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:32px;font-weight:400;line-height:1.05}.type-statement{letter-spacing:-.02em;font-family:Inter,system-ui,sans-serif;font-size:24px;font-weight:300;line-height:1.2}.type-card-title{font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:600;line-height:1.2}.type-body{font-family:Inter,system-ui,sans-serif;font-size:16px;font-weight:400;line-height:1.5}.type-label{font-family:Inter,system-ui,sans-serif;font-size:13px;font-weight:500;line-height:1.3}.type-overline{letter-spacing:.1em;text-transform:uppercase;font-family:Inter,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:1.3}.type-caption{font-family:Inter,system-ui,sans-serif;font-size:11.5px;font-weight:400;line-height:1.4}.type-mono{font-variant-numeric:tabular-nums;font-family:Fira Code,ui-monospace,SF Mono,monospace;font-size:14px;font-weight:700;line-height:1}.card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-xl);box-shadow:var(--shadow-ring);transition:box-shadow .2s,transform .2s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-sm{border-radius:var(--r-md)}.card-lg{border-radius:var(--r-xl)}.card-md{box-shadow:var(--shadow-md)}.kpi-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--r-xl);box-shadow:var(--shadow-ring);padding:20px 24px;transition:box-shadow .2s,transform .2s;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.kpi-card.blue{background:var(--grad-blue);border-color:color-mix(in srgb,var(--primary) 30%,transparent)}.kpi-card.green{background:var(--grad-green);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.kpi-card.amber{background:var(--grad-amber);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.kpi-card.purple{background:var(--grad-purple);border-color:#8b5cf64d}.kpi-label{text-transform:uppercase;letter-spacing:.08em;color:var(--steel);margin-bottom:8px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.kpi-value{color:var(--ink);letter-spacing:.5px;font-family:Fraunces,Georgia,serif;font-size:36px;font-weight:400;line-height:1}.kpi-sub{color:var(--muted);margin-top:6px;font-size:12px}.badge{border-radius:var(--r-pill);white-space:nowrap;align-items:center;gap:5px;padding:2px 10px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.badge-success{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 30%,transparent)}.badge-warning{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.badge-error{background:color-mix(in srgb,var(--destructive) 18%,transparent);color:var(--destructive);border:1px solid color-mix(in srgb,var(--destructive) 30%,transparent)}.badge-info{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.badge-neutral{background:var(--surface-raised);color:var(--muted);border:1px solid var(--hairline)}.badge-purple{color:#a78bfa;background:#8b5cf62e;border:1px solid #8b5cf64d}.badge-orange{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.badge-mint{background:color-mix(in srgb,var(--accent-mint) 18%,transparent);color:var(--accent-mint);border:1px solid color-mix(in srgb,var(--accent-mint) 30%,transparent)}.data-table{border-collapse:collapse;width:100%}.data-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--steel);text-align:left;border-bottom:1px solid var(--hairline);background:var(--surface-card);white-space:nowrap;padding:10px 16px;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--hairline);color:var(--ink);vertical-align:middle;padding:11px 16px;font-size:13.5px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--surface-raised);transition:background .12s}.search-input{background:var(--surface-raised);border:none;border-bottom:1px solid var(--hairline-strong);border-radius:var(--r-none);width:100%;color:var(--ink);outline:none;padding:9px 14px 9px 38px;font-family:Inter,sans-serif;font-size:14px;transition:border-color .15s}.search-input:focus{border-bottom-color:var(--accent-mint)}.search-input::placeholder{color:var(--muted)}.pill{border-radius:var(--r-pill);cursor:pointer;border:1px solid var(--hairline-strong);color:var(--muted);-webkit-user-select:none;user-select:none;background:0 0;align-items:center;gap:6px;padding:6px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.pill:hover{border-color:var(--primary);color:var(--primary)}.pill.active{background:var(--primary);border-color:var(--primary);color:var(--primary-fg)}.btn{border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:7px;height:42px;padding:0 20px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;line-height:1;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);color:var(--primary-fg)}.btn-primary:hover:not(:disabled){background:#0d73c7}.btn-accent{background:var(--accent-mint);color:var(--on-accent)}.btn-accent:hover:not(:disabled){background:#30d9a8}.btn-secondary{background:var(--surface-raised);color:var(--ink)}.btn-secondary:hover:not(:disabled){background:#2d2d30}.btn-outline{border-color:var(--hairline-strong);color:var(--ink);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-outline-blue{border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary);background:0 0}.btn-outline-blue:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 10%,transparent)}.btn-ghost{color:var(--muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--ink)}.btn-danger{background:color-mix(in srgb,var(--destructive) 18%,transparent);border-color:color-mix(in srgb,var(--destructive) 40%,transparent);color:var(--destructive)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--destructive) 28%,transparent)}.btn-destructive{background:var(--destructive);color:var(--primary-fg)}.btn-destructive:hover:not(:disabled){background:#d4402c}.btn-sm{height:32px;padding:0 14px;font-size:12.5px}.btn-lg{height:48px;padding:0 28px;font-size:15px}.progress-track{border-radius:var(--r-pill);background:var(--surface-raised);height:4px;overflow:hidden}.progress-fill{border-radius:var(--r-pill);background:var(--primary);height:100%;transition:width .3s}.progress-fill.green{background:var(--success)}.progress-fill.yellow{background:var(--warning)}.progress-fill.red{background:var(--destructive)}.progress-fill.mint{background:var(--accent-mint)}.avatar{background:linear-gradient(135deg, var(--primary), #0d73c7);color:var(--primary-fg);-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.avatar-sm{width:28px;height:28px;font-size:11px}.avatar-md{width:36px;height:36px;font-size:13px}.avatar-lg{width:48px;height:48px;font-size:17px}.avatar-xl{width:60px;height:60px;font-size:22px}.page-layout{background:var(--canvas);min-height:100vh;display:flex}.page-sidebar{width:var(--sidebar-width);background:var(--surface-card);border-right:1px solid var(--hairline);z-index:100;flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:fixed;top:0;left:0}.page-content{margin-left:var(--sidebar-width);background:var(--canvas);flex:1;min-height:100vh;padding:28px 32px}.page-header{margin-bottom:24px}.page-title{color:var(--ink);letter-spacing:.3px;font-family:Fraunces,Georgia,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1.05}.page-subtitle{color:var(--muted);margin-top:4px;font-family:Inter,sans-serif;font-size:13px}.sidebar-nav-item{border-radius:var(--r-pill);color:var(--muted);cursor:pointer;align-items:center;gap:10px;margin:2px 8px;padding:9px 14px;font-family:Inter,sans-serif;font-size:13.5px;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.sidebar-nav-item:hover{background:var(--surface-raised);color:var(--ink)}.sidebar-nav-item.active{background:color-mix(in srgb, var(--primary) 14%, transparent);color:var(--primary);font-weight:600}.sidebar-separator{background:var(--hairline);height:1px;margin:8px 16px}.section-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-title{letter-spacing:.1em;text-transform:uppercase;color:var(--steel);align-items:center;gap:6px;font-family:Inter,sans-serif;font-size:12px;font-weight:500;display:flex}.section-subtitle{color:var(--muted);margin-top:2px;font-size:12px}.empty-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state-icon{opacity:.3}.empty-state-text{font-size:14px}.tabs{background:var(--surface-raised);border-radius:var(--r-pill);gap:2px;width:fit-content;margin-bottom:24px;padding:3px;display:flex}.tab-item{color:var(--muted);cursor:pointer;border-radius:var(--r-pill);white-space:nowrap;background:0 0;border:none;padding:7px 16px;font-family:Inter,sans-serif;font-size:13px;font-weight:500;transition:all .15s}.tab-item:hover{color:var(--ink)}.tab-item.active{background:var(--surface-card);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:600}.tooltip-wrap{position:relative}.tooltip-wrap:hover .tooltip-text{opacity:1;pointer-events:auto}.tooltip-text{background:var(--surface-raised);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--r-md);white-space:nowrap;opacity:0;pointer-events:none;z-index:999;box-shadow:var(--shadow-md);padding:6px 12px;font-size:12px;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.2s both fadeIn}.animate-slide-in{animation:.2s both slideIn}.animate-slide-right{animation:.25s both slideInRight}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sticky-glass{background:color-mix(in srgb, var(--surface-card) 92%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid var(--hairline);border-radius:14px;padding:11px 16px;position:sticky;top:8px}body.presentation-mode aside{display:none!important}body.presentation-mode main{width:100vw!important;max-width:100vw!important;margin-left:0!important}body.presentation-mode{overflow:hidden}
