:root{--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-pill:9999px;--sidebar-w:256px;--topbar-h:64px;--bottomnav-h:64px;--content-max:1280px;--drawer-w:420px;--drawer-w-sm:320px;--sheet-max-h:88dvh;--hour-h:80px;--time-gutter-w:60px;--control-h:36px;--control-h-sm:30px;--control-h-lg:44px;--control-box:20px;--switch-w:44px;--switch-h:24px;--switch-knob:20px;--search-w:384px;--size-lg:56px;--nav-clearance:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px));--t-color:.3s ease-in-out;--t-move:.24s cubic-bezier(.2, 0, 0, 1);--t-fade:.16s ease}.drawer-scrim{z-index:40;background:var(--scrim);animation:drawer-scrim-in var(--t-fade);display:flex;position:fixed;inset:0}.drawer-scrim--closing{animation:drawer-scrim-out var(--t-move) forwards;pointer-events:none}.drawer{background:var(--surface);min-height:0;box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.drawer:focus-visible{outline:none}.drawer--right{width:var(--drawer-w);border-left:1px solid var(--border);max-width:100%;height:100%;animation:drawer-in-right var(--t-move);margin-left:auto}.drawer--right.drawer--closing{animation:drawer-out-right var(--t-move) forwards}.drawer--left{border-right:1px solid var(--border);max-width:86%;height:100%;animation:drawer-in-left var(--t-move);margin-right:auto}.drawer--left.drawer--closing{animation:drawer-out-left var(--t-move) forwards}.drawer--right.drawer--sm,.drawer--left.drawer--sm{width:var(--drawer-w-sm)}.drawer--right.drawer--md,.drawer--left.drawer--md{width:var(--drawer-w)}.drawer--bottom{width:100%;max-height:var(--sheet-max-h);border-top:1px solid var(--border);border-radius:var(--r-card) var(--r-card) 0 0;animation:drawer-in-bottom var(--t-move);margin-top:auto}.drawer--bottom.drawer--closing{animation:drawer-out-bottom var(--t-move) forwards}.drawer__header{justify-content:space-between;align-items:flex-start;gap:var(--s-3);padding:var(--s-5);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.drawer__heading{min-width:0}.drawer__title{font:var(--text-section);color:var(--ink)}.drawer__lead{margin:var(--s-1) 0 0;font:var(--text-meta);color:var(--ink-soft)}.drawer__body{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;scrollbar-gutter:stable;overscroll-behavior:contain;min-height:0;padding:var(--s-5);gap:var(--s-4);flex-direction:column;flex:1;display:flex;overflow-y:auto}.drawer__body>*{flex-shrink:0}.drawer__footer{justify-content:flex-end;align-items:center;gap:var(--s-3);padding:var(--s-5);border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;display:flex}.drawer--bottom .drawer__footer,.drawer--bottom .drawer__body:last-child{padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom,0px))}@media (width<=400px){.drawer__header,.drawer__body,.drawer__footer{padding-inline:var(--s-4)}.drawer__footer{flex-wrap:wrap}.drawer__footer>.btn:not(:only-child){flex:auto}}@keyframes drawer-scrim-in{0%{opacity:0}}@keyframes drawer-in-right{0%{transform:translate(100%)}}@keyframes drawer-in-left{0%{transform:translate(-100%)}}@keyframes drawer-in-bottom{0%{transform:translateY(100%)}}@keyframes drawer-scrim-out{to{opacity:0}}@keyframes drawer-out-right{to{transform:translate(100%)}}@keyframes drawer-out-left{to{transform:translate(-100%)}}@keyframes drawer-out-bottom{to{transform:translateY(100%)}}
