/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, 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;--radius-lg:.5rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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,ui-sans-serif, system-ui, 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{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}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.w-8{width:calc(var(--spacing) * 8)}.flex-shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.p-6{padding:calc(var(--spacing) * 6)}.py-4{padding-block:calc(var(--spacing) * 4)}.text-center{text-align:center}.text-slate-500{color:var(--color-slate-500)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:dark;--app-bg:#020b18;--app-surface:#021226;--app-surface-muted:#02122699;--app-elevated:#021a30;--app-header-bg:#021226f2;--app-sider-bg:#021226f2;--app-border:#00d4ff40;--app-border-subtle:#00d4ff26;--app-primary-border:#00d4ff66;--app-text:#cee8ff;--app-text-secondary:#95b0de;--app-primary:#00d4ff;--app-on-primary:#fff;--app-primary-soft:#00d4ff14;--app-primary-hover:#00d4ff24;--app-scrollbar-thumb:#686868;--app-scrollbar-thumb-hover:#7b7b7b;--app-scrollbar-track:transparent;--app-scrollbar-size:8px;--app-success:#0f8;--app-danger:#f69;--app-warning-text:#ffd666;--app-warning:#faad14;--app-info:#36cfc9;--app-purple:#b37feb;--app-shadow:0 4px 18px #00000059;--app-header-gradient:linear-gradient(180deg, #0a0e17 0%, #0f1525 100%);--bg-dark:#0a0e17;--bg-deep:#0f1525;--panel-bg:linear-gradient(135deg, #0f1525 0%, #121828 100%);--panel-bg-solid:#0f1525;--panel-border:#1a2332;--panel-shadow:0 4px 18px #00000059;--panel-shadow-strong:0 6px 24px #00a8ff2e, 0 4px 18px #0006;--panel-top-bar:linear-gradient(90deg, #00a8ff 0%, #0f8 50%, #ff0080 100%);--text-primary:#fff;--text-secondary:#c4d2e8;--text-muted:#8a9bb8;--text-soft:#4a5568;--electric-blue:#00a8ff;--cyan:#00a8ff;--pink:#ff0080;--violet:#6f7cff;--grid-line:#1a2332d9;--grid-strong:#1a233299;--table-row-odd:#0b1424;--table-row-even:#0f1525;--table-row-hover:#16203a;--success:#0f8;--danger:#ff0080;--warning:#fa0;--font-caption:12px;--font-body-sm:13px;--font-subheading:13px;--font-body:14px;--font-heading:14px;--font-stat:32px;--font-ui-base:"Noto Sans SC Local", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-ui-title:"Noto Sans SC Local", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--font-ui-english:"Rajdhani Local", "Bahnschrift", "Segoe UI", "Arial Narrow", sans-serif;--font-ui-number:"Orbitron Local", "Rajdhani Local", "Bahnschrift", "Segoe UI", "Arial Narrow", sans-serif}html[data-theme=light]{color-scheme:light;--app-bg:#f5f7fa;--app-surface:#fff;--app-surface-muted:#f8fafc;--app-elevated:#fff;--app-header-bg:#fffffff5;--app-sider-bg:#fff;--app-border:#d9e2ec;--app-border-subtle:#e5eaf0;--app-primary-border:#91caff;--app-text:#1f2937;--app-text-secondary:#595959;--app-primary:#1677ff;--app-on-primary:#fff;--app-primary-soft:#eaf3ff;--app-primary-hover:#dbeafe;--app-scrollbar-thumb:#c1c1c1;--app-scrollbar-thumb-hover:#a8a8a8;--app-scrollbar-track:transparent;--app-scrollbar-size:8px;--app-success:#15803d;--app-danger:#c2415b;--app-warning-text:#b45309;--app-warning:#d97706;--app-info:#0f766e;--app-purple:#7e22ce;--app-shadow:0 4px 18px #0f172a1a;--app-header-gradient:linear-gradient(180deg, #fff 0%, #f8fafc 100%);--bg-dark:#eef3f8;--bg-deep:#f8fafc;--panel-bg:linear-gradient(135deg, #fff 0%, #f8fbff 100%);--panel-bg-solid:#fff;--panel-border:#d9e2ec;--panel-shadow:0 4px 18px #0f172a17;--panel-shadow-strong:0 6px 24px #1677ff1f, 0 4px 18px #0f172a1a;--text-primary:#1f2937;--text-secondary:#334155;--text-muted:#595959;--text-soft:#737373;--electric-blue:#1677ff;--cyan:#1677ff;--grid-line:#94a3b833;--grid-strong:#94a3b84d;--table-row-odd:#fff;--table-row-even:#f8fafc;--table-row-hover:#eef6ff}html,body,#root{height:100%;min-height:100%}*{box-sizing:border-box}body{background:var(--app-bg);color:var(--text-primary);margin:0;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;overflow:hidden}#amap-container{width:100%;height:100%}button,input,select,textarea{font:inherit}.route-fallback{background:var(--app-bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-layout,.admin-main-layout,.admin-content{background:var(--app-bg)}.admin-header-actions{align-items:center;gap:8px;display:flex}.admin-account-trigger{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:4px 10px;transition:background .2s,border-color .2s;display:flex}.admin-account-trigger:hover{background:var(--app-primary-soft);border-color:var(--app-primary-border)}.theme-toggle{border:1px solid var(--app-border);background:var(--app-surface);width:30px;height:30px;color:var(--app-text-secondary);cursor:pointer;border-radius:4px;flex:0 0 30px;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.theme-toggle:hover{color:var(--app-primary);border-color:var(--app-primary);background:var(--app-primary-soft)}.login-screen{background:var(--app-bg);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-theme-toggle{z-index:20;position:absolute;top:16px;right:16px}.login-grid{background-image:linear-gradient(var(--app-primary) 1px,transparent 1px),linear-gradient(90deg,var(--app-primary) 1px,transparent 1px);position:absolute;top:0;right:0;bottom:0;left:0}@supports (color:color-mix(in lab,red,red)){.login-grid{background-image:linear-gradient(color-mix(in srgb,var(--app-primary) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--app-primary) 18%,transparent) 1px,transparent 1px)}}.login-grid{opacity:.72;pointer-events:none;background-size:40px 40px;-webkit-mask-image:radial-gradient(#000 24%,#000000b8 62%,#0000 100%);mask-image:radial-gradient(#000 24%,#000000b8,#0000)}html[data-theme=light] .login-grid{opacity:.48}.login-panel{z-index:10;border:1px solid var(--app-border);background:var(--app-surface);border-radius:8px;width:min(448px,100vw - 32px);padding:40px 32px;position:relative}@supports (color:color-mix(in lab,red,red)){.login-panel{background:color-mix(in srgb,var(--app-surface) 92%,transparent)}}.login-panel{box-shadow:var(--app-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.login-logo{background:var(--app-primary);width:48px;height:48px;color:var(--app-on-primary);border-radius:8px;justify-content:center;align-items:center;margin:0 auto 16px;font-size:24px;display:inline-flex}.login-title{color:var(--app-text);margin:0 0 4px;font-size:24px;font-weight:700}.login-subtitle{color:var(--app-text-secondary);margin:0;font-size:14px}::-webkit-scrollbar{width:var(--app-scrollbar-size);height:var(--app-scrollbar-size)}::-webkit-scrollbar-track{background:var(--app-scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--app-scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--app-scrollbar-thumb-hover)}@keyframes up-scroll{0%,5%{transform:translate(0)}to{transform:translateY(-100%)}}@keyframes down-scroll{0%,5%{transform:translateY(-100%)}to{transform:translate(0)}}@keyframes left-scroll{0%,5%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes right-scroll{0%,5%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes up-scroll-seamless{0%,5%{transform:translate(0)}to{transform:translateY(-50%)}}@keyframes down-scroll-seamless{0%,5%{transform:translateY(-50%)}to{transform:translate(0)}}@keyframes left-scroll-seamless{0%,5%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes right-scroll-seamless{0%,5%{transform:translate(-50%)}to{transform:translate(0)}}@keyframes pulse-aura{0%,to{opacity:.38;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}@keyframes scan{0%{transform:translateY(-100%)}to{transform:translateY(100vh)}}@keyframes glow-pulse{0%,to{box-shadow:var(--panel-shadow)}50%{box-shadow:var(--panel-shadow-strong)}}@keyframes center-burst{0%{opacity:0;filter:blur(10px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes neon-breathe{0%,to{text-shadow:0 0 10px #00a8ff33,0 0 20px #568bff29}50%{text-shadow:0 0 18px #00a8ff57,0 0 28px #568bff42}}@keyframes digit-flicker{0%,to{text-shadow:0 2px 12px #00a8ff42,0 0 24px #568bff2e}50%{text-shadow:0 2px 18px #00a8ff66,0 0 32px #568bff3d}}.dashboard-screen{width:100vw;height:100vh;font-family:var(--font-ui-base);background:var(--bg-dark);position:relative;overflow:hidden}.dashboard-shell{flex-direction:column;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.dashboard-grid,.dashboard-aura{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.dashboard-grid{opacity:.5;background-image:linear-gradient(#1a2332b3 1px,#0000 1px),linear-gradient(90deg,#1a2332b3 1px,#0000 1px);background-size:48px 48px,48px 48px;-webkit-mask-image:radial-gradient(#000000e6,#0003);mask-image:radial-gradient(#000000e6,#0003)}.dashboard-aura{filter:none;background:radial-gradient(circle,#00a8ff29,#00a8ff0d,#0000 70%);border-radius:50%;width:720px;height:720px;margin:-360px 0 0 -360px;animation:none;position:absolute;top:50%;left:50%}.dashboard-aura-left,.dashboard-aura-right{display:none}.dashboard-enter{animation:.9s cubic-bezier(.2,.8,.2,1) both center-burst}.top-bar{z-index:20;background:var(--app-header-gradient);border-bottom:1px solid var(--panel-border);align-items:center;height:56px;padding:0 20px;display:flex;position:relative}.top-bar:before,.top-bar:after{content:none}.dashboard-logo-box{background:var(--electric-blue);border:none;border-radius:4px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:0 0 12px #00a8ff66}.dashboard-kicker{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:3.8px;line-height:1.2}.dashboard-hero-title{font-family:var(--font-ui-title);letter-spacing:2px;color:var(--text-primary);text-shadow:0 0 8px #00a8ff80;font-size:18px;font-weight:700;display:block}.dashboard-hero-subtitle-en{color:var(--text-muted);font-family:var(--font-ui-english);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;font-size:11px;font-weight:400;line-height:1.2}.dashboard-hero-subtitle{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:3px;margin-top:4px}.dashboard-clock,.dashboard-electric-number,.dashboard-overview-value,.dashboard-metric-value,.dashboard-ranking-index{font-family:var(--font-ui-number);font-variant-numeric:tabular-nums lining-nums}.dashboard-clock{letter-spacing:2px;color:var(--text-primary);text-shadow:0 0 8px #00a8ff66;font-size:18px;font-weight:700}.dashboard-role-badge{color:var(--app-text);background:#ffffff0f;border:1px solid #00a8ff52;border-radius:999px;padding:3px 10px;box-shadow:0 0 12px #00a8ff24}.dashboard-icon-button{color:var(--app-text-secondary);cursor:pointer;font-size:15px;transition:color .25s,transform .25s,filter .25s}.dashboard-icon-button:hover{color:var(--app-primary);filter:drop-shadow(0 0 8px #00a8ff66);transform:scale(1.08)}.topbar-info-cluster{align-items:center;gap:10px;display:flex}.topbar-account{border:1px solid var(--panel-border);background:var(--panel-bg-solid);border-radius:4px;align-items:center;gap:8px;min-height:30px;padding:6px 12px;display:inline-flex;position:relative}.topbar-account:before,.topbar-account:after{content:none}.topbar-account-icon{color:var(--electric-blue);filter:drop-shadow(0 0 4px #00a8ff66);font-size:14px}.topbar-account-text{flex-direction:column;line-height:1.2;display:flex}.topbar-account-label{color:var(--text-soft);letter-spacing:1px;font-size:10px}.topbar-account-name{color:var(--text-secondary);letter-spacing:.5px;font-size:12px;font-weight:600;font-family:var(--font-ui-title)}.topbar-pill-btn{border:1px solid var(--panel-border);background:var(--panel-bg-solid);min-height:30px;color:var(--text-secondary);font-family:var(--font-ui-title);letter-spacing:.5px;cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:transform .2s,color .2s,box-shadow .2s,border-color .2s,background .2s;display:inline-flex;position:relative}.topbar-pill-btn:before,.topbar-pill-btn:after{content:none}.topbar-pill-btn:hover{color:var(--electric-blue);border-color:var(--electric-blue);background:#00a8ff14;box-shadow:0 0 10px #00a8ff4d}.topbar-pill-btn--danger{color:var(--app-danger)}.topbar-pill-btn--danger:hover{color:var(--app-danger);border-color:var(--app-danger);background:#ff008014;box-shadow:0 0 10px #ff00804d}.topbar-clock-block{border:1px solid var(--panel-border);background:var(--panel-bg-solid);border-radius:4px;flex-direction:column;flex:0 0 160px;align-items:flex-end;gap:2px;width:160px;margin-left:4px;padding:4px 10px;display:flex}.dashboard-clock,.topbar-date-line{text-align:right;white-space:nowrap;width:100%;display:block}.topbar-date-line{color:var(--text-muted);font-family:var(--font-ui-number);letter-spacing:1px;font-size:11px}.dashboard-content{z-index:10;flex:1;gap:12px;padding:12px;display:flex;position:relative;overflow:hidden}.dashboard-side{flex-direction:column;flex-shrink:0;gap:12px;display:flex}.dashboard-side--left{width:300px;min-width:300px}.dashboard-side--right{width:320px;min-width:320px}.dashboard-center{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.tech-panel{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);border-radius:8px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.tech-panel:before{content:"";background:var(--panel-top-bar);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.tech-panel:after{content:none}.tech-panel:hover{box-shadow:var(--panel-shadow-strong);transform:translateY(-2px)}.glow-pulse{animation:none}.tech-title{color:var(--text-primary);font-family:var(--font-ui-title);font-size:var(--font-heading);letter-spacing:1.5px;text-shadow:none;align-items:center;gap:10px;font-weight:700;display:flex}.tech-title:before{content:"";background:var(--electric-blue);border-radius:2px;width:4px;height:16px;box-shadow:0 0 8px #00a8ff80}.dashboard-panel-meta{color:var(--text-muted);letter-spacing:1px;align-items:center;gap:8px;font-size:15px;display:flex}.dashboard-rate-number{font-size:26px;font-weight:800}.dashboard-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dashboard-overview-kpi{background:#ffffff09;border:1px solid #00a8ff1f;border-radius:4px;padding:12px 14px}.dashboard-overview-kpi span{color:var(--text-muted);font-size:var(--font-body-sm);letter-spacing:1px;display:block}.dashboard-overview-value{margin-top:8px;font-size:22px;font-weight:700;display:block}.dashboard-progress-track,.dashboard-region-bar__track{background:#ffffff0d;border-radius:999px;height:8px;position:relative;overflow:hidden}.dashboard-progress-fill,.dashboard-region-bar__fill{border-radius:inherit;background:linear-gradient(90deg,#00a8ff,#0f8);height:100%;transition:width .9s;box-shadow:0 0 10px #00a8ff66}.dashboard-region-bar{text-align:left;cursor:pointer;background:0 0;border:0;width:100%;padding:0;transition:transform .25s}.dashboard-region-bar:hover{transform:translate(4px)}.dashboard-region-bar__header{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.dashboard-region-name{color:var(--text-secondary);font-family:var(--font-ui-title);font-size:var(--font-body);letter-spacing:.8px}.dashboard-region-meta{color:var(--text-muted);font-size:15px;font-family:var(--font-ui-number);gap:10px;display:flex}.dashboard-region-bar.active .dashboard-region-name,.dashboard-region-bar.active .dashboard-region-meta{color:var(--app-text)}.dashboard-region-bar.active .dashboard-region-bar__fill{box-shadow:0 0 18px #00a8ff42,0 0 28px #7a6bff2e}.dashboard-ranking-row,.engineer-row{background:linear-gradient(135deg,#18223a,#1c2842);border:1px solid #243352;border-radius:6px;margin-bottom:8px;padding:12px 14px;transition:transform .25s,box-shadow .25s,border-color .25s;box-shadow:0 2px 6px #0000004d}.dashboard-ranking-row:hover,.engineer-row:hover{border-color:var(--app-primary-border);transform:translateY(-1px);box-shadow:0 4px 14px #00a8ff2e}.dashboard-ranking-row{align-items:center;gap:10px;display:flex}.dashboard-ranking-index{font-size:22px;font-weight:700}.dashboard-ranking-score{font-family:var(--font-ui-number);font-size:24px;font-weight:900;line-height:1}.dashboard-ranking-name{color:var(--text-primary);font-family:var(--font-ui-title);font-size:var(--font-body);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dashboard-ranking-meta{color:var(--text-muted);font-size:var(--font-caption);margin-top:3px}.dashboard-ranking-list,.dashboard-region-list{flex:1;min-height:0;padding-right:4px}.dashboard-region-list__inner{flex-direction:column;gap:12px;display:flex}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard-metric-card{background:var(--panel-bg);border:1px solid var(--panel-border);box-shadow:var(--panel-shadow);text-align:center;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;padding:18px 16px 16px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.dashboard-metric-card:before{content:"";background:var(--panel-top-bar);pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.dashboard-metric-card:after{content:none}.dashboard-metric-card:hover{box-shadow:var(--panel-shadow-strong);transform:translateY(-2px)}.dashboard-metric-card>*{z-index:1;position:relative}.dashboard-metric-head{justify-content:center;align-items:center;gap:10px;display:flex}.dashboard-metric-label{color:var(--text-secondary);font-family:var(--font-ui-title);font-size:var(--font-body);letter-spacing:1.5px}.dashboard-metric-value{font-size:var(--font-stat);color:var(--text-primary);text-shadow:0 0 12px;font-weight:700;line-height:1;font-family:var(--font-ui-number);margin-top:8px;display:block}.dashboard-metric-value:after{content:"";background:var(--metric-color,#00a8ff);width:40px;height:2px;box-shadow:0 0 8px var(--metric-color,#00a8ff);margin:10px auto 0;display:block}.dashboard-metric-caption{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:.8px;margin-top:4px}.dashboard-metric-card.accent-blue{--metric-color:var(--app-primary)}.dashboard-metric-card.accent-blue .dashboard-metric-value{color:var(--text-primary);text-shadow:0 0 12px #00a8ff}.dashboard-metric-card.accent-green{--metric-color:var(--app-success)}.dashboard-metric-card.accent-green .dashboard-metric-value{color:var(--text-primary);text-shadow:0 0 12px #0f8}.dashboard-metric-card.accent-orange{--metric-color:var(--app-danger)}.dashboard-metric-card.accent-orange .dashboard-metric-value{color:var(--text-primary);text-shadow:0 0 12px #ff0080}.dashboard-metric-card.accent-violet{--metric-color:var(--app-purple)}.dashboard-metric-card.accent-violet .dashboard-metric-value{color:var(--text-primary);text-shadow:0 0 12px #6f7cff}.dashboard-map-panel{padding:0}.dashboard-map-toolbar{z-index:10;align-items:flex-start;gap:10px;max-width:calc(100% - 28px);display:flex;position:absolute;top:14px;left:14px}.dashboard-search{width:434px;max-width:calc(100vw - 90px)}.dashboard-search-stack{flex-direction:column;gap:10px;display:flex}.dashboard-search-row{gap:10px;display:flex}.dashboard-search-row--filters{grid-template-columns:300px;justify-content:start;display:grid}.dashboard-map-search-input{flex:0 0 300px;width:300px;min-width:0}.dashboard-search-input-wrap{flex:0 0 300px;width:300px;min-width:0;position:relative}.dashboard-address-suggest{z-index:30;background:var(--panel-bg-solid,#0b1530);border:1px solid var(--panel-border,#78aaff38);border-radius:6px;max-height:320px;padding:4px 0;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}.dashboard-address-suggest-item{text-align:left;cursor:pointer;width:100%;color:var(--text-primary,var(--app-text));background:0 0;border:none;flex-direction:column;gap:2px;padding:7px 12px;transition:background .15s;display:flex}.dashboard-address-suggest-item:hover,.dashboard-address-suggest-item:focus-visible{background:#41f0ff1f;outline:none}.dashboard-address-suggest-name{color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;line-height:1.35;overflow:hidden}.dashboard-address-suggest-district{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.3;overflow:hidden}.dashboard-refresh-select{flex-shrink:0;width:120px}.dashboard-map-layer-control{border:1px solid var(--app-border-subtle);background:var(--app-surface);min-height:32px;box-shadow:var(--panel-shadow);border-radius:6px;flex-shrink:0;align-items:center;padding:5px 12px;display:inline-flex}.dashboard-filter-select,.dashboard-filter-select--building,.dashboard-location-cascader{width:100%}.dashboard-loading-overlay{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:radial-gradient(circle,#110b2aeb,#090818e6);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0}.dashboard-loading-text{color:var(--app-text);font-size:var(--font-subheading);letter-spacing:2px;margin-top:14px}.dashboard-service-panel-head{border-bottom:1px solid #19a3e82e;flex-shrink:0;padding:12px 18px 10px}.dashboard-service-subtitle{color:var(--text-muted);letter-spacing:.3px;font-size:17px}.dashboard-service-overview{border-bottom:1px solid #19a3e824;grid-template-columns:minmax(120px,.92fr) minmax(0,1.08fr);gap:8px;padding:10px 14px;display:grid}.dashboard-service-chart{height:130px;min-height:130px}.dashboard-service-legend{flex-direction:column;justify-content:center;gap:6px;display:flex}.dashboard-service-legend-item{color:var(--app-text-secondary);cursor:pointer;background:#ffffff06;border:1px solid #ffffff0f;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:4px 12px;font-size:16px;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;display:flex}.dashboard-service-legend-item:hover,.dashboard-service-legend-item.active{background:#ffffff0d;transform:translateY(-1px)}.dashboard-service-legend-item.active{border-color:var(--app-primary-border);box-shadow:0 0 14px #18cbff1f}.dashboard-service-legend-item strong{color:var(--app-text);font-family:var(--font-ui-number);letter-spacing:1px;font-size:24px;font-weight:700}.dashboard-service-legend-item--all strong{color:var(--text-primary);text-shadow:0 0 10px #00a8ff73}.dashboard-service-legend-item.service-idle strong{color:var(--text-primary);text-shadow:0 0 10px #00ff8873}.dashboard-service-legend-item.service-offline strong{color:var(--text-primary);text-shadow:0 0 10px #ff008073}.dashboard-service-legend-item__label{align-items:center;gap:10px;min-width:0;font-size:16px;display:inline-flex}.dashboard-status-breakdown{gap:10px;margin-top:14px;display:grid}.dashboard-status-breakdown-item{background:#ffffff08;border:1px solid #00a8ff24;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.dashboard-status-breakdown-label{color:var(--app-text);letter-spacing:.6px;align-items:center;gap:8px;font-size:15px;display:inline-flex}.dashboard-status-breakdown-chip{border-radius:999px;flex-shrink:0;width:10px;height:10px}.dashboard-status-breakdown-chip.status-available{background:#0f8;box-shadow:0 0 12px #00ff8894}.dashboard-status-breakdown-chip.status-unavailable{background:#ff0080;box-shadow:0 0 12px #ff008094}.dashboard-status-breakdown-metric{align-items:baseline;gap:10px;display:inline-flex}.dashboard-status-breakdown-value{color:var(--app-text);font-size:18px;font-weight:700}.dashboard-status-breakdown-rate{font-family:var(--font-ui-number);color:var(--text-primary);text-shadow:0 0 8px #00a8ff66;font-size:22px;font-weight:700}.dashboard-service-legend-item--all{color:var(--app-text)}.dashboard-service-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.dashboard-service-legend-dot.service-idle{background:#0f8;box-shadow:0 0 12px #00ff88a6}.dashboard-service-legend-dot.service-offline{background:#ff0080;box-shadow:0 0 12px #ff0080a6}.dashboard-service-search-wrap{flex-shrink:0;padding:8px 14px}.engineer-row{cursor:default;background:linear-gradient(135deg,#18223a,#1c2842);border:1px solid #243352;border-radius:6px;align-items:flex-start;gap:14px;margin-inline:8px;padding:14px;display:flex;box-shadow:0 2px 6px #0000004d}.dashboard-service-avatar{width:52px;height:52px;color:var(--app-text);background:radial-gradient(circle at 50% 38%,#15213af5,#0c172ae0);border:2px solid #ffffff14;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:inline-flex;position:relative}.dashboard-service-avatar.service-idle{color:#0f8;border-color:#0e7a5e;box-shadow:0 0 14px #00ff882e}.dashboard-service-avatar.service-offline{color:#f69;border-color:#75145c;box-shadow:0 0 14px #ff008029}.dashboard-service-avatar-dot{border:2px solid #0a0e17f5;border-radius:50%;width:10px;height:10px;position:absolute;bottom:4px;right:4px}.dashboard-service-avatar-dot.service-idle{background:#0f8;box-shadow:0 0 12px #00ff88a8}.dashboard-service-avatar-dot.service-offline{background:#ff0080;box-shadow:0 0 12px #ff0080a8}.dashboard-service-card-main{flex:1;min-width:0;padding-top:4px}.dashboard-service-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.dashboard-service-name-wrap{min-width:0}.dashboard-service-name{color:var(--app-text);font-family:var(--font-ui-title);font-size:var(--font-body);letter-spacing:.4px;font-weight:700;line-height:1.2;display:block}.dashboard-service-company,.dashboard-service-region{min-width:0;color:var(--app-text-secondary);font-size:var(--font-body-sm);align-items:center;gap:6px;margin-top:8px;display:flex}.dashboard-service-company{flex-wrap:wrap}.dashboard-service-separator,.dashboard-service-region{color:var(--app-text-secondary)}.dashboard-service-region .anticon{color:var(--app-primary);font-size:var(--font-subheading)}.dashboard-service-region em{color:var(--app-primary);font-style:normal}.service-status-button{cursor:pointer;border:1px solid;border-radius:999px;transition:transform .2s,box-shadow .2s,border-color .2s,background .2s}.service-status-button.service-idle{color:var(--app-success);background:linear-gradient(90deg,#41f0ff2e,#36c3ff2e);border-color:#41f0ff52;box-shadow:0 0 12px #41f0ff29}.service-status-button.service-offline{color:var(--app-danger);background:linear-gradient(90deg,#ff58cc2e,#8d5cff2e);border-color:#ff58cc52;box-shadow:0 0 12px #ff58cc29}.engineer-status-button{min-width:64px;font-size:var(--font-caption);letter-spacing:.3px;padding:4px 10px;font-weight:600}.engineer-status-button:hover{transform:translateY(-1px)}.map-status-button{letter-spacing:1px;flex-shrink:0;padding:4px 12px;font-size:13px}.dashboard-panel-footer{color:var(--text-muted);font-size:var(--font-caption);letter-spacing:1px;border-top:1px solid #ffffff14;justify-content:space-between;gap:8px;padding:12px 18px 16px;display:flex}.dashboard-empty{height:100%;min-height:120px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}@media(max-width:1440px){.dashboard-service-overview{grid-template-columns:1fr}.dashboard-service-chart{height:148px;min-height:148px}}.amap-info-content{background:var(--app-surface)!important;border:1px solid var(--app-primary-border)!important;box-shadow:var(--app-shadow)!important;border-radius:4px!important;padding:0!important;overflow:hidden!important}.amap-info-sharp{border-top-color:var(--app-primary-border)!important}.amap-info-close{color:var(--app-text-secondary)!important}html[data-theme=light] .dashboard-grid{background-image:linear-gradient(#94a3b82e 1px,#0000 1px),linear-gradient(90deg,#94a3b82e 1px,#0000 1px)}html[data-theme=light] .dashboard-aura{background:radial-gradient(circle,#1677ff17,#1677ff08,#0000 70%)}html[data-theme=light] .dashboard-hero-title,html[data-theme=light] .dashboard-clock,html[data-theme=light] .tech-title,html[data-theme=light] .dashboard-metric-value{color:var(--text-primary);text-shadow:none}html[data-theme=light] .dashboard-kicker,html[data-theme=light] .dashboard-hero-subtitle,html[data-theme=light] .dashboard-icon-button,html[data-theme=light] .dashboard-role-badge,html[data-theme=light] .dashboard-region-bar.active .dashboard-region-name,html[data-theme=light] .dashboard-region-bar.active .dashboard-region-meta,html[data-theme=light] .dashboard-service-name,html[data-theme=light] .dashboard-service-company,html[data-theme=light] .dashboard-service-region,html[data-theme=light] .dashboard-service-legend-item--all{color:var(--text-secondary)}html[data-theme=light] .dashboard-overview-kpi,html[data-theme=light] .dashboard-service-overview,html[data-theme=light] .dashboard-service-stat{border-color:var(--panel-border);background:#f8fafc}html[data-theme=light] .dashboard-ranking-row,html[data-theme=light] .engineer-row{border-color:var(--panel-border);background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 2px 6px #0f172a14}html[data-theme=light] .dashboard-service-avatar{background:#eef2f6}html[data-theme=light] .dashboard-service-avatar.service-idle{color:var(--app-success);border-color:#41f0ff52;box-shadow:0 0 12px #41f0ff1f}html[data-theme=light] .dashboard-service-avatar.service-offline{color:var(--app-danger);border-color:#ff58cc52;box-shadow:0 0 12px #ff58cc1f}html[data-theme=light] .dashboard-service-avatar-dot{border-color:#eef2f6}html[data-theme=light] .dashboard-service-avatar-dot.service-idle{background:var(--app-success);box-shadow:0 0 8px #41f0ff47}html[data-theme=light] .dashboard-service-avatar-dot.service-offline{background:var(--app-danger);box-shadow:0 0 8px #ff58cc47}html[data-theme=light] .dashboard-progress-track,html[data-theme=light] .dashboard-region-bar__track{background:#dbe3ed;box-shadow:inset 0 0 0 1px #0f172a0f}html[data-theme=light] .dashboard-panel-footer{border-top-color:var(--panel-border)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
