/* LEDGER28 viewport geometry mutation.
   Geometry only: the accepted materials, assets, DOM controls and event engine remain intact. */
:root{--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px)}
html,body{width:100%;height:100%;min-width:0;min-height:0;margin:0;overflow:hidden}
body{width:100vw;height:100vh;height:100dvh;padding:0;display:block}
#app-shell{width:100vw;height:100vh;height:100dvh;max-width:none;min-width:0;min-height:0;padding:var(--safe-t) var(--safe-r) var(--safe-b) var(--safe-l);grid-template-rows:auto minmax(0,1fr) auto}

/* One dense global rail; controls stay grouped, visible and at least 36px tall. */
.shellbar{min-width:0;padding:4px 8px;grid-template-columns:minmax(170px,.7fr) minmax(0,2.3fr) auto;gap:6px}
.brand23{font-size:clamp(13px,1.1vw,17px);line-height:1.05;white-space:nowrap}.brand23 small{font-size:9px;line-height:1.1}
.shell-controls{display:grid;grid-template-columns:minmax(142px,1.25fr) minmax(126px,1fr) minmax(130px,1fr) minmax(150px,1.25fr) auto;gap:5px}
.shell-controls select,.shell-controls input,.shell-controls button,.action23{min-width:0;min-height:36px;height:36px;padding:4px 8px}
.demo-chip{padding:5px 8px;font-size:10px}
#workspace-host{min-width:0;min-height:0;overflow:hidden;padding:6px}
.workspace23,.workspace-grid{width:100%;height:100%;min-width:0;min-height:0}
.workspace-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);gap:7px}
.bed23{height:100%;min-height:0;padding:10px}.scroll23{height:calc(100% - 38px);min-height:0}.cards23{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}

/* The legacy calendar becomes a true flex bed inside the shell. */
.legacy-calendar,.legacy-calendar>.rig,.legacy-calendar .bench{width:100%!important;height:100%!important;max-width:none!important;min-width:0!important;min-height:0!important}
.legacy-calendar>.rig{margin:0!important}.legacy-calendar .bench{padding:7px;display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}
.legacy-calendar .bench>.cnr{position:absolute!important}
.legacy-calendar .head{display:none}.legacy-calendar .ttl{font-size:clamp(18px,1.7vw,27px)}.legacy-calendar .seal{white-space:nowrap}.legacy-calendar .nameplate{padding:3px 8px}
.legacy-calendar .mbar{margin:0 2px 4px;padding:1px 2px;min-height:36px;flex-wrap:nowrap;overflow:visible}.legacy-calendar .mbar>b{min-height:34px;padding:4px 8px}.legacy-calendar .exec{min-height:34px;padding:4px 9px}
.legacy-calendar .ftabs{margin:0 2px -1px;padding:0 2px}.legacy-calendar .ftabs b{min-height:36px;padding:5px 10px 6px}.legacy-calendar .ftabrule{margin:0 2px 4px}
.legacy-calendar .navrail{margin:0 0 5px;padding:2px 4px;min-height:36px}.legacy-calendar .navrail b,.legacy-calendar .today,.legacy-calendar .vwtog b{min-height:36px;height:36px}.legacy-calendar .wklbl{min-height:36px}
.legacy-calendar .deck{position:relative;width:100%;height:100%!important;min-width:0;min-height:0!important;overflow:hidden!important;display:grid!important;grid-template-columns:minmax(0,1fr) clamp(230px,18vw,290px)!important;grid-template-rows:minmax(0,1fr)!important;gap:7px!important;align-items:stretch!important}
.legacy-calendar .deck>div:first-child{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden}
.legacy-calendar #dayrail{grid-column:auto!important;grid-row:auto!important;width:100%;min-width:0}.legacy-calendar #panes{grid-column:auto!important;grid-row:auto!important;width:100%;max-height:none!important;min-width:0;min-height:0;overflow:auto!important;padding-right:2px}.legacy-calendar .pane{width:100%;min-width:0}.legacy-calendar .pwrap{width:100%;max-height:none!important;min-width:0;overflow:auto}.legacy-calendar .pfield,.legacy-calendar .pcols{width:100%;min-width:0}.legacy-calendar .pfield .gut{min-width:42px}.legacy-calendar .col{min-width:0}.legacy-calendar #hint{grid-column:auto!important;grid-row:auto!important;min-height:0;margin:2px 0 0}
.legacy-calendar #stack{grid-column:auto!important;grid-row:auto!important;width:100%;height:100%;max-height:none!important;min-width:0;min-height:0;overflow:auto!important}.legacy-calendar .lookup{position:sticky;top:0;z-index:5}.legacy-calendar .dr:not(.open) .bed{display:none}.legacy-calendar .dr:not(.open){min-height:36px}.legacy-calendar .none{min-height:0}

