/* Bike 2 layout tokens; map and sheet share a bounded dynamic viewport. */
:root{--panel-size:clamp(300px,26vw,370px);--control-size:44px;--radius-card:18px;--layout-gap:12px}
html,body{min-height:0;height:100%;height:100dvh}
.workspace,.map-shell,.sidebar,.sheet-content,.sheet-scroll{min-width:0;min-height:0}
.workspace{flex:1;position:relative}
.brand{min-width:0}.brand h1{overflow-wrap:anywhere}.header-actions{flex:none}
#desktop-panel-toggle{display:none}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto}
.sheet-scroll{overflow:auto;overflow-wrap:anywhere}.sheet-heading>span:first-child{min-width:0}
.wx-dialog{max-height:94dvh;max-width:calc(100vw - 24px)}
@media(min-width:761px){
 .workspace{display:grid;grid-template-columns:var(--panel-size) minmax(0,1fr)}
 .sidebar{width:100%;grid-column:1;grid-row:1;overflow:hidden;position:relative}
 .map-shell{grid-column:2;grid-row:1;position:relative;isolation:isolate}
 #desktop-panel-toggle{display:grid;place-items:center;min-width:var(--control-size);min-height:var(--control-size);font-size:20px}
 .panel-collapsed .workspace{grid-template-columns:0 minmax(0,1fr)}
 .panel-collapsed .sidebar{visibility:hidden;pointer-events:none}
 .map-search-panel{width:min(520px,calc(100% - 28px));max-width:none}
 .sheet-handle{min-height:76px}.sheet-tabs{flex-wrap:wrap;height:auto;min-height:46px;flex:none}
 .sheet-tabs button{min-height:var(--control-size);padding:0 10px;font-size:11px}
 .sheet-content{flex:1}.sheet-scroll{flex:1}
 .wx-dialog{height:min(940px,calc(100dvh - 24px));width:min(1100px,calc(100vw - 24px))}
}
@media(min-width:1024px){.map-search-panel{left:18px;top:18px}.topbar{padding-inline:22px}}
@media(max-width:760px){.wx-dialog{max-width:none;max-height:100dvh}.header-actions .weather-trigger>span:last-child{display:none}.brand h1{font-size:17px}.topbar{gap:8px}.phase-nav{flex:none}}
@media(max-height:600px) and (min-width:761px){.topbar{height:56px}.phase-nav{height:40px}.sheet-handle{min-height:65px;padding-block:10px}.wx-dialog{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.wx-head{padding-block:10px}.wx-map-wrap{height:300px;min-height:200px;max-height:50dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
