/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-slate-500:oklch(55.4% .046 257.417);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--shadow-sm:0 1px 4px #04091099, 0 0 8px #0ad6ff0f;--shadow-md:0 4px 16px #040910b3, 0 0 20px #0ad6ff1a;--shadow-lg:0 8px 32px #040910cc, 0 0 40px #0ad6ff29;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#0ad6ff;--color-primary-glow:#4ce1ff;--color-primary-dim:#0f758a;--color-primary-tint:#0ad6ff1f;--color-tertiary:#ffc929;--color-bg-page:#080e16;--color-surface-panel:#0f1824;--color-surface-raised:#151f2e;--color-border:#1f3851;--color-border-glow:#0ad6ff59;--color-text-primary:#e2f1f8;--color-text-secondary:#91b7ca;--color-text-muted:#58809d;--color-success:#26d971;--color-success-tint:#26d97124;--color-warning-tint:#ffc92924;--color-error:#ef4839;--color-error-tint:#ef483924;--color-info:#55a6f6;--color-info-tint:#55a6f624;--color-sidebar-bg:#0c131d;--color-sidebar-text:#81a3bb;--color-sidebar-active:#0ad6ff26;--color-sidebar-active-text:#66e6ff;--font-heading:"Orbitron", monospace;--font-body:"Noto Sans SC", sans-serif;--text-body:400 14px/1.6 var(--font-body);--shadow-glow:0 0 12px #0ad6ff80, 0 0 28px #0ad6ff40}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*,:before,:after{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font:var(--text-body);color:var(--color-text-primary);background:var(--color-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:.04em;font-weight:700}h1{font-size:28px}h2{font-size:20px}h3{font-size:15px}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--color-primary-glow)}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dim)}}@layer components{.screen-root{background:linear-gradient(#080e16,#070b13),repeating-linear-gradient(0deg,#0000,#0000 39px,#4080bf08 39px,#4080bf08 40px),repeating-linear-gradient(90deg,#0000,#0000 39px,#4080bf08 39px,#4080bf08 40px);width:100vw;height:100vh;position:relative;overflow:hidden}.cockpit-main{flex-direction:column;height:100vh;display:flex;overflow:hidden}.cockpit-header{height:var(--height-navbar);border-bottom:1px solid var(--color-border-glow);z-index:10;background:linear-gradient(90deg,#0b131ef2,#09101bcc);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:relative;box-shadow:0 2px 20px #0ad6ff14}.cockpit-header:after{content:"";background:linear-gradient(90deg,transparent 0%,var(--color-primary) 30%,var(--color-primary-glow) 50%,var(--color-primary) 70%,transparent 100%);opacity:.6;height:1px;position:absolute;bottom:0;left:0;right:0}.cockpit-title{font-family:var(--font-heading);color:var(--color-primary-glow);letter-spacing:.08em;text-shadow:0 0 12px #4ce1ff99;white-space:nowrap;font-size:18px;font-weight:700}.cockpit-header-left{align-items:center;gap:16px;display:flex}.cockpit-back-btn{font-size:12px;font-family:var(--font-body);color:var(--color-text-secondary);border:1px solid var(--color-border);transition:all var(--transition-fast);border-radius:4px;align-items:center;gap:4px;padding:4px 10px;display:flex}.cockpit-back-btn:hover{color:var(--color-primary);border-color:var(--color-primary-dim);background:var(--color-primary-tint)}.cockpit-marquee-wrap{flex:1;margin:0 32px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000,#000 8%,#000 92%,#0000)}.cockpit-marquee{white-space:nowrap;color:var(--color-text-secondary);gap:60px;font-size:12px;animation:30s linear infinite marquee-scroll;display:flex}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.cockpit-clock{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.06em;white-space:nowrap;font-size:14px}.panel{background:var(--color-surface-panel);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:4px;position:relative;overflow:hidden}.panel:before{content:"";background:linear-gradient(90deg,transparent,var(--color-primary),transparent);opacity:.5;height:2px;position:absolute;top:0;left:0;right:0}.panel-header{border-bottom:1px solid #1f385199;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.panel-title{font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.panel-body{padding:12px}.kpi-card{border:1px solid var(--color-border-glow);box-shadow:var(--shadow-md),inset 0 1px #99eeff0d;transition:transform var(--transition-fast),box-shadow var(--transition-fast);background:linear-gradient(135deg,#121c2b,#0f1824);border-radius:6px;padding:14px 16px;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:var(--shadow-lg),var(--shadow-glow);transform:translateY(-2px)}.kpi-card:after{content:"";pointer-events:none;background:radial-gradient(at 50% 0,#0ad6ff14,#0000 70%);position:absolute;top:0;right:0;bottom:0;left:0}.kpi-label{color:var(--color-text-secondary);letter-spacing:.04em;margin-bottom:6px;font-size:11px}.kpi-value{font-family:var(--font-heading);color:var(--color-primary-glow);text-shadow:0 0 16px #4ce1ffb3;letter-spacing:.02em;font-size:32px;font-weight:700;line-height:1}.kpi-value.amber{color:var(--color-tertiary);text-shadow:0 0 16px #ffc929b3}.kpi-unit{color:var(--color-text-secondary);font-size:13px;font-family:var(--font-body);margin-left:4px;font-weight:300}.kpi-trend{color:var(--color-success);align-items:center;gap:3px;margin-top:4px;font-size:11px;display:flex}.kpi-trend.down{color:var(--color-error)}.stat-card{background:linear-gradient(135deg,var(--color-surface-raised) 0%,var(--color-surface-panel) 100%);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:4px;padding:12px 14px}.surface-raised{background:var(--color-surface-raised);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:4px}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{box-shadow:var(--shadow-lg),0 0 16px #0ad6ff1f;transform:translateY(-2px)}.filter-bar{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.filter-tab{white-space:nowrap;font-size:12px;font-family:var(--font-body);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:20px;flex-shrink:0;padding:4px 14px}.filter-tab:hover{color:var(--color-primary);border-color:var(--color-primary-dim);background:var(--color-primary-tint)}.filter-tab.active{color:var(--color-primary-glow);border-color:var(--color-primary);background:var(--color-primary-tint);box-shadow:0 0 8px #0ad6ff40}.badge-success{background:var(--color-success-tint);color:var(--color-success);border:1px solid #26d9714d;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-warning{background:var(--color-warning-tint);color:var(--color-tertiary);border:1px solid #ffc9294d;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-error{background:var(--color-error-tint);color:var(--color-error);border:1px solid #ef48394d;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-info{background:var(--color-info-tint);color:var(--color-info);border:1px solid #55a6f64d;border-radius:10px;align-items:center;padding:2px 8px;font-size:11px;font-weight:500;display:inline-flex}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table thead tr{border-bottom:1px solid var(--color-border);background:#141f2e}.data-table thead th{text-align:left;font-family:var(--font-heading);color:var(--color-primary);letter-spacing:.06em;text-transform:uppercase;padding:8px 10px;font-size:10px;font-weight:600}.data-table tbody tr{transition:background var(--transition-fast);border-bottom:1px solid #1f385166}.data-table tbody tr:hover{background:#0ad6ff0d}.data-table tbody td{color:var(--color-text-secondary);vertical-align:middle;padding:7px 10px}.form-input{background:var(--color-surface-raised);border:1px solid var(--color-border);font-size:13px;font-family:var(--font-body);color:var(--color-text-primary);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);border-radius:4px;outline:none;width:100%;padding:6px 10px}.form-input:focus{border-color:var(--color-primary-dim);box-shadow:0 0 0 2px #0ad6ff26}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface-raised) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2300b8d4'/%3E%3C/svg%3E") no-repeat right 10px center;border:1px solid var(--color-border);font-size:13px;font-family:var(--font-body);color:var(--color-text-primary);cursor:pointer;transition:border-color var(--transition-fast);border-radius:4px;outline:none;width:100%;padding:6px 28px 6px 10px}.form-select:focus{border-color:var(--color-primary-dim);box-shadow:0 0 0 2px #0ad6ff26}.skeleton-line{background:linear-gradient(90deg,#152132 25%,#203046,#152132 75%) 0 0/200% 100%;border-radius:3px;height:14px;animation:1.6s infinite shimmer}.skeleton-circle{background:linear-gradient(90deg,#152132 25%,#203046,#152132 75%) 0 0/200% 100%;border-radius:50%;animation:1.6s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-bar{background:var(--color-border);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--color-primary-dim),var(--color-primary));height:100%;transition:width var(--transition-slow);border-radius:2px;box-shadow:0 0 6px #0ad6ff80}.progress-fill.warning{background:linear-gradient(90deg,#e68600,var(--color-tertiary))}.progress-fill.error{background:linear-gradient(90deg,#c32222,var(--color-error))}.divider-glow{background:linear-gradient(90deg,transparent,var(--color-primary-dim),transparent);opacity:.4;height:1px;margin:8px 0}.alert-warning{background:var(--color-warning-tint);border-left:3px solid var(--color-tertiary);color:var(--color-tertiary);border-radius:0 3px 3px 0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.alert-error{background:var(--color-error-tint);border-left:3px solid var(--color-error);color:var(--color-error);border-radius:0 3px 3px 0;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:flex}.rank-row{transition:background var(--transition-fast);border-bottom:1px solid #1f385159;align-items:center;gap:8px;padding:5px 0;font-size:12px;display:flex}.rank-row:hover{background:var(--color-primary-tint)}.rank-index{background:var(--color-border);width:18px;height:18px;font-family:var(--font-heading);color:var(--color-text-muted);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;display:flex}.rank-index.top{background:var(--color-primary-dim);color:var(--color-primary-glow)}.rank-label{color:var(--color-text-secondary);flex:1}.rank-value{color:var(--color-primary);font-family:var(--font-heading);font-size:11px}}@layer utilities{.flex{display:flex}.grid{display:grid}.h-3{height:calc(var(--spacing) * 3)}.min-h-screen{min-height:100vh}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.items-center{align-items:center}.justify-center{justify-content:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-slate-500{color:var(--color-slate-500)}}:root{--width-sidebar:80px;--height-navbar:56px;--card-gap:12px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1)}*{border-color:var(--color-border)}button:not(:disabled),[role=button]:not(:disabled){cursor:pointer}