/* Tablets keep the calendar full-width; secondary beds become a bounded bottom sheet. */
@media(max-width:1024px){
  .shellbar{grid-template-columns:minmax(145px,.55fr) minmax(0,2.45fr) auto}.brand23 small{display:none}.demo-chip{display:none}
  .shell-controls{grid-template-columns:minmax(128px,1.2fr) minmax(116px,1fr) minmax(124px,1fr) minmax(135px,1.2fr) auto;overflow-x:auto}
  .shell-controls select,.shell-controls input,.shell-controls button{min-height:44px;height:44px}
  .legacy-calendar .bench{grid-template-rows:auto auto auto minmax(0,1fr)}
  .legacy-calendar .mbar{overflow-x:auto;overflow-y:hidden}.legacy-calendar .mbar>b{min-width:max-content;min-height:44px}.legacy-calendar .ftabs b,.legacy-calendar .navrail b,.legacy-calendar .vwtog b{min-height:44px;height:44px}
  .legacy-calendar .deck{grid-template-columns:minmax(0,1fr)!important;isolation:isolate}
  .legacy-calendar .stack{position:absolute;z-index:12;left:6px;right:6px;bottom:6px;width:auto;height:auto;max-height:min(32vh,240px)!important;padding:0;overflow:auto!important;border-radius:7px;box-shadow:0 -8px 24px rgba(0,0,0,.55)}
  .legacy-calendar .stack>.pin{display:none}.legacy-calendar .stack .dr:not(.open){display:none}.legacy-calendar .stack .lookup{margin-bottom:0}
  .workspace-grid{position:relative}.workspace-grid>.bed23.phone-primary{grid-column:1/-1}.workspace-grid>.bed23:not(.phone-primary){position:absolute;z-index:6;right:8px;bottom:8px;width:min(42vw,360px);height:min(38vh,300px)}
}

@media(max-width:760px){
  .shellbar{grid-template-columns:1fr;padding:4px 5px}.brand23{display:none}.shell-controls{grid-column:1;grid-template-columns:150px 135px 145px minmax(160px,1fr) 90px;overflow-x:auto}
  #workspace-host{padding:4px}.legacy-calendar .bench{padding:4px}.legacy-calendar .ftabs{display:none}.legacy-calendar .ftabrule{display:none}.legacy-calendar .bench{grid-template-rows:auto auto minmax(0,1fr)}
  .legacy-calendar .navrail{overflow-x:auto}.legacy-calendar .wklbl{min-width:170px}.legacy-calendar .deck>div:first-child{grid-template-rows:auto minmax(0,1fr)}.legacy-calendar .hint{display:none}
  .legacy-calendar .stack{left:3px;right:3px;bottom:3px;max-height:min(28vh,210px)!important}
  .workspace-grid>.bed23:not(.phone-primary){left:8px;right:8px;bottom:8px;width:auto;height:min(34vh,260px)}
}

@media(pointer:coarse){.legacy-calendar .mbar>b,.legacy-calendar .ftabs b,.legacy-calendar .navrail b,.legacy-calendar .vwtog b,.legacy-calendar .today,.expand23,.action23{min-height:44px}}
