/* A full-canvas map with glass instrument panels floating on both sides. */
.ops-screen{min-height:850px;background:#020b1d;position:relative;isolation:isolate}
.ops-screen>.ops-geography{position:absolute;inset:0;z-index:0;margin:0;padding:0!important;border:0;border-radius:0;background:none;box-shadow:none;pointer-events:none;overflow:hidden}
.ops-screen>.ops-geography::before,.ops-screen>.ops-geography::after,.ops-screen>.ops-geography>.ops-panel-title,.ops-screen>.ops-geography>.ops-caption{display:none}
.ops-screen>.ops-geography>div:last-child{height:100%;display:block!important;position:relative}
.ops-screen>.ops-geography>div:last-child>div:nth-child(2){height:100%}
.ops-screen>.ops-geography .ops-map{position:absolute;inset:0;width:100%;height:100%!important;min-height:0!important;max-height:none;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 45%,#0a3c7899,transparent 65%),#030e22;pointer-events:auto}
.ops-screen>.ops-geography .ops-map-summary{position:absolute;left:320px;right:340px;top:235px;text-align:center;z-index:2;background:#06182d88;border:1px solid #4e9cc52b;border-radius:9px;padding:9px 13px;backdrop-filter:blur(10px);font-size:10px;color:#87dbff;pointer-events:none}
.ops-screen>.ops-geography .ops-map-legend{position:absolute;left:320px;right:340px;bottom:88px;justify-content:center;z-index:2;padding:9px;border-radius:9px;background:#06172c99;backdrop-filter:blur(10px);pointer-events:none}
.ops-screen>.ops-geography .ops-map-controls{left:50%;top:auto;bottom:130px;transform:translateX(-50%);z-index:3;white-space:nowrap;flex-wrap:nowrap}
.ops-screen>.ops-geography .ops-map-attribution{bottom:70px;left:320px;right:340px}
.ops-screen>.ops-geography .ops-map-empty{position:absolute;z-index:4;top:45%;left:34%;right:34%;background:#07172ed9;backdrop-filter:blur(10px);pointer-events:auto}
.ops-screen>.ops-header,.ops-screen>.ops-toolbar,.ops-screen>.ops-filters,.ops-screen>.ops-message{position:relative;z-index:3}
.ops-screen>.ops-header{min-height:80px;pointer-events:auto;background:linear-gradient(#05142bea,transparent);padding-bottom:16px}
.ops-screen>.ops-data{position:relative;z-index:2;pointer-events:none}
.ops-screen .ops-grid{grid-template-columns:minmax(220px,280px) minmax(120px,1fr) minmax(240px,300px);min-height:520px;gap:25px}
.ops-screen .ops-map-spacer{grid-column:auto;grid-row:auto;pointer-events:none}
.ops-screen .ops-grid>.ops-column:not(.ops-map-spacer){pointer-events:auto}
.ops-screen .ops-grid .ops-panel,.ops-screen .ops-metrics article{background:linear-gradient(135deg,#16375177,#06172b77);backdrop-filter:blur(15px) saturate(1.25);border-color:#4e9fce4a;box-shadow:inset 0 0 26px #429be00a,0 9px 30px #0003;border-radius:12px}
.ops-screen .ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:0;pointer-events:auto}
.ops-screen .ops-metrics article{padding:11px}.ops-screen .ops-metrics strong{font-size:23px}.ops-screen .ops-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-screen .ops-chart{height:150px}
.ops-screen .ops-shortcuts{pointer-events:auto;position:relative;background:#061327aa;backdrop-filter:blur(10px);border-radius:12px;padding:10px;margin-top:14px;gap:8px}.ops-screen>.ops-data>.ops-footnote{color:#789ab8;background:#04132777;padding:7px;border-radius:5px}
.ops-screen[data-panels=hidden] .ops-grid>.ops-column:not(.ops-map-spacer){opacity:0;visibility:hidden;pointer-events:none}
.ops-screen .ops-detail{pointer-events:auto}
@media(min-width:1101px){.ops-screen>.ops-geography .ops-map-controls{bottom:190px}.ops-screen>.ops-geography .ops-map-legend{bottom:150px}.ops-screen>.ops-geography .ops-map-attribution{bottom:135px}}
@media(min-width:1101px){
 .ops-screen{height:max(850px,calc(100dvh - 180px));display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}
 .ops-screen>.ops-data{flex:1;min-height:0;display:flex;flex-direction:column}
 .ops-screen .ops-grid{flex:1;height:auto!important;min-height:0!important}
 .ops-screen .ops-grid>.ops-column{max-height:100%;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:#3582a766 transparent}
 .ops-screen .ops-grid .ops-panel,.ops-screen .ops-grid .ops-metrics{flex-shrink:0}
 .ops-screen:fullscreen{height:100dvh;min-height:0;display:flex;padding:16px 24px}
 .ops-screen:fullscreen .ops-grid{grid-template-columns:280px minmax(120px,1fr) 300px}
 .ops-screen:fullscreen .ops-geography>div:last-child>div:nth-child(2){min-height:0}
}
@media(max-width:1100px){
 .ops-screen{height:auto;min-height:0;padding:14px}
 .ops-screen>.ops-geography{position:relative;inset:auto;height:480px;order:0;margin-top:12px;pointer-events:auto}
 .ops-screen>.ops-geography .ops-map-summary{top:55px;left:10px;right:10px;font-size:9px}
 .ops-screen>.ops-geography .ops-map-legend{left:10px;right:10px;bottom:18px}
 .ops-screen>.ops-geography .ops-map-controls{bottom:65px}.ops-screen>.ops-geography .ops-map-attribution{bottom:5px;left:10px;right:10px}
 .ops-screen>.ops-geography .ops-map-empty{left:12%;right:12%;top:40%}
 .ops-screen .ops-map-spacer{display:none}.ops-screen .ops-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;gap:12px}
 .ops-screen>.ops-data{pointer-events:auto}.ops-screen .ops-grid>.ops-column:last-child{grid-row:auto}
 .ops-screen .ops-grid>.ops-column{max-height:none;overflow:visible}
}
@media(max-width:600px){.ops-screen .ops-grid{grid-template-columns:minmax(0,1fr)}.ops-screen>.ops-geography{height:420px}.ops-screen>.ops-geography .ops-map-legend small{display:none}}

/* Existing dashboard: darker aurora, luminous depth, and actual metrics. */
.dashboard-observatory[data-style=aurora]{--dash-bg:#06142d;--dash-text:#e2f0ff;--dash-muted:#95b7d6;background:radial-gradient(ellipse at 20% 0,#134e7788,transparent 55%),radial-gradient(ellipse at 100% 70%,#44358255,transparent 55%),#06142d;color:#dcefff;border-color:#53a8d355}
.dashboard-observatory[data-style=aurora] .observatory-panel,.dashboard-observatory[data-style=aurora] .observatory-stat{background:linear-gradient(145deg,#315c822b,#10284255);backdrop-filter:blur(16px);border-color:#6bafdf3a;box-shadow:0 12px 35px #010a1930,inset 0 1px #9edaff15}
.dashboard-observatory[data-style=aurora] h2,.dashboard-observatory[data-style=aurora] h3,.dashboard-observatory[data-style=aurora] strong,.dashboard-observatory[data-style=aurora] .observatory-value{color:#dcf3ff}
.dashboard-observatory[data-style=aurora] p,.dashboard-observatory[data-style=aurora] .observatory-stat-top,.dashboard-observatory[data-style=aurora] .observatory-kicker{color:#92b9d8}

/* Let page/panel scroll chain naturally; touch panning must not trap the page. */
.ops-screen .ops-map>svg{touch-action:pan-y}
.ops-screen .ops-grid>.ops-column,.ops-screen .ops-user-list,.ops-detail{overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}
@media(min-width:1101px){.ops-screen{overflow-x:hidden;overflow-y:auto}.ops-screen:fullscreen{overflow-x:hidden;overflow-y:auto}.ops-screen>.ops-header,.ops-screen>.ops-toolbar,.ops-screen>.ops-filters,.ops-screen>.ops-message{flex-shrink:0}.ops-screen .ops-grid>.ops-column{overflow-x:hidden;overflow-y:auto;max-height:100%}}
@media(max-width:1100px){.ops-screen:fullscreen{overflow:auto;height:100dvh;min-height:0}.ops-screen .ops-map>svg{cursor:default}}

@media(min-width:1101px) and (max-height:700px){.ops-screen:fullscreen .ops-grid{min-height:320px!important}}
