@import url("https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap");@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--brand-primary:#2563eb;--brand-primary-hover:#1d4ed8;--brand-glow:rgba(37,99,235,0.25);--surface-0:#ffffff;--surface-1:#f8fafc;--surface-2:#f1f5f9;--surface-3:#e2e8f0;--accent-emerald:#10b981;--accent-amber:#f59e0b;--accent-rose:#f43f5e;--accent-violet:#8b5cf6}*{box-sizing:border-box}body{@apply antialiased bg-slate-50 text-gray-900;font-family:Inter,system-ui,sans-serif}h1,h2,h3{font-family:Syne,sans-serif}.font-mono,.tabular-nums{font-family:JetBrains Mono,monospace}}@layer components{.btn-primary{@apply inline-flex items-center justify-center gap-2 rounded-xl bg-brand-600 px-4 py-2.5 text-sm font-semibold text-white shadow-sm transition-all duration-150;@apply hover:bg-brand-700 hover:shadow-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand-600 disabled:opacity-50 disabled:cursor-not-allowed}.btn-secondary{@apply inline-flex items-center justify-center gap-2 rounded-xl bg-white px-4 py-2.5 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-200 transition-all duration-150;@apply hover:bg-gray-50 hover:ring-gray-300 disabled:opacity-50 disabled:cursor-not-allowed}.btn-ghost{@apply inline-flex items-center justify-center gap-2 rounded-xl px-3 py-2 text-sm font-medium text-gray-600 transition-all duration-150;@apply hover:bg-gray-100 hover:text-gray-900 disabled:opacity-50 disabled:cursor-not-allowed}.btn-danger{@apply inline-flex items-center justify-center gap-2 rounded-xl bg-rose-600 px-4 py-2.5 text-sm font-semibold text-white shadow-sm transition-all duration-150;@apply hover:bg-rose-700 disabled:opacity-50 disabled:cursor-not-allowed}.card{@apply bg-white rounded-2xl shadow-sm border border-gray-200/80 p-6}.card-glass{@apply rounded-2xl border border-white/60 p-6;background:rgba(255,255,255,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 3px rgba(0,0,0,.06),0 4px 16px rgba(0,0,0,.04)}.card-metric{@apply rounded-2xl p-5 relative overflow-hidden;background:linear-gradient(135deg,#0f172a,#1e293b);border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 24px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.06)}.form-label{@apply block text-sm font-medium text-gray-700 mb-1.5}.form-input{@apply block w-full rounded-xl border border-gray-200 px-3.5 py-2.5 text-sm shadow-sm transition-all duration-150;@apply focus:border-brand-500 focus:outline-none focus:ring-2 focus:ring-brand-500/20 disabled:bg-gray-50 disabled:text-gray-500;background:rgba(255,255,255,.9)}.form-error{@apply mt-1 text-xs text-rose-600}.form-hint{@apply mt-1 text-xs text-gray-500}.toggle{@apply relative inline-flex h-6 w-11 flex-shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-brand-500 focus:ring-offset-2}.toggle-thumb{@apply pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out}.page-header{@apply pb-6 mb-6 border-b border-gray-200}.page-title{@apply text-2xl font-bold text-gray-900;font-family:Syne,sans-serif;letter-spacing:-.025em}.page-subtitle{@apply mt-1 text-sm text-gray-500}.status-dot{@apply inline-flex h-2 w-2 rounded-full flex-shrink-0}.status-dot-green{@apply status-dot bg-emerald-500;box-shadow:0 0 6px rgba(16,185,129,.5)}.status-dot-amber{@apply status-dot bg-amber-400;box-shadow:0 0 6px rgba(245,158,11,.5)}.status-dot-red{@apply status-dot bg-rose-500;box-shadow:0 0 6px rgba(244,63,94,.5)}.status-dot-gray{@apply status-dot bg-gray-400}.time-block{@apply rounded-lg text-xs font-medium px-1.5 py-1 cursor-pointer select-none transition-all duration-100 border}.time-block-active{@apply bg-brand-100 border-brand-300 text-brand-700;box-shadow:inset 0 0 0 1px theme(colors.brand.400)}.time-block-inactive{@apply bg-gray-100 border-gray-200 text-gray-400}.time-block-active:hover{@apply bg-brand-200}.time-block-inactive:hover{@apply bg-gray-200 text-gray-600}.chart-bar{@apply rounded-t-md transition-all duration-500 ease-out;transform-origin:bottom}.dot-grid-bg{background-image:radial-gradient(circle,rgba(148,163,184,.3) 1px,transparent 0);background-size:20px 20px}.gradient-text{background:linear-gradient(135deg,#2563eb,#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}}@layer utilities{.scrollbar-thin::-webkit-scrollbar{width:4px;height:4px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{@apply bg-gray-300 rounded-full}.scrollbar-thin::-webkit-scrollbar-thumb:hover{@apply bg-gray-400}.text-balance{text-wrap:balance}.num{font-family:JetBrains Mono,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.skeleton{@apply animate-pulse bg-gradient-to-r from-gray-200 via-gray-100 to-gray-200 rounded-xl;background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rise{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.animate-rise{animation:rise .6s cubic-bezier(.34,1.56,.64,1) both}@keyframes fade-up{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-up{animation:fade-up .3s ease both}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}.__variable_f367f3{--font-inter:"Inter","Inter Fallback"}