.toast{position:fixed;z-index:500;top:24px;right:24px;display:flex;align-items:flex-start;gap:12px;width:min(384px,calc(100vw - 32px));padding:16px;color:#edf2f7;background:#1b293e;border:1px solid #f080804d;border-left:3px solid #f08080;border-radius:8px;box-shadow:0 12px 36px #03081266;animation:toast-enter .2s ease-out}.toast-icon{flex-shrink:0;width:22px;height:22px;margin-top:1px;color:#ff9c9c}.toast p{flex:1;min-width:0;margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.toast-close{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;margin:-3px -5px -3px 0;padding:5px;border:0;border-radius:5px;color:#a7b3c4;background:transparent;cursor:pointer}.toast-close svg{width:20px;height:20px}.toast-close:hover{color:#edf2f7;background:#ffffff0d}.toast-close:focus-visible{outline:2px solid #91c4ff;outline-offset:2px}@keyframes toast-enter{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@media(max-width:640px){.toast{top:16px;right:16px}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.auth-page{display:grid;grid-template-columns:1.05fr 1fr;min-height:100dvh;color:#edf2f7;background:#101d32}.auth-intro{position:relative;display:flex;flex-direction:column;padding:48px clamp(32px,6vw,104px);border-right:1px solid #94a3d21a;background:radial-gradient(ellipse at 20% 25%,#3b82f614,transparent 65%),linear-gradient(#94a3d206 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,#94a3d206 1px,transparent 1px) 0 0/40px 40px,#0f1a2e}.auth-brand{display:inline-flex;align-items:center;gap:14px;width:fit-content;text-decoration:none;color:inherit;font-size:20px;font-weight:650}.auth-brand img{width:42px;height:42px}.auth-brand>span{display:flex;flex-direction:column;line-height:1.4}.auth-brand>span>span{color:#a7b3c4;font-size:11px;font-weight:400;letter-spacing:.25em}.auth-intro-copy{margin:auto 0;padding:100px 0}.auth-eyebrow{display:flex;align-items:center;gap:10px;color:#8db2e8;font:12px/1.5 Consolas,monospace;letter-spacing:.2em}.auth-eyebrow i{width:6px;height:6px;border-radius:50%;background:#5a9cff}.auth-intro h1{font-size:clamp(32px,3.6vw,56px);font-weight:550;line-height:1.5;letter-spacing:.035em;margin:24px 0}.auth-intro-copy>p{color:#a7b3c4;font-size:16px;line-height:1.9}.auth-capabilities{display:flex;flex-wrap:wrap;gap:0;margin-top:44px;color:#a7b3c4;font-size:13px}.auth-capabilities span+span{border-left:1px solid #43516a;margin-left:18px;padding-left:18px}.auth-intro-foot{color:#8b9bb2;font-size:12px;letter-spacing:.06em;margin:0}.auth-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 40px 32px;position:relative}.auth-form-wrap{width:min(100%,384px);margin:auto 0;padding:36px 0}.auth-welcome{color:#8db2e8;font-size:13px;margin:0 0 10px}.auth-form-wrap h2{font-size:28px;font-weight:600;margin:0 0 12px;letter-spacing:.025em}.auth-description{color:#a7b3c4;font-size:14px;line-height:1.8;margin:0 0 34px}.auth-environment{min-width:0;margin:0 0 21px;padding:0;border:0}.auth-environment legend{padding:0;margin-bottom:9px;color:#d2dceb;font-size:14px}.auth-environment-options{display:flex;gap:4px;padding:4px;border:1px solid #3b4b63;border-radius:8px;background:#0f1a2e}.auth-environment-options label{position:relative;flex:1;min-width:0;cursor:pointer}.auth-environment-options input{position:absolute;opacity:0;width:1px;height:1px}.auth-environment-options span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px;border:1px solid transparent;border-radius:5px;color:#a7b3c4;font-size:13px}.auth-environment-options input:checked+span{color:#c5ddff;border-color:#4c75a7;background:#203552}.auth-environment-options input:focus-visible+span{outline:2px solid #91c4ff;outline-offset:2px}.auth-environment:disabled label{cursor:default}.auth-environment:disabled .auth-environment-options{opacity:.65}.auth-environment-note{margin:10px 0 0;color:#f4d391;font-size:12px;line-height:1.6}.auth-form-wrap>.auth-environment-note{margin:-20px 0 21px}.auth-field{display:flex;flex-direction:column;gap:9px;margin-bottom:21px;font-size:14px;color:#d2dceb}.auth-field input{width:100%;height:46px;border-radius:7px;border:1px solid #3b4b63;background:#142238;padding:0 14px;font:inherit;color:#edf2f7;transition:border-color .15s}.auth-field input::placeholder{color:#8190a7}.auth-field input:focus{border-color:#6ea8f9;outline:2px solid #3b82f62b}.auth-password{position:relative}.auth-password input{padding-right:48px}.auth-password button{position:absolute;right:3px;top:3px;display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:#a7b3c4;border-radius:4px;cursor:pointer}.auth-password svg{width:20px;height:20px}.auth-remember{display:flex;align-items:center;gap:8px;color:#a7b3c4;font-size:13px;cursor:pointer;margin:2px 0 25px;width:fit-content}.auth-remember input{width:16px;height:16px;accent-color:#3b82f6;margin:0}.auth-submit{width:100%;min-height:46px;padding:10px 18px;border:1px solid #4b91ec;border-radius:7px;background:#3278d4;color:#fff;font:inherit;font-weight:550;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.auth-submit:hover:not(:disabled){background:#3d86e1}.auth-submit:disabled{opacity:.6;cursor:wait}.auth-submit span{font-size:22px;font-weight:400}.auth-switch{display:block;padding:10px 0;margin-top:15px;color:#9bbce5;border:0;background:transparent;font:inherit;font-size:13px;cursor:pointer}.auth-page :focus-visible{outline:2px solid #91c4ff;outline-offset:3px}@media(max-width:850px){.auth-intro{padding:36px 28px}.auth-intro h1{font-size:34px}.auth-form-panel{padding-inline:28px}}@media(max-width:640px){.auth-page{display:block}.auth-intro{padding:28px 24px 0;background:none;border:0}.auth-intro-copy,.auth-intro-foot{display:none}.auth-brand img{width:36px;height:36px}.auth-brand{font-size:18px}.auth-form-panel{min-height:calc(100dvh - 78px);padding:20px 24px 28px}.auth-form-wrap{padding:36px 0}.auth-form-wrap h2{font-size:26px}}.dashboard-shell,.dashboard-navigation-backdrop{--dashboard-sidebar-width: 224px;--dashboard-surface: #101c30;--dashboard-border: #94a3d21f;--dashboard-text: #edf2f7;--dashboard-muted: #91a2ba;--dashboard-accent: #86b7ff;color:var(--dashboard-text);font-size:14px}.dashboard-shell{min-height:100dvh;-webkit-font-smoothing:auto;text-rendering:auto}.dashboard-shell :focus-visible,.dashboard-navigation-backdrop :focus-visible{outline:2px solid #9cdcff;outline-offset:3px}.dashboard-skip-link{position:fixed;left:16px;top:8px;z-index:100;transform:translateY(-180%);padding:10px 16px;border-radius:6px;color:#edf2f7;background:#2965a4}.dashboard-skip-link:focus{transform:none}.dashboard-sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:var(--dashboard-sidebar-width);display:flex;flex-direction:column;padding:30px 16px 16px;background:var(--dashboard-surface);border-right:1px solid var(--dashboard-border)}.dashboard-sidebar .dashboard-navigation{min-height:0;overflow-y:auto}.dashboard-brand{display:flex;align-items:center;flex-shrink:0;gap:12px;margin:0 12px 38px;color:inherit;text-decoration:none}.dashboard-brand img{width:34px;height:40px;object-fit:contain}.dashboard-brand>span{font-size:18px;font-weight:650;letter-spacing:.04em}.dashboard-brand small{display:block;margin-top:4px;color:var(--dashboard-muted);font-size:11px;letter-spacing:.2em;font-weight:400}.dashboard-navigation{display:grid;gap:8px}.dashboard-navigation-label{margin:0 12px 8px;color:var(--dashboard-muted);font-size:11px;letter-spacing:.12em}.dashboard-navigation-item{display:flex;align-items:center;gap:10px;min-width:0;width:100%;min-height:46px;padding:12px;border:1px solid transparent;border-radius:7px;background:none;color:var(--dashboard-muted);text-decoration:none;text-align:left;white-space:nowrap}.dashboard-navigation-item svg,.dashboard-logout svg{width:20px;height:20px;flex-shrink:0}.dashboard-navigation-item.is-active{color:#a5caff;background:#3b82f61a;border-color:#3b82f633}.dashboard-navigation-item.is-active:hover{background:#3b82f629}.dashboard-navigation-item:disabled{cursor:not-allowed}.dashboard-navigation-item small{margin-left:auto;padding:2px 5px;font-size:10px;line-height:1.4;color:var(--dashboard-muted);border:1px solid var(--dashboard-border);border-radius:4px}.dashboard-user{position:relative;flex-shrink:0;margin-top:auto;padding-top:12px;border-top:1px solid var(--dashboard-border)}.dashboard-user-info{display:flex;align-items:center;gap:10px;padding:12px 8px;border-radius:8px;cursor:pointer;list-style:none}.dashboard-user-info::-webkit-details-marker{display:none}.dashboard-user-info:hover,.dashboard-user[open]>.dashboard-user-info{background:#20324c80}.dashboard-avatar{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#203552;border:1px solid #345072;border-radius:50%;color:#b0ccf1;font-size:13px}.dashboard-user-copy{display:grid;gap:4px;min-width:0}.dashboard-user-copy strong,.dashboard-user-copy>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-user-info strong{font-size:13px;font-weight:500}.dashboard-user-copy>span{color:var(--dashboard-muted);font-size:11px}.dashboard-user-menu{position:absolute;z-index:1;bottom:calc(100% + 8px);left:0;right:0;padding:6px;border:1px solid #52678466;border-radius:9px;background:#1b293e;box-shadow:0 10px 30px #03081266}.dashboard-logout{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 12px;border:0;border-radius:6px;color:var(--dashboard-text);background:transparent;cursor:pointer;font-size:14px}.dashboard-logout:hover{color:var(--dashboard-text);background:#20324c}.dashboard-shell.is-sidebar-collapsed{--dashboard-sidebar-width: 72px}.is-sidebar-collapsed .dashboard-sidebar{padding-inline:12px}.is-sidebar-collapsed .dashboard-sidebar .dashboard-brand{justify-content:center;min-height:48px;margin-inline:0}.is-sidebar-collapsed .dashboard-sidebar .dashboard-brand>span,.is-sidebar-collapsed .dashboard-sidebar .dashboard-navigation-label,.is-sidebar-collapsed .dashboard-sidebar .dashboard-navigation-item>span,.is-sidebar-collapsed .dashboard-sidebar .dashboard-navigation-item>small,.is-sidebar-collapsed .dashboard-sidebar .dashboard-user-copy{display:none}.is-sidebar-collapsed .dashboard-sidebar .dashboard-navigation-item,.is-sidebar-collapsed .dashboard-sidebar .dashboard-user-info{justify-content:center;padding-inline:0}.is-sidebar-collapsed .dashboard-sidebar .dashboard-user-menu{left:calc(100% + 12px);right:auto;bottom:0;width:180px}.dashboard-sidebar-footer{display:flex;align-items:center;gap:4px;flex-shrink:0;margin-top:auto;padding-top:12px;border-top:1px solid var(--dashboard-border)}.dashboard-sidebar-footer .dashboard-user{flex:1;min-width:0;margin-top:0;padding-top:0;border-top:0}.dashboard-sidebar-footer .dashboard-user-info{gap:8px;padding:8px 4px}.dashboard-sidebar-footer .dashboard-user-menu{min-width:180px}.is-sidebar-collapsed .dashboard-sidebar-footer{flex-direction:column;gap:4px}.is-sidebar-collapsed .dashboard-sidebar-footer .dashboard-user{flex:none;width:100%}.dashboard-content{margin-left:var(--dashboard-sidebar-width);min-width:0;min-height:100dvh;container:dashboard-content / inline-size;background:radial-gradient(ellipse at 50% 0,#3b82f619,transparent 60%),linear-gradient(#94a3d206 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,#94a3d206 1px,transparent 1px) 0 0 / 40px 40px,#0f1a2e}.dashboard-header{--dashboard-header-padding: 32px;position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:100px;padding:22px var(--dashboard-header-padding);background:linear-gradient(#94a3d206 1px,transparent 1px) 0 0 / 40px 40px,linear-gradient(90deg,#94a3d206 1px,transparent 1px) 0 0 / 40px 40px,#0f1a2e}.dashboard-header:after{content:"";position:absolute;bottom:0;inset-inline:var(--dashboard-header-padding);height:1px;background:#3b82f62e}.dashboard-header-heading{display:flex;align-items:center;gap:12px;min-width:0}.dashboard-title-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dashboard-environment-badge{flex-shrink:0;padding:2px 7px;border:1px solid #a17d37;border-radius:4px;background:#302e26;color:#f4d391;font-size:11px;line-height:1.5;white-space:nowrap}.dashboard-header h1{margin:0;font-size:22px;line-height:1.3;letter-spacing:.035em;font-weight:650}.dashboard-header p{margin:3px 0 0;color:#7f8fa7;font-size:14px;line-height:1.5;letter-spacing:.5px}.dashboard-header-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}.dashboard-header .live-data-clock{display:grid;gap:3px;text-align:right;color:#a7b3c4;font-variant-numeric:tabular-nums}.dashboard-header .live-data-clock b{color:#edf2f7;font:25px SF Mono,JetBrains Mono,Menlo,Monaco,Consolas,monospace}.dashboard-header .live-data-clock span{font-size:14px}.dashboard-icon-button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:8px;border:1px solid var(--dashboard-border);border-radius:7px;background:#20324c66;color:#b9cbe3;cursor:pointer}.dashboard-icon-button svg{width:20px;height:20px}.dashboard-icon-button:hover{background:#2a4160;color:var(--dashboard-text)}.dashboard-sidebar-toggle{flex:0 0 34px;width:34px;height:34px;padding:7px;border-color:transparent;background:transparent;color:var(--dashboard-muted)}.dashboard-sidebar-toggle svg{width:18px;height:18px}.dashboard-sidebar-toggle:hover{background:#20324c80;color:var(--dashboard-text)}.dashboard-menu-toggle{display:none}.dashboard-fullscreen-error{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 24px 0;padding:10px 14px;border:1px solid #a17d37;border-radius:6px;color:#f4d391;background:#302e26}.dashboard-fullscreen-error button{color:inherit;background:none;border:0;font-size:24px;cursor:pointer}.dashboard-navigation-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;background:#030812bf}.dashboard-navigation-drawer{display:flex;flex-direction:column;width:min(300px,calc(100vw - 40px));min-height:100dvh;padding:22px 16px 16px;background:var(--dashboard-surface);border-right:1px solid var(--dashboard-border);box-shadow:12px 0 40px #0004}.dashboard-navigation-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:30px;padding-left:12px}.dashboard-navigation-drawer h2{margin:0;font-size:16px;font-weight:600}.dashboard-navigation-drawer>header button{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;padding:8px;border:0;border-radius:6px;background:transparent;color:var(--dashboard-muted);cursor:pointer}.dashboard-navigation-drawer>header button svg{width:20px;height:20px}.dashboard-shell.is-fullscreen .dashboard-sidebar,.dashboard-shell.is-fullscreen .dashboard-menu-toggle,.dashboard-shell.is-fullscreen .dashboard-sidebar-toggle{display:none}.dashboard-shell.is-fullscreen .dashboard-content{margin-left:0}@media(max-width:1000px){.dashboard-sidebar{display:none}.dashboard-content{margin-left:0}.dashboard-menu-toggle{display:grid}.dashboard-sidebar-toggle{display:none}}@container dashboard-content (max-width: 1100px){.dashboard-header{--dashboard-header-padding: 24px}}@container dashboard-content (max-width: 760px){.dashboard-header{--dashboard-header-padding: 16px;min-height:84px;gap:12px;padding-block:16px}.dashboard-header h1{font-size:18px}.dashboard-header p{font-size:11px}.dashboard-header .live-data-clock{display:none}}@container dashboard-content (max-width: 360px){.dashboard-header-heading{gap:8px}.dashboard-header p{display:none}}html:has(.live-cockpit),body:has(.live-cockpit){scrollbar-width:none}html:has(.live-cockpit)::-webkit-scrollbar,body:has(.live-cockpit)::-webkit-scrollbar{display:none}.live-cockpit,.live-cockpit-dialog{--cockpit-bg: #0f1a2e;--cockpit-panel: #1a2942;--cockpit-text: #edf2f7;--cockpit-muted: #a7b3c4;--cockpit-border: rgba(148, 163, 210, .12);--cockpit-blue: #3b82f6;--cockpit-cyan: #06b6d4;--cockpit-gold: #f59e0b;--cockpit-card-fill: linear-gradient(155deg, rgba(26, 41, 66, .7), rgba(20, 34, 56, .6));--cockpit-mono: "SF Mono", "JetBrains Mono", Menlo, Monaco, Consolas, monospace;--cockpit-gap: 16px;--cockpit-section-gap: 28px;--cockpit-panel-padding: 20px;color:var(--cockpit-text);font:14px/1.5 Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.live-cockpit{--cockpit-page-padding: 32px;width:100%;min-height:0;padding:24px var(--cockpit-page-padding) 40px;overflow-x:clip}.live-cockpit *{box-sizing:border-box}.live-cockpit{--rooms-ink: #edf2f7;--rooms-text: #edf2f7;--rooms-muted: #a7b3c4;--rooms-line: #34465f;--rooms-line-strong: #526784;--rooms-surface: #1a2942;--rooms-canvas: #142238;--rooms-primary: #79b7f4;color-scheme:dark}.cockpit-dialog-backdrop{position:fixed;z-index:200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0308127a;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.live-cockpit button,.live-cockpit-dialog button{font:inherit;cursor:pointer}.live-cockpit button:disabled,.live-cockpit-dialog button:disabled{cursor:not-allowed;opacity:.45}.live-cockpit :focus-visible,.live-cockpit-dialog :focus-visible{outline:2px solid #9cdcff;outline-offset:3px}.cockpit-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:36px;padding:7px 13px;border:1px solid #49617e;border-radius:6px;color:var(--cockpit-text);background:#20324c;font:inherit}.cockpit-button:hover{border-color:var(--cockpit-blue);background:#2a4160}.cockpit-button.is-primary{background:#2965a4;border-color:#6fa6dd}.cockpit-sync-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #a17d37;border-radius:6px;padding:12px 16px;margin:0 0 20px;color:#f4d391;background:#302e26}.cockpit-sync-notice button{border:0;background:none;color:inherit;white-space:nowrap;text-decoration:underline}.cockpit-overview{display:grid;gap:var(--cockpit-section-gap)}.live-cockpit>.cockpit-alerts{margin-bottom:20px}.cockpit-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.cockpit-section-head--sticky{position:sticky;top:112px;z-index:3;isolation:isolate}.cockpit-section-head--sticky:after{content:"";position:absolute;inset:-12px calc(-1 * var(--cockpit-page-padding)) -12px;z-index:-1;background:var(--cockpit-bg);pointer-events:none}.cockpit-section-head>div,.cockpit-section-head>p{display:flex;align-items:center;gap:14px}.cockpit-section-head h2{position:relative;padding-left:12px;margin:0;font-size:16px;font-weight:600}.cockpit-section-head h2:before{content:"";position:absolute;left:0;top:3px;width:3px;height:14px;border-radius:2px;background:linear-gradient(#3b82f6,#06b6d4)}.cockpit-section-head span,.cockpit-section-head p{color:var(--cockpit-muted);margin:0}.cockpit-section-head>p>i{width:6px;height:6px;border-radius:100%;background:#64d3ad}.cockpit-section-head>p>i.is-delayed{background:var(--cockpit-gold)}.cockpit-metrics-hero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cockpit-gap)}.cockpit-metrics-aux{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.cockpit-metrics-aux .cockpit-metric__header{min-height:46px;flex-direction:column;align-items:flex-start;justify-content:flex-start}.cockpit-metrics-aux .cockpit-metric__note{font-size:14px}.cockpit-metrics-aux .cockpit-metric__note>span{display:block}.cockpit-analysis-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--cockpit-gap)}.cockpit-ranking{grid-column:span 4}.cockpit-trends{grid-column:span 8}.cockpit-products{grid-column:span 7}.cockpit-sources{grid-column:span 5}.cockpit-panel{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--cockpit-card-fill);border:1px solid var(--cockpit-border);border-radius:8px;overflow:hidden}.cockpit-panel>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:18px var(--cockpit-panel-padding)}.cockpit-panel h3{margin:0;font-size:16px;font-weight:600}.cockpit-panel>header>span,.cockpit-data-note{color:var(--cockpit-muted)}.cockpit-panel>header button{color:#9acbff;border:0;background:transparent;padding:4px 0;white-space:nowrap}.cockpit-ranking ol{display:grid;align-content:space-between;gap:12px;flex:1;list-style:none;padding:0 var(--cockpit-panel-padding) 20px;margin:0}.cockpit-ranking ol:empty{display:none}.cockpit-ranking>.cockpit-empty{flex:1}.cockpit-ranking li button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;text-align:left;color:var(--cockpit-text);background:none;border:0;padding:7px 0}.cockpit-ranking li button:hover .cockpit-rank-room>span{color:var(--cockpit-blue)}.cockpit-rank-number{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;border-radius:4px;background:#6b728026;font:600 14px var(--cockpit-mono);color:var(--cockpit-muted)}.cockpit-rank-number.rank-1{color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 0 10px #f59e0b66}.cockpit-rank-number.rank-2{color:#fff;background:linear-gradient(135deg,#7daaff,#3b82f6)}.cockpit-rank-number.rank-3{color:#fff;background:linear-gradient(135deg,#06b6d4,#3b82f6)}.cockpit-rank-room{flex:1;min-width:0;display:grid;gap:9px}.cockpit-rank-name{display:flex;align-items:center;gap:8px;min-width:0}.cockpit-rank-name>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cockpit-rank-name em{flex-shrink:0;padding:0 6px;border-radius:3px;background:#10b98126;color:#34d399;font-style:normal}.cockpit-rank-room>i{width:100%;height:8px;border-radius:4px;background:#3b82f614;overflow:hidden}.cockpit-rank-room b{display:block;height:100%;background:linear-gradient(90deg,#3b82f6,#06b6d4);border-radius:inherit}.cockpit-ranking li:first-child b{background:linear-gradient(90deg,#10b981,#06b6d4)}.cockpit-ranking strong{font:14px var(--cockpit-mono);min-width:80px;text-align:right}.cockpit-chart{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;gap:12px;padding:0 var(--cockpit-panel-padding) 16px}.cockpit-chart-plot{position:relative;min-width:0}.cockpit-chart-plot>svg{display:block;width:100%;height:clamp(220px,18cqw,300px);color:var(--cockpit-muted);cursor:crosshair}.cockpit-chart text{fill:var(--cockpit-muted);font-size:14px}.cockpit-chart-legend{display:flex;flex-wrap:wrap;gap:8px 18px;min-height:25px}.cockpit-chart-legend span{display:inline-flex;align-items:center;gap:6px;color:var(--cockpit-muted);min-width:0;max-width:100%;overflow-wrap:anywhere}.cockpit-chart-legend i{display:block;flex-shrink:0;width:12px;height:3px;border-radius:2px}.cockpit-chart-readout{position:absolute;z-index:2;top:8px;display:grid;gap:7px;max-width:min(360px,calc(100% - 16px));padding:12px 15px;background:#101d31;border:1px solid #607b9c;border-radius:6px;pointer-events:none;box-shadow:0 8px 28px #0005;overflow-wrap:anywhere}.cockpit-chart-readout span{display:flex;justify-content:space-between;gap:14px;padding-left:8px;border-left:3px solid}.cockpit-chart-readout time{color:var(--cockpit-muted)}.cockpit-chart-readout b{flex-shrink:0;white-space:nowrap}.cockpit-flow{display:grid;flex:1;grid-template-columns:200px minmax(0,1fr);align-items:center;gap:20px;padding:8px var(--cockpit-panel-padding) 24px}.cockpit-flow svg{width:200px;height:200px}.cockpit-flow text{fill:var(--cockpit-muted);font-size:14px}.cockpit-flow .cockpit-flow-total{fill:var(--cockpit-text);font-size:22px;font-weight:600;font-family:var(--cockpit-mono)}.cockpit-flow ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;min-width:0}.cockpit-flow li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:2px 8px;padding:8px 10px;border:1px solid var(--cockpit-border);border-radius:6px;background:#14223866;cursor:default}.cockpit-flow li.is-active{border-color:#94a3d238;background:#142238b3}.cockpit-flow li i{width:8px;height:8px;border-radius:2px}.cockpit-flow li span{min-width:0;color:var(--cockpit-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cockpit-flow li strong{grid-column:3;grid-row:1 / 3;font:600 14px var(--cockpit-mono);text-align:right}.cockpit-flow li .cockpit-flow-count{grid-column:2;grid-row:2;font:14px var(--cockpit-mono)}.cockpit-data-note{padding:0 20px 15px;margin:0}.cockpit-products .cockpit-product-table{padding:0 var(--cockpit-panel-padding) 12px}.cockpit-products>.cockpit-product-table:has(.cockpit-product-table__empty){display:flex;flex-direction:column;flex:1}.cockpit-products .cockpit-product-table__scroll:has(.cockpit-product-table__empty){display:flex;flex:1;min-height:230px}.cockpit-products table:has(.cockpit-product-table__empty) thead{height:1px}.cockpit-products .cockpit-product-table th,.cockpit-products .cockpit-product-table td{padding:12px 10px}.cockpit-products .cockpit-product-table table{min-width:580px}.cockpit-products .cockpit-product-table__rank{width:50px}.cockpit-products .cockpit-product-table--overview .cockpit-product-table__name{width:35%}.cockpit-products .cockpit-product-table th{white-space:normal}.cockpit-rooms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--cockpit-gap)}.cockpit-room{display:flex;flex-direction:column;min-width:0;position:relative;border:1px solid var(--cockpit-border);border-radius:8px;background:var(--cockpit-card-fill);padding:18px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.cockpit-room>header{display:flex;gap:12px;align-items:center;justify-content:space-between}.cockpit-room-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;border:0;background:none;color:var(--cockpit-text);padding:0;text-align:left;font-weight:600!important}.cockpit-room-alert{flex-shrink:0;color:#a7b3c4;border:1px solid #94a3d238;border-radius:4px;background:transparent;padding:3px 8px;min-height:28px}.cockpit-room-alert:hover{background:#f59e0b14;color:#f59e0b;border-color:#f59e0b66}.cockpit-room-actions{display:flex;flex-shrink:0;gap:6px}.cockpit-room>header{flex-wrap:wrap;gap:8px}.cockpit-room-name{flex:1;min-width:100px}.cockpit-room-state{display:flex;align-items:center;gap:6px;margin-top:7px}.cockpit-room-state time{margin-left:auto;color:var(--cockpit-muted);font-family:var(--cockpit-mono)}.cockpit-status{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid #94a3b866;border-radius:4px;background:#94a3b824;color:#a7b3c4;white-space:nowrap}.cockpit-status.is-live{color:#34d399;border-color:#10b98173;background:#10b98129}.cockpit-status.is-live i{height:5px;width:5px;background:#9defcb;border-radius:50%;animation:cockpit-live-dot 2s ease-in-out infinite}.cockpit-health{height:20px;line-height:18px;border:1px solid #3b82f666;color:#7daaff;border-radius:4px;padding:0 6px}.cockpit-health.is-attention{border-color:#957544;color:#f4ce88}.cockpit-room-data{width:100%;text-align:left;padding:0;border:0;background:none;color:var(--cockpit-text);margin-top:18px}.cockpit-room-data dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;margin:0}.cockpit-room-data dt{color:var(--cockpit-muted);margin-bottom:4px}.cockpit-room-data dd{margin:0;font:600 18px/1.25 var(--cockpit-mono);overflow-wrap:anywhere}.cockpit-room-data dl>div:nth-child(-n+2){padding-bottom:14px;border-bottom:1px solid var(--cockpit-border)}.cockpit-room-data dl>div:nth-child(-n+2) dd{font-size:24px}.cockpit-room.is-live .cockpit-room-data dl>div:first-child dd{color:#06b6d4}.cockpit-room.is-offline{background:linear-gradient(155deg,#1621348c,#121c2d80);border-color:#6b728047}.cockpit-room.is-offline .cockpit-room-data{opacity:.5}.cockpit-room.is-offline:hover .cockpit-room-data,.cockpit-room.is-offline:focus-within .cockpit-room-data{opacity:.78}.cockpit-live-count{color:#91d8c7!important}.cockpit-empty{display:flex;min-height:230px;padding:28px;justify-content:center;flex-direction:column;align-items:center;text-align:center;color:var(--cockpit-muted)}.cockpit-empty h3{color:var(--cockpit-text)}.cockpit-access{display:flex;flex-direction:column;align-items:center;justify-content:center}.cockpit-access button{padding:9px 20px;border:1px solid #6086b0;border-radius:6px;background:#25456c;color:#edf2f7}.live-cockpit-dialog{display:flex;flex-direction:column;width:min(850px,calc(100vw - 40px));max-height:calc(100vh - 60px);overflow:hidden;border:1px solid #526784;border-radius:10px;background:var(--cockpit-panel);box-shadow:0 16px 60px #0006}.live-cockpit-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-bottom:1px solid var(--cockpit-border)}.live-cockpit-dialog h2{min-width:0;overflow-wrap:anywhere;font-size:18px;margin:0}.live-cockpit-dialog>header button{flex-shrink:0;border:0;background:transparent;color:var(--cockpit-muted);padding:7px}.live-cockpit-dialog>header button svg{width:20px;height:20px}.live-cockpit-dialog>footer{display:flex;gap:12px;justify-content:flex-end;padding:15px 24px;border-top:1px solid var(--cockpit-border)}.live-cockpit-dialog>.cockpit-product-table{overflow:auto;flex:1;min-height:0}.cockpit-products-dialog{height:min(640px,calc(100vh - 80px))}.cockpit-products-dialog .cockpit-product-table th{position:sticky;top:0;z-index:1}.live-cockpit-dialog>header,.live-cockpit-dialog>footer{flex-shrink:0}.cockpit-products-dialog>.cockpit-product-table{display:flex;flex-direction:column;overflow:hidden}.cockpit-products-dialog .cockpit-product-table__scroll{flex:1;min-height:0;overflow:auto}.cockpit-products-dialog .cockpit-product-table__pagination{flex-shrink:0;padding:12px 16px}.cockpit-history{min-height:0;padding:10px 24px 20px;overflow:auto}.cockpit-history ol{list-style:none;padding:0}.cockpit-history li{display:flex;align-items:center;gap:16px;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--cockpit-border)}.cockpit-history li>div{min-width:0;display:grid;gap:4px;overflow-wrap:anywhere}.cockpit-history li>button{flex-shrink:0}.cockpit-history li span{color:var(--cockpit-muted)}@keyframes cockpit-live-dot{50%{box-shadow:0 0 0 4px #9defcb22}}@container dashboard-content (min-width: 1136px){.cockpit-metrics-aux{grid-template-columns:repeat(7,minmax(0,1fr))}.cockpit-metric--aux{padding:14px 12px}.cockpit-metric--aux .cockpit-metric__value{font-size:22px}.cockpit-metric--aux .cockpit-metric__stats{gap:3px}}@container dashboard-content (min-width: 1136px) and (max-width: 1279px){.cockpit-metric--aux{padding-inline:10px}.cockpit-metrics-aux .cockpit-metric__header{min-height:42px}.cockpit-metrics-aux .cockpit-metric__header h3{font-size:13px}.cockpit-metrics-aux .cockpit-metric__note,.cockpit-metric--aux .cockpit-metric__change,.cockpit-metric--aux .cockpit-metric__stats dt,.cockpit-metric--aux .cockpit-metric__stats dd{font-size:12px}}@container dashboard-content (max-width: 1440px){.cockpit-rooms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-flow{grid-template-columns:180px minmax(0,1fr);gap:12px}.cockpit-flow svg{width:180px;height:180px}.cockpit-flow text{font-size:16px}}@container dashboard-content (max-width: 1368px){.cockpit-ranking{grid-column:span 5}.cockpit-trends{grid-column:span 7}}@container dashboard-content (max-width: 1100px){.live-cockpit{--cockpit-page-padding: 24px}.cockpit-metrics-hero{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-metrics-aux{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-analysis-grid{grid-template-columns:minmax(0,1fr)}.cockpit-analysis-grid>.cockpit-panel{grid-column:1}.cockpit-ranking ol{gap:8px}.cockpit-flow{grid-template-columns:200px minmax(0,1fr);gap:32px}.cockpit-flow svg{width:200px;height:200px}.cockpit-flow text{font-size:14px}.cockpit-rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container dashboard-content (max-width: 760px){.live-cockpit{--cockpit-gap: 12px;--cockpit-section-gap: 24px;--cockpit-panel-padding: 16px;--cockpit-page-padding: 16px}.cockpit-section-head--sticky{top:96px}.cockpit-section-head>div{flex-wrap:wrap;gap:6px 14px}.cockpit-section-head>p{display:none}.cockpit-metrics-aux{grid-template-columns:repeat(2,minmax(0,1fr))}.cockpit-room{padding:16px}.cockpit-room-data dl{gap:12px 16px}.cockpit-room-data dd{font-size:16px}.cockpit-room-data dl>div:nth-child(-n+2) dd{font-size:22px}}@container dashboard-content (max-width: 600px){.cockpit-button{padding-inline:9px}.cockpit-metrics-hero,.cockpit-metrics-aux,.cockpit-rooms-grid{grid-template-columns:minmax(0,1fr)}.cockpit-flow{grid-template-columns:minmax(0,1fr);justify-items:center;gap:20px}.cockpit-flow ul{width:100%}}@media(prefers-reduced-motion:reduce){.cockpit-status.is-live i{animation:none}}.cockpit-idle-summary{margin:0 0 12px;color:var(--cockpit-muted)}.cockpit-panel:before,.cockpit-room:before{content:"";position:absolute;top:0;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,#3b82f659,transparent);pointer-events:none}.live-data-clock{display:grid;gap:2px;text-align:right;font-variant-numeric:tabular-nums;color:#a7b3c4;font-size:14px}.live-data-clock b{color:#edf2f7;font:25px SF Mono,JetBrains Mono,Menlo,Monaco,Consolas,monospace}.live-data-clock span{font-size:14px}.cockpit-room:hover{border-color:#3b82f659;box-shadow:0 10px 30px #3b82f62e}.cockpit-room>header{display:flex;align-items:center;justify-content:space-between;min-width:0}.cockpit-session{display:flex;flex-direction:column;gap:24px}.cockpit-session .cockpit-detail__toolbar,.cockpit-session .cockpit-section-head{margin:0;padding:0}.cockpit-session__header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px;border:1px solid var(--cockpit-border);border-radius:8px;background:var(--cockpit-card-fill)}.cockpit-session__header h2{margin:10px 0 4px;font-size:22px}.cockpit-session__header p{margin:0;color:var(--cockpit-muted);overflow-wrap:anywhere}.cockpit-session__header dl{display:grid;gap:8px;margin:0}.cockpit-session__header dl>div{display:flex;justify-content:space-between;gap:20px}.cockpit-session__header dt{color:var(--cockpit-muted);flex-shrink:0}.cockpit-session__header dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.cockpit-session__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.cockpit-session .cockpit-trends{grid-column:span 7}.cockpit-session .cockpit-sources{grid-column:span 5}@container dashboard-content (max-width: 1100px){.cockpit-session__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cockpit-session .cockpit-analysis-grid>*{grid-column:1}}@container dashboard-content (max-width: 760px){.cockpit-session__header{align-items:stretch;flex-direction:column;padding:18px}.cockpit-session__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@container dashboard-content (max-width: 480px){.cockpit-session__metrics{grid-template-columns:minmax(0,1fr)}}@media(max-width:760px){.cockpit-history li{align-items:flex-start;flex-direction:column;gap:10px}.cockpit-dialog-backdrop{padding:12px}.live-cockpit-dialog{width:100%;max-height:calc(100dvh - 24px)}.live-cockpit-dialog>header{padding:16px}}@media(max-width:600px){.live-cockpit-dialog .cockpit-button{padding-inline:9px}}.cockpit-room-comparison{display:block;margin-top:5px;color:var(--cockpit-muted);font-size:12px;font-variant-numeric:tabular-nums}.cockpit-room-comparison.is-positive{color:#34d399}.cockpit-room-comparison.is-negative{color:#f87171}.dashboard-skeleton,.dashboard-skeleton-sidebar{--skeleton-fill: #94a3d21a}.dashboard-skeleton-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.dashboard-skeleton-block{display:block;flex-shrink:0;max-width:100%;height:12px;border-radius:4px;background:var(--skeleton-fill)}.dashboard-skeleton-block.is-heading{width:154px;height:18px}.dashboard-skeleton-block.is-label{width:96px;height:14px}.dashboard-skeleton-block.is-value{width:56%;height:36px;margin-block:24px 20px}.dashboard-skeleton-block.is-caption{width:64px;height:10px}.dashboard-skeleton-block.is-avatar{width:28px;height:28px;border-radius:50%}.dashboard-skeleton-block.is-row-label{flex:1;max-width:55%}.dashboard-skeleton-block.is-nav{width:38px;height:38px;margin:4px auto;border-radius:7px}.dashboard-skeleton-section{display:flex;align-items:center;min-height:24px;margin-bottom:14px}.dashboard-skeleton-card{min-height:224px;padding:20px;border:1px solid var(--cockpit-border);border-radius:8px;background:var(--cockpit-card-fill)}.dashboard-skeleton-card.is-compact{min-height:152px;padding:16px 12px}.dashboard-skeleton-card.is-compact .is-label{width:65%}.dashboard-skeleton-card.is-compact .is-value{width:70%;height:24px;margin-block:24px 18px}.dashboard-skeleton-panel{min-width:0;padding:var(--cockpit-panel-padding)}.dashboard-skeleton-list{display:grid;gap:20px;margin-top:28px}.dashboard-skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:28px}.dashboard-skeleton-chart{flex:1;min-height:200px;margin-top:28px;border-left:1px solid var(--cockpit-border);border-bottom:1px solid var(--cockpit-border);background:repeating-linear-gradient(to top,transparent 0 49px,var(--cockpit-border) 49px 50px);opacity:.5}.dashboard-skeleton-axis{display:flex;justify-content:space-between;gap:16px;margin-top:14px}.dashboard-skeleton-axis .is-caption{width:36px}.dashboard-skeleton-sidebar .dashboard-sidebar-footer{padding-bottom:6px;gap:16px}.dashboard-skeleton-switch{flex-shrink:0;padding:8px 0;color:var(--dashboard-muted);border:0;background:none;font-size:12px;cursor:pointer}.dashboard-skeleton-switch:hover{color:var(--dashboard-text)}.dashboard-skeleton-shapes{animation:dashboard-skeleton-pulse 1.8s ease-in-out infinite}@keyframes dashboard-skeleton-pulse{50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.dashboard-skeleton-shapes{animation:none}}:root{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#edf2f7;background:#0f1a2e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{touch-action:manipulation}.session-status{display:flex;min-height:100dvh;justify-content:center;align-items:center;flex-direction:column;padding:24px;text-align:center}.session-status h1{font-size:20px;font-weight:550;margin:20px 0 0}.session-status p{color:#a7b3c4;font-size:14px}.session-status button{border:1px solid #4b6890;border-radius:6px;padding:9px 18px;background:#20324c;color:inherit;cursor:pointer}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
