:root{--color-primary:#405f91;--color-primary-dim:#335384;--color-primary-container:#d6e3ff;--color-primary-fixed:#d6e3ff;--color-primary-fixed-dim:#c0d5ff;--color-on-primary:#f7f7ff;--color-on-primary-container:#325284;--color-on-primary-fixed:#1d3f70;--color-on-primary-fixed-variant:#3d5c8e;--color-inverse-primary:#a6c5fe;--color-secondary:#526074;--color-secondary-dim:#465468;--color-secondary-container:#d5e3fc;--color-secondary-fixed:#d5e3fc;--color-secondary-fixed-dim:#c7d5ed;--color-on-secondary:#f8f8ff;--color-on-secondary-container:#455367;--color-on-secondary-fixed:#324053;--color-on-secondary-fixed-variant:#4e5c71;--color-tertiary:#5d5c78;--color-tertiary-dim:#51506c;--color-tertiary-container:#dcd9fa;--color-tertiary-fixed:#dcd9fa;--color-tertiary-fixed-dim:#ceccec;--color-on-tertiary:#fbf7ff;--color-on-tertiary-container:#4d4c67;--color-on-tertiary-fixed:#3a3953;--color-on-tertiary-fixed-variant:#565571;--color-error:#9f403d;--color-error-dim:#4e0309;--color-error-container:#fe8983;--color-on-error:#fff7f6;--color-on-error-container:#752121;--color-surface:#f6fafe;--color-surface-bright:#f6fafe;--color-surface-dim:#cadde9;--color-surface-container-lowest:#fff;--color-surface-container-low:#eef4fa;--color-surface-container:#e5eff7;--color-surface-container-high:#ddeaf3;--color-surface-container-highest:#d5e5ef;--color-surface-variant:#d5e5ef;--color-surface-tint:#405f91;--color-background:#f6fafe;--color-on-surface:#26343d;--color-on-surface-variant:#52616a;--color-on-background:#26343d;--color-inverse-surface:#0a0f12;--color-inverse-on-surface:#999da1;--color-outline:#6e7d86;--color-outline-variant:#a4b4be;--font-headline:"Manrope", sans-serif;--font-body:"Inter", sans-serif;--font-label:"Inter", sans-serif;--text-display-lg:3.5rem;--text-display-md:2.75rem;--text-headline-lg:2rem;--text-headline-md:1.75rem;--text-headline-sm:1.5rem;--text-title-lg:1.25rem;--text-title-md:1rem;--text-body-lg:1rem;--text-body-md:.875rem;--text-body-sm:.75rem;--text-label-lg:.875rem;--text-label-md:.75rem;--text-label-sm:.6875rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-full:9999px;--shadow-sm:0 4px 20px #26343d05;--shadow-md:0 8px 32px #26343d0f;--shadow-lg:0 16px 48px #26343d14;--shadow-primary:0 4px 16px #405f9133;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:16rem;--header-height:4rem;--mobile-nav-height:5rem}@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/manrope-latin.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2")}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:100 700;font-display:block;src:url(/fonts/material-symbols.woff2)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);color:var(--color-on-surface);background-color:var(--color-surface);width:100%;max-width:100vw;min-height:100dvh;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-headline);color:var(--color-on-surface);line-height:1.2}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;text-transform:none;letter-spacing:normal;word-wrap:normal;white-space:nowrap;vertical-align:middle;direction:ltr;line-height:1;display:inline-block}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}::selection{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-outline-variant);border-radius:var(--radius-full)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-dim)}input,select,textarea{font-family:var(--font-body);font-size:var(--text-body-md);color:var(--color-on-surface);background-color:var(--color-surface-container-highest);border-radius:var(--radius-xl);border:none;padding:.75rem 1rem;transition:all .2s}input:focus,select:focus,textarea:focus{background-color:var(--color-surface-container-lowest);outline:none;box-shadow:0 0 0 2px #405f9133}input::placeholder,textarea::placeholder{color:var(--color-outline)}button{font-family:var(--font-body);cursor:pointer;border:none;transition:all .2s}button:active{transform:scale(.98)}@keyframes spin{to{transform:rotate(360deg)}}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#fffc}.card{background-color:var(--color-surface-container-lowest);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid #6e7d861a;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dim));color:var(--color-on-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-primary);padding:.75rem 1.5rem;font-weight:700;transition:all .2s}.btn-primary:hover{box-shadow:0 6px 24px #405f914d}.btn-ghost{color:var(--color-primary);border-radius:var(--radius-md);background:0 0;border:1px solid #405f9133;padding:.5rem 1rem;font-weight:700}.btn-ghost:hover{background:#405f910d}.chip{border-radius:var(--radius-full);font-size:var(--text-label-sm);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.375rem;padding:.25rem .75rem;font-weight:700;display:inline-flex}.chip-primary{background-color:var(--color-primary-container);color:var(--color-on-primary-container)}.chip-secondary{background-color:var(--color-secondary-container);color:var(--color-on-secondary-container)}.chip-tertiary{background-color:var(--color-tertiary-container);color:var(--color-on-tertiary-container)}.chip-error{background-color:var(--color-error-container);color:var(--color-on-error-container)}.chip-neutral{background-color:var(--color-surface-container-high);color:var(--color-on-surface-variant)}.well{background-color:var(--color-surface-container-low);border-radius:var(--radius-xl);padding:var(--space-6)}.breadcrumb{align-items:center;gap:var(--space-2);font-family:var(--font-label);font-size:var(--text-label-md);color:var(--color-on-surface-variant);display:flex}.breadcrumb-separator{color:var(--color-secondary);opacity:.3}.breadcrumb-active{color:var(--color-primary);font-weight:700}.section-gap{margin-top:var(--space-8)}.section-gap-lg{margin-top:var(--space-12)}.sidebar{width:var(--sidebar-width);z-index:40;background-color:#f8fafc;flex-direction:column;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-nav-item{color:#64748b;font-size:var(--text-body-md);border-radius:0 .5rem .5rem 0;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar-nav-item:hover{color:#1e3a5f;background-color:#94a3b826}.sidebar-nav-item.active{color:#1e3a5f;background-color:#bfdbfe4d;border-right:4px solid #1e40af;font-weight:600}@media (width<=1023px){.sidebar{display:none}.main-content{padding-bottom:var(--mobile-nav-height);margin-left:0!important}}.heatmap-cell{border-radius:var(--radius-lg);cursor:help;text-align:center;vertical-align:middle;transition:all .2s;position:relative}.heatmap-cell:hover{box-shadow:0 0 0 2px #405f914d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:.3s ease-out fadeInUp}@keyframes pulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.animate-pulse-soft{animation:2s ease-in-out infinite pulse}
