/* Satellite composition adapted from the user's Ze Console control surface. */
:root{--console-glass:linear-gradient(155deg,rgba(29,31,31,.49),rgba(7,8,9,.39)),rgba(12,14,14,.30);--console-shadow:0 34px 100px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.045);--console-blur:blur(27px) saturate(.78);--operations-width:clamp(370px,32vw,480px)}
html,body{height:100%;overflow:hidden}body{background:#070809}body:after{display:none}#app{position:relative;z-index:3;height:100%;pointer-events:none}#app button,#app a,#app input,#app select,#app form{pointer-events:auto}
#world-scene{position:fixed;inset:0;z-index:0;overflow:hidden;background:#07090b}#world-map{position:absolute;inset:0;opacity:0;transition:opacity 1.5s}#world-scene[data-ready=true] #world-map{opacity:1}.scene-hidden{visibility:hidden}
.world-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 36%,#24353e 0,transparent 48%),#070a0d}.fallback-orb{position:absolute;width:70vw;height:70vw;max-width:1100px;max-height:1100px;border-radius:50%;left:35%;top:9%;background:radial-gradient(circle at 34% 28%,#62777822,transparent 56%),repeating-linear-gradient(14deg,transparent 0 39px,#b3d2d409 40px 41px),radial-gradient(circle at 24% 36%,#304d4b,#17292f 30%,#070e14 66%,#030609 79%);box-shadow:inset -60px -50px 110px #000c,0 0 100px #8eadb719;border:1px solid #b6ced518;transform:rotate(-18deg);animation:orb-drift 40s ease-in-out infinite alternate}
@keyframes orb-drift{to{transform:rotate(-3deg) translate3d(-2%,2%,0)}}
.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(3,6,9,.72),transparent 27%,transparent 62%,rgba(3,5,8,.48)),linear-gradient(90deg,rgba(3,5,7,.40),transparent 60%)}
.world-attribution{position:absolute;right:18px;bottom:4px;font-size:calc(9px * var(--readability-scale,1));color:#b1b9bc;text-shadow:0 1px 5px #000;z-index:2;pointer-events:none}
#world-scene[data-state=unavailable]:after,#world-scene[data-state=degraded]:after{content:'地图底图暂不可用 · 仓库资料仍可查看';position:absolute;right:20px;bottom:24px;font-size:calc(10px * var(--readability-scale,1));color:#c6b699;background:#101418cc;padding:7px 10px;border-radius:10px}
html[lang=en] #world-scene[data-state=unavailable]:after,html[lang=en] #world-scene[data-state=degraded]:after{content:'Map imagery unavailable · Warehouse data remains available'}
.console-header{position:fixed;z-index:25;top:12px;left:18px;right:18px;width:auto;min-height:52px;height:52px;padding:0;gap:22px;border:0;background:transparent;backdrop-filter:none;box-shadow:none;display:flex;flex-wrap:nowrap;pointer-events:auto}
.console-header .brand{font-size:calc(22px * var(--readability-scale,1));letter-spacing:.17em;flex-shrink:0}.brand span{font-size:calc(8px * var(--readability-scale,1));letter-spacing:.2em}.console-header nav{gap:2px;flex:1;justify-content:flex-start;min-width:0;overflow:auto;scrollbar-width:none}.nav-item{padding:10px 12px;font-size:calc(11px * var(--readability-scale,1));border-radius:10px;background:transparent;text-shadow:0 3px 14px #000b;white-space:nowrap}.nav-item.active{background:#edf4f00c;box-shadow:inset 0 1px #ffffff0a}.console-header .nav-item .icon{display:none}.header-actions{margin-left:auto;display:flex;gap:8px;flex-shrink:0}.language-switch{display:flex;padding:3px;border:1px solid #ffffff14;border-radius:30px;background:#0e121266;backdrop-filter:blur(18px)}.language-switch button{font-size:calc(11px * var(--readability-scale,1));min-width:31px;min-height:30px;border-radius:50%;color:#a3aeb2}.language-switch button[aria-pressed=true]{color:#eef3f4;background:#ffffff16}
.main-shell{max-width:none;height:100vh;padding:76px 24px 24px;pointer-events:none}.topbar{height:40px;min-height:40px;border:0;padding:0 3px;margin-bottom:8px}.breadcrumb{font-size:calc(10px * var(--readability-scale,1));color:#a9b6bb;text-shadow:0 2px 10px #000}.topbar-right{gap:10px}.topbar .timezone{font-size:calc(9px * var(--readability-scale,1))}.topbar .mode-switch{background:#090e1277;border-color:#ffffff15;backdrop-filter:blur(22px)}.topbar .mode-switch button{font-size:calc(10px * var(--readability-scale,1));padding:8px 11px}.topbar .assistant-trigger{min-height:34px;padding:7px 12px;font-size:calc(10px * var(--readability-scale,1))}
main#main{position:relative;height:calc(100% - 48px);overflow:auto;padding:22px 0 0;pointer-events:auto;scrollbar-width:thin;scrollbar-color:#aabac12b transparent}.page-heading{margin:0 0 22px}.page-heading h1{font-size:calc(38px * var(--readability-scale,1));font-weight:400;text-shadow:0 12px 32px #0007}.page-heading .eyebrow{color:#b0bec1}.workspace-banner{background:#10191c66;backdrop-filter:blur(20px);border-color:#e3f6ff14}.page-content{position:relative}.page-footer{background:transparent}
.panel,.metric,.warehouse-card,.insight-card,.opportunity,.source-card,.focus-panel,.welcome-empty{background:var(--console-glass);box-shadow:var(--console-shadow);backdrop-filter:var(--console-blur);-webkit-backdrop-filter:var(--console-blur);border:1px solid #eafaff0b}.metric:before{background:radial-gradient(ellipse at top right,#a3c6d116,transparent 75%)}.table-wrap{background:#080b0e12}.note-box{background:#0e141777;backdrop-filter:blur(20px)}.page-heading,.analysis-intro{color:#eef3f4}.eyebrow{color:#9caeb3}.panel-head p,.muted{color:#a3afb3}
body[data-page=overview] .main-shell{padding:0}body[data-page=overview] .topbar{position:fixed;z-index:10;right:24px;top:78px;height:32px;margin:0;pointer-events:none}body[data-page=overview] .topbar .breadcrumb,body[data-page=overview] .topbar .timezone{display:none}body[data-page=overview] main#main{height:100vh;overflow:hidden;padding:0;pointer-events:none}body[data-page=overview] .page-heading,body[data-page=overview] .workspace-banner,body[data-page=overview] .page-footer{display:none}
.command-layout{position:relative;height:100vh;min-height:680px;pointer-events:none}.operations-panel{position:absolute;left:16px;top:80px;bottom:20px;width:var(--operations-width);padding:12px;display:flex;flex-direction:column;gap:10px;overflow:auto;scrollbar-width:thin;scrollbar-color:#c7d3d519 transparent;border-radius:24px;background:var(--console-glass);backdrop-filter:var(--console-blur);-webkit-backdrop-filter:var(--console-blur);box-shadow:var(--console-shadow);border:1px solid #ffffff0a;pointer-events:auto;animation:surface-enter .9s .15s backwards}
@keyframes surface-enter{from{transform:translate3d(-20px,8px,0)}to{transform:none}}
.operations-tabs{display:grid;grid-template-columns:repeat(4,1fr);padding:4px;background:#0003;border-radius:14px;min-height:39px;gap:3px}.operations-tabs button{font-size:calc(11px * var(--readability-scale,1));border-radius:10px;min-width:0;white-space:nowrap;color:#98a4a9}.operations-tabs button.active{background:#ffffff12;color:#f3f5f6;box-shadow:0 8px 22px #0003}.operations-status{display:grid;grid-template-columns:repeat(3,1fr);background:#0002;border-radius:15px;min-height:66px}.operations-status button{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.operations-status button+button{border-left:1px solid #ffffff0b}.operations-status span{display:flex;align-items:center;gap:6px;font-size:calc(10px * var(--readability-scale,1));color:#a4afb2;white-space:nowrap}.operations-status strong{font-size:calc(26px * var(--readability-scale,1));font-weight:400;letter-spacing:-.04em}.operations-status small{font-size:calc(12px * var(--readability-scale,1));color:#8b979b;margin-left:3px}.operations-status .status-word{font-size:calc(15px * var(--readability-scale,1));letter-spacing:0}.signal-dot{display:inline-block;flex-shrink:0;width:5px;height:5px;border-radius:100%;background:#88c8ac;box-shadow:0 0 10px #88c8ac66}.signal-dot.amber{background:#d2aa67;box-shadow:0 0 8px #d2aa6744}
.operations-revenue{border-radius:17px;background:linear-gradient(145deg,#ffffff09,#ffffff02);padding:17px 15px 12px}.section-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8e9ca1;font-size:calc(10px * var(--readability-scale,1))}.section-row .eyebrow{margin:0;font-size:calc(10px * var(--readability-scale,1))}.section-row .text-btn{font-size:calc(10px * var(--readability-scale,1))}.revenue-value{font-size:clamp(34px,3.1vw,48px);font-weight:300;letter-spacing:-.065em;font-variant-numeric:tabular-nums;margin:8px 0}.revenue-comparison{display:flex;align-items:center;gap:8px;font-size:calc(9px * var(--readability-scale,1));color:#96a7ad;flex-wrap:wrap}.revenue-comparison .text-btn{margin-left:auto;font-size:calc(10px * var(--readability-scale,1))}.operations-revenue .date-controls{margin-top:14px}.operations-revenue .segmented{width:100%;display:flex;background:#05090933;padding:3px}.operations-revenue .segmented button{font-size:calc(10px * var(--readability-scale,1));flex:1;padding:7px}.operations-revenue input[type=month]{min-width:135px}.command-trend .trend-svg{padding:10px 0 0}.command-trend svg{height:110px;width:100%}.command-trend svg text{font-size:calc(13px * var(--readability-scale,1))}.command-trend{margin:0 -7px}.command-channels{padding:10px;border-radius:17px;background:#0002}.channel-surfaces{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.channel-surface{position:relative;text-align:left;padding:12px;border-radius:13px;background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid #ffffff07;min-width:0;transition:background .2s,transform .2s}.channel-surface:hover{background:#d1e6e511;transform:translateY(-2px)}.surface-topline{display:flex;align-items:center;justify-content:space-between;font-size:calc(11px * var(--readability-scale,1));color:#bfcbcf}.channel-surface strong{display:block;margin:10px 0 2px;font-size:calc(23px * var(--readability-scale,1));font-weight:400;letter-spacing:-.045em}.channel-surface small{font-size:calc(9px * var(--readability-scale,1));color:#86979d}.surface-change{position:absolute;right:10px;bottom:12px;font-size:calc(10px * var(--readability-scale,1))}.surface-change .change{font-size:calc(10px * var(--readability-scale,1))}.command-warehouse{padding:10px}.city-links{display:flex;gap:6px;margin-top:12px}.map-place{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#fff1;border-radius:10px;font-size:calc(10px * var(--readability-scale,1));white-space:nowrap}.map-place i{width:4px;height:4px;background:#c9edff;border-radius:50%;box-shadow:0 0 8px #c9edff}.map-place .icon{width:10px;height:10px}.unlocated{display:flex;flex-wrap:wrap;gap:10px;font-size:calc(9px * var(--readability-scale,1));color:#98a7ac;margin-top:12px}.unlocated .text-btn{font-size:calc(9px * var(--readability-scale,1));margin-left:auto}.command-notice{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;font-size:calc(10px * var(--readability-scale,1));color:#a3b1b7;border-top:1px solid #fff1}.command-notice .signal-dot{margin-top:6px}.command-notice p{margin:0;line-height:1.7}.command-notice .text-btn{font-size:calc(10px * var(--readability-scale,1));margin-left:8px}
.map-hero-copy{position:absolute;top:134px;left:calc(var(--operations-width) + 52px);right:28px;pointer-events:none;animation:surface-enter 1.2s .4s backwards}.map-hero-copy>.eyebrow{font-size:calc(10px * var(--readability-scale,1));letter-spacing:.24em;color:#bac7cd;text-shadow:0 2px 12px #000}.map-hero-copy h1{font-size:clamp(38px,4.8vw,72px);font-weight:350;letter-spacing:-.035em;line-height:1.1;margin:14px 0 18px;text-shadow:0 12px 44px #0008}.map-hero-copy h1 span{display:block}.map-hero-copy h1 span:first-child{font-family:Georgia,serif;font-size:1.05em;letter-spacing:-.055em}.map-hero-meta{display:flex;gap:6px;flex-wrap:wrap}.map-hero-meta span{display:inline-flex;align-items:center;gap:7px;font-size:calc(9px * var(--readability-scale,1));padding:7px 10px;background:#090e1455;border-radius:30px;backdrop-filter:blur(14px);color:#c3d0d5}.map-control-cluster{position:absolute;left:calc(var(--operations-width) + 52px);bottom:280px;display:flex;gap:8px;pointer-events:auto}.map-tool{display:flex;align-items:center;gap:7px;min-height:35px;padding:9px 12px;border-radius:20px;background:#08101980;backdrop-filter:blur(15px);box-shadow:inset 0 1px #fff1;font-size:calc(10px * var(--readability-scale,1));color:#b9cbd3}.map-tool .icon{width:13px;height:13px}.map-tool:hover{background:#1c2b3499;color:#fff}
.map-insight-panel{position:absolute;left:calc(var(--operations-width) + 52px);right:26px;bottom:22px;padding:20px 22px 15px;border-radius:20px;background:var(--console-glass);box-shadow:var(--console-shadow);backdrop-filter:var(--console-blur);border:1px solid #ffffff0a;pointer-events:auto;animation:surface-enter 1.15s .5s backwards}.brief-top{display:flex;align-items:center;justify-content:space-between;gap:18px}.brief-top h2{font-size:calc(20px * var(--readability-scale,1));font-weight:400;margin:5px 0 0;letter-spacing:-.03em}.brief-top .eyebrow{font-size:calc(9px * var(--readability-scale,1))}.brief-top .btn{font-size:calc(10px * var(--readability-scale,1));padding:8px 12px;min-height:33px;flex-shrink:0}.brief-summary{font-size:calc(11px * var(--readability-scale,1));color:#bdcbd0;line-height:1.7;margin:12px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brief-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.brief-facts>div{display:flex;gap:8px;border-top:1px solid #fff1;padding-top:9px}.brief-facts span{font-size:calc(9px * var(--readability-scale,1));color:#90a2a8;margin-top:3px}.brief-facts p{font-size:calc(10px * var(--readability-scale,1));color:#adbfc7;line-height:1.7;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.brief-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;font-size:calc(9px * var(--readability-scale,1));color:#8fa3ac}.brief-bottom .text-btn{font-size:calc(10px * var(--readability-scale,1))}
.warehouse-beacon{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;color:#ebf8ff;text-shadow:0 2px 12px #000;cursor:pointer;border:0;background:none;padding:12px;pointer-events:auto}.warehouse-beacon>i{position:relative;width:7px;height:7px;border-radius:50%;background:#daefff;box-shadow:0 0 12px 3px #a6d9fa99,0 0 36px 10px #8bbed54d}.warehouse-beacon>i:after{content:'';position:absolute;inset:-9px;border:1px solid #b2e1ff77;border-radius:50%;animation:beacon-pulse 3.8s ease-out infinite}.warehouse-beacon span{padding:5px 9px;border-radius:8px;background:#08121b88;backdrop-filter:blur(8px);font-size:calc(11px * var(--readability-scale,1));white-space:nowrap}.warehouse-beacon small{margin-left:7px;font-size:calc(9px * var(--readability-scale,1));color:#a3b7c3}@keyframes beacon-pulse{0%{transform:scale(.5);opacity:.8}100%{transform:scale(1.7);opacity:0}}
body:not([data-page=overview]) .warehouse-beacon{display:none}.maplibregl-popup{z-index:35;pointer-events:auto}.maplibregl-popup-content{background:#111b22eb;color:#e6f1f5;border:1px solid #d4e7ef22;border-radius:17px;backdrop-filter:blur(25px);box-shadow:0 25px 70px #0008;padding:20px}.maplibregl-popup-tip{border-top-color:#111b22eb!important}.maplibregl-popup-close-button{color:#dfeaf0;font-size:calc(22px * var(--readability-scale,1));right:8px;top:4px}.warehouse-popover h3{margin:8px 0;font-size:calc(20px * var(--readability-scale,1))}.warehouse-popover section{border-top:1px solid #fff1;padding:10px 0}.warehouse-popover strong{font-size:calc(12px * var(--readability-scale,1))}.warehouse-popover p{font-size:calc(11px * var(--readability-scale,1));margin:5px 0}.warehouse-popover small{color:#a9bac4;font-size:calc(10px * var(--readability-scale,1))}.warehouse-popover .eyebrow{font-size:calc(9px * var(--readability-scale,1))}.warehouse-popover .text-btn{font-size:calc(11px * var(--readability-scale,1))}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation-play-state:paused!important}
@media(min-width:1700px){:root{--operations-width:500px}.operations-panel{gap:14px;padding:16px}.operations-revenue{padding:22px}.command-trend svg{height:150px}.channel-surface{padding:17px}.channel-surface strong{font-size:calc(28px * var(--readability-scale,1))}.operations-status{min-height:78px}.map-hero-copy{top:145px}.map-insight-panel{bottom:28px;padding:24px;min-height:240px}.map-control-cluster{bottom:286px}}
@media(max-width:1200px){.console-header{gap:12px}.nav-item{font-size:calc(10px * var(--readability-scale,1));padding:9px}.console-header .brand{font-size:calc(19px * var(--readability-scale,1))}.map-hero-copy{left:calc(var(--operations-width) + 35px)}.map-insight-panel,.map-control-cluster{left:calc(var(--operations-width) + 35px)}.brief-facts{gap:8px}.operations-status button{padding:10px 8px}.operations-status span{font-size:calc(9px * var(--readability-scale,1))}}
@media(max-width:1050px){html,body{overflow:auto}#app{height:auto;min-height:100vh}.console-header{position:relative;top:auto;left:auto;right:auto;margin:14px 18px;height:auto;min-height:70px;flex-wrap:wrap}.console-header nav{order:3;flex-basis:100%;justify-content:flex-start}.header-actions{position:absolute;right:0;top:0}.main-shell{height:auto;padding:0 20px 20px}.topbar{margin-bottom:18px;min-height:38px;height:auto}.breadcrumb{display:none}main#main{height:auto;overflow:visible;padding:12px 0}body[data-page=overview] main#main{height:auto;overflow:visible}body[data-page=overview] .topbar{position:relative;top:auto;right:auto;margin:0 20px 0;justify-content:flex-end}body[data-page=overview] .main-shell{padding:0 20px 20px}.command-layout{height:auto;min-height:0;display:grid;grid-template-columns:1fr;gap:15px}.map-hero-copy{position:relative;order:0;top:auto;left:auto;right:auto;padding:20px 5px;min-height:310px;display:flex;flex-direction:column;justify-content:flex-start}.map-hero-copy h1{font-size:calc(48px * var(--readability-scale,1))}.operations-panel{position:relative;order:2;top:auto;bottom:auto;left:auto;width:auto;overflow:visible}.map-control-cluster{position:relative;order:1;bottom:auto;left:auto;justify-content:flex-end}.map-insight-panel{position:relative;order:3;bottom:auto;left:auto;right:auto}.operations-revenue .command-trend svg{height:140px}.channel-surface strong{font-size:calc(28px * var(--readability-scale,1))}.world-attribution{font-size:calc(8px * var(--readability-scale,1));right:8px}.world-vignette{background:linear-gradient(180deg,#030609bb,transparent 24%,#03080b33 65%,#03080bbb)}.map-hero-meta{max-width:450px}.nav-item{font-size:calc(11px * var(--readability-scale,1))}.warehouse-beacon span{font-size:calc(10px * var(--readability-scale,1))}.maplibregl-popup{max-width:270px!important}}
@media(max-width:600px){.console-header{margin:14px 16px}.main-shell,body[data-page=overview] .main-shell{padding:0 12px 20px}.topbar-right{gap:7px;flex-wrap:wrap}.topbar .timezone{display:none}.topbar .mode-switch button{padding:7px 9px}.topbar .assistant-trigger{font-size:calc(10px * var(--readability-scale,1))}.topbar .session-user{font-size:calc(9px * var(--readability-scale,1))}.map-hero-copy{min-height:300px;padding:20px 8px}.map-hero-copy h1{font-size:calc(41px * var(--readability-scale,1))}.map-hero-meta{gap:5px}.map-hero-meta span{font-size:calc(8px * var(--readability-scale,1));padding:6px 8px}.operations-panel{padding:10px;gap:9px}.operations-status button{display:block;text-align:left}.operations-status strong{display:block;margin-top:6px}.operations-status span{font-size:calc(10px * var(--readability-scale,1))}.operations-status .status-word{font-size:calc(19px * var(--readability-scale,1));margin-top:11px}.operations-revenue{padding:16px 12px}.revenue-value{font-size:calc(38px * var(--readability-scale,1))}.revenue-comparison{font-size:calc(9px * var(--readability-scale,1))}.channel-surface strong{font-size:calc(24px * var(--readability-scale,1))}.city-links{flex-wrap:wrap}.brief-top h2{font-size:calc(18px * var(--readability-scale,1))}.map-insight-panel{padding:18px 16px}.brief-facts{grid-template-columns:1fr}.brief-facts p{-webkit-line-clamp:2}.brief-top .btn{font-size:calc(9px * var(--readability-scale,1))}.brief-bottom{flex-wrap:wrap}.warehouse-beacon small{display:none}.map-tool{font-size:calc(10px * var(--readability-scale,1))}.operations-tabs button{font-size:calc(10px * var(--readability-scale,1))}.page-heading h1{font-size:calc(30px * var(--readability-scale,1))}.world-attribution{max-width:90vw;white-space:normal}.fallback-orb{width:150vw;height:150vw;left:10%;top:10%}}
@media(prefers-reduced-motion:reduce){.fallback-orb,.warehouse-beacon>i:after,.operations-panel,.map-hero-copy,.map-insight-panel{animation:none!important}#world-map{transition:none}}

.operations-status small{display:inline}.command-trend svg{height:92px}.operations-panel{gap:8px}.channel-surface{padding:11px}.map-hero-copy h1 span:last-child{font-weight:400}

.login-language{position:absolute;top:24px;right:24px;pointer-events:auto}.login-language button{pointer-events:auto}

#world-scene[data-ready=true] .fallback-orb{display:none}.modal-heading .language-switch{margin-left:auto;flex-shrink:0}.modal-heading h2{min-width:0}

#map-overlays{position:fixed;inset:0;z-index:40;pointer-events:none}#map-overlays .maplibregl-popup{pointer-events:none}#map-overlays .maplibregl-popup-content{pointer-events:auto}

/* Ze Console's shared frosted surface. Apply blur on the outer glass, not the
   page wrapper; nested content then inherits the softened map behind it. */
.operations-panel,.map-insight-panel,.panel,.metric,.warehouse-card,
.insight-card,.opportunity,.source-card,.focus-panel,.welcome-empty,
.login-card,dialog,#assistant-panel,.maplibregl-popup-content{
  background:var(--console-glass);
  box-shadow:var(--console-shadow);
  -webkit-backdrop-filter:var(--console-blur);
  backdrop-filter:var(--console-blur);
}
.modal-heading,.ai-heading{
  background:linear-gradient(155deg,rgba(29,31,31,.42),rgba(7,8,9,.32)),rgba(12,14,14,.22);
  -webkit-backdrop-filter:var(--console-blur);
  backdrop-filter:var(--console-blur);
}
