@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--page:248 249 250;--surface:255 255 255;--surface-2:243 244 246;--surface-3:249 250 251;--border:229 231 235;--border-2:209 213 219;--foreground:17 24 39;--foreground-2:107 114 128;--foreground-3:156 163 175;--foreground-4:209 213 219;--primary:79 70 229;--primary-light:238 242 255;--primary-mid:199 210 254;--primary-foreground:255 255 255;--sidebar-bg:255 255 255;--sidebar-active:238 242 255;--sidebar-text:55 65 81;--go:5 150 105;--go-light:209 250 229;--caution:217 119 6;--caution-light:254 243 199;--no-go:220 38 38;--no-go-light:254 226 226;--font-sans:"DM Sans","Inter",system-ui,sans-serif;--font-mono:"DM Mono","Fira Code",monospace;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-card:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 8px 24px rgba(0,0,0,.1),0 4px 8px rgba(0,0,0,.06);--sidebar-width:220px;--header-height:56px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background-color:rgb(var(--page));color:rgb(var(--foreground));font-size:14px;line-height:1.6}.tabular-nums{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}}@layer base{::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgb(var(--border-2));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgb(var(--foreground-3))}:focus-visible{outline:2px solid rgb(var(--primary));outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:rgb(var(--primary-light));color:rgb(var(--primary))}}@layer components{.card{border:1px solid rgb(var(--border));border-radius:var(--radius-lg);padding:24px}.card,.card-sm{background:rgb(var(--surface));box-shadow:var(--shadow-card)}.card-sm{border:1px solid rgb(var(--border));border-radius:var(--radius-md);padding:16px}.label-xs{font-size:10px;letter-spacing:.08em}.label-sm,.label-xs{font-weight:600;text-transform:uppercase;color:rgb(var(--foreground-3))}.label-sm{font-size:11px;letter-spacing:.06em}.badge-go{border-radius:var(--radius-full);background:rgb(var(--go-light));color:rgb(var(--go));border:1px solid rgba(5,150,105,.2)}.badge-caution,.badge-go{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:700;letter-spacing:.04em}.badge-caution{border-radius:var(--radius-full);background:rgb(var(--caution-light));color:rgb(var(--caution));border:1px solid rgba(217,119,6,.2)}.badge-nogo{gap:5px;padding:3px 10px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.04em;background:rgb(var(--no-go-light));color:rgb(var(--no-go));border:1px solid rgba(220,38,38,.2)}.badge-nogo,.btn-primary{display:inline-flex;align-items:center}.btn-primary{justify-content:center;gap:8px;padding:9px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;font-family:var(--font-sans);cursor:pointer;border:none;transition:all .15s;background:rgb(var(--primary));color:rgb(var(--primary-foreground));letter-spacing:-.1px}.btn-primary:hover{background:#4338ca}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all .15s;background:rgb(var(--surface));color:rgb(var(--foreground));border:1px solid rgb(var(--border-2))}.btn-secondary:hover{background:rgb(var(--surface-2));border-color:rgb(var(--foreground-3))}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border:none;transition:all .15s;background:transparent;color:rgb(var(--foreground-2))}.btn-ghost:hover{background:rgb(var(--surface-2));color:rgb(var(--foreground))}.input-base{width:100%;padding:9px 13px;border-radius:var(--radius-md);font-size:14px;font-family:var(--font-sans);transition:all .15s;background:rgb(var(--surface));border:1px solid rgb(var(--border-2));color:rgb(var(--foreground));box-sizing:border-box}.input-base::placeholder{color:rgb(var(--foreground-3))}.input-base:focus{outline:none;border-color:rgb(var(--primary));box-shadow:0 0 0 3px rgba(79,70,229,.08)}.metric-card{background:rgb(var(--surface));border:1px solid rgb(var(--border));border-radius:var(--radius-lg);padding:20px 24px;box-shadow:var(--shadow-card)}.metric-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:rgb(var(--foreground-3));margin-bottom:6px}.metric-value{font-size:24px;font-weight:700;color:rgb(var(--foreground));font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1.1}.metric-sub{font-size:12px;color:rgb(var(--foreground-3));margin-top:4px}.tab-nav{display:flex;gap:0;border-bottom:1px solid rgb(var(--border));margin-bottom:24px}.tab-btn{padding:10px 16px;font-size:13px;font-weight:500;cursor:pointer;background:none;color:rgb(var(--foreground-2));border:none;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-sans);transition:all .15s}.tab-btn:hover{color:rgb(var(--foreground))}.tab-btn.active{color:rgb(var(--primary));border-bottom-color:rgb(var(--primary));font-weight:600}}@layer utilities{.text-foreground{color:rgb(var(--foreground))}.text-foreground-2{color:rgb(var(--foreground-2))}.text-foreground-3{color:rgb(var(--foreground-3))}.bg-page{background-color:rgb(var(--page))}.bg-surface{background-color:rgb(var(--surface))}.bg-surface-2{background-color:rgb(var(--surface-2))}.border-border{border-color:rgb(var(--border))}.border-border-2{border-color:rgb(var(--border-2))}.text-primary{color:rgb(var(--primary))}.bg-primary{background-color:rgb(var(--primary))}.bg-primary-light{background-color:rgb(var(--primary-light))}.animate-fade-in{animation:fadeIn .25s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.shimmer{background:linear-gradient(90deg,rgb(var(--surface-2)) 25%,rgb(var(--border)) 50%,rgb(var(--surface-2)) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}