/* Shared controls keep native fields as the form/validation source of truth. */
.control-wrap{position:relative;display:inline-flex;min-width:0;width:100%;vertical-align:middle}
.native-control{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;clip-path:inset(50%);overflow:hidden;opacity:0;pointer-events:none!important}
.glass-control{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;min-height:calc(42px * var(--readability-scale,1));padding:10px 14px;border:1px solid var(--line-strong);border-radius:12px;background:linear-gradient(145deg,#ffffff06,#00000015),#0b111473;color:var(--ink);text-align:left;font:inherit;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.glass-control>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-control svg{width:18px;height:18px;flex-shrink:0;color:#bfcbce}.glass-control:hover,.glass-control[aria-expanded=true]{background-color:#26303685;border-color:#ffffff42}.glass-control:focus-visible{outline:2px solid #dce5e788;outline-offset:3px}.glass-control[aria-invalid=true]{border-color:var(--red)}
.date-controls .control-wrap{width:calc(185px * var(--readability-scale,1))}.inline-label .control-wrap{width:calc(180px * var(--readability-scale,1))}
.glass-picker{position:fixed;inset:auto;margin:0;padding:7px;border:1px solid #ecf4f426;border-radius:16px;background:linear-gradient(145deg,#26303378,#0b1018a6),#0d131aaa;color:var(--ink);box-shadow:0 24px 65px #0009,inset 0 1px #ffffff12;backdrop-filter:var(--console-blur);-webkit-backdrop-filter:var(--console-blur);overflow:auto;overscroll-behavior:contain;font:inherit;font-size:calc(13px * var(--readability-scale,1));scrollbar-width:thin;scrollbar-color:#aabac12b transparent}
.glass-picker::backdrop{background:transparent}.picker-options{display:grid;gap:3px}.picker-options button{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:42px;padding:11px 13px;border-radius:9px;text-align:left;overflow-wrap:anywhere}
.glass-picker button:hover:not(:disabled),.glass-picker button:focus-visible{background:#ffffff10;outline:1px solid #ffffff32;outline-offset:-1px}.glass-picker [aria-selected=true],.glass-picker [aria-pressed=true]{background:#deebec20;color:#fff;box-shadow:inset 0 0 0 1px #e4f2f235}.glass-picker button:disabled{opacity:.3}
.picker-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 2px 12px}.picker-calendar-head button{width:36px;height:36px;border-radius:10px;font-size:24px}.picker-calendar-head strong{font-size:inherit;font-weight:500}.picker-grid{display:grid;gap:4px;padding:4px}.picker-grid.months{grid-template-columns:repeat(4,minmax(0,1fr))}.picker-grid.days,.picker-weekdays{grid-template-columns:repeat(7,minmax(0,1fr))}.picker-grid button{min-height:38px;padding:8px 2px;border-radius:10px;font-size:.94em}.picker-weekdays{display:grid;gap:4px;padding:6px 4px;text-align:center;color:var(--muted);font-size:.72em}.picker-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin:10px 4px 0;padding-top:7px}.picker-footer button{border-radius:8px;padding:9px 10px;font-size:.86em;color:#c7d6db}
/* Original Figma contours, rendered as a white monochrome mask. */
.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:44px;min-height:44px}
.brand .brand-mark{display:block;width:calc(28px * var(--readability-scale,1));height:calc(29.6px * var(--readability-scale,1));margin:0;background:#f2f4f3;mask:url('/assets/pascal-anagram.png') center/contain no-repeat;-webkit-mask:url('/assets/pascal-anagram.png') center/contain no-repeat}
:root{--title-tracking:-.04em}
h1,h2,h3,h4,.welcome-empty h2,.page-heading h1,.map-hero-copy h1,.brief-top h2{letter-spacing:var(--title-tracking)}
.map-hero-copy h1 span:first-child,.map-hero-copy h1 span:last-child{font-family:var(--font);font-size:inherit;font-weight:400;letter-spacing:var(--title-tracking)}
h1,.page-heading h1{line-height:1.18}
.map-hero-copy h1{line-height:1.02}
/* Scale density with viewport width, without scaling the map or compositing roots. */
@media(min-width:1440px){
 :root{--operations-width:clamp(370px,32vw,640px)}
 .console-header{height:calc(52px * var(--readability-scale,1));gap:calc(22px * var(--readability-scale,1))}
 .nav-item{padding:calc(10px * var(--readability-scale,1)) calc(12px * var(--readability-scale,1))}
 .main-shell{padding-top:calc(76px * var(--readability-scale,1))}
 .topbar{height:calc(40px * var(--readability-scale,1))}
 main#main{height:calc(100% - 48px * var(--readability-scale,1))}
 body[data-page=overview] .topbar{top:calc(78px * var(--readability-scale,1))}
 .operations-panel{top:calc(80px * var(--readability-scale,1));padding:calc(12px * var(--readability-scale,1));gap:calc(8px * var(--readability-scale,1))}
 .operations-tabs{min-height:calc(39px * var(--readability-scale,1))}.operations-status{min-height:calc(66px * var(--readability-scale,1))}
 .operations-revenue{padding:calc(18px * var(--readability-scale,1))}.channel-surface{padding:calc(11px * var(--readability-scale,1))}.command-trend svg{height:calc(92px * var(--readability-scale,1))}
 .map-hero-copy{top:calc(134px * var(--readability-scale,1))}.map-hero-copy h1{font-size:clamp(42px,4.8vw,96px)}
 .map-insight-panel{padding:calc(20px * var(--readability-scale,1)) calc(22px * var(--readability-scale,1));min-height:0}.map-control-cluster{bottom:calc(280px * var(--readability-scale,1))}
 .metric,.panel-head,.warehouse-card,.source-card,.insight-card{padding:calc(23px * var(--readability-scale,1)) calc(24px * var(--readability-scale,1))}
 .metric-value{font-size:clamp(27px,2.8vw,57px)}
 .revenue-value{font-size:calc(48px * var(--readability-scale,1))}
 th,td{padding:calc(14px * var(--readability-scale,1)) calc(20px * var(--readability-scale,1))}
 .btn{min-height:calc(38px * var(--readability-scale,1));padding:calc(10px * var(--readability-scale,1)) calc(15px * var(--readability-scale,1))}
 .metrics,.warehouse-grid,.source-grid{gap:calc(12px * var(--readability-scale,1))}
}

@media(min-width:1051px){.map-control-cluster{bottom:calc(var(--brief-height,236px) + 44px)}}
