@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-vietnamese-500-normal-GOH_-EGq.woff2) format("woff2"),url(/assets/fraunces-vietnamese-500-normal-B-KbxExq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-ext-500-normal-Z5DV8IzT.woff2) format("woff2"),url(/assets/fraunces-latin-ext-500-normal-BMcFk1Xs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fraunces-latin-500-normal-DnGCNyPD.woff2) format("woff2"),url(/assets/fraunces-latin-500-normal-BTR4KCeb.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-ext-400-normal-Q_nF8v4l.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-400-normal-r32jotim.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2) format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-ext-500-normal-CTEe1bJa.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-500-normal-CAxz3nsc.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2) format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-ext-600-normal-BsaQcF38.woff2) format("woff2"),url(/assets/instrument-sans-latin-ext-600-normal-DMks36a2.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2) format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-ext-400-normal-BfWvPoNT.woff2) format("woff2"),url(/assets/spline-sans-mono-latin-ext-400-normal-BkT5i7fe.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spline-sans-mono-latin-400-normal-mUpA6Mve.woff2) format("woff2"),url(/assets/spline-sans-mono-latin-400-normal-739QRW1l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-ext-500-normal-OEIRRHyd.woff2) format("woff2"),url(/assets/spline-sans-mono-latin-ext-500-normal-CMfDuBbn.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spline Sans Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/spline-sans-mono-latin-500-normal-Cy_wwipl.woff2) format("woff2"),url(/assets/spline-sans-mono-latin-500-normal-DuiJ5LHB.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg-base: #0e1014;--bg-raised: #151821;--border: #252a35;--text-primary: #ecebe6;--text-secondary: #9298a3;--accent: #c99159;--accent-soft: #c9915914;--on-accent: #171207;--ok: #58b28a;--warn: #d9a355;--danger: #d97862;--accent-text: #d4a26c;--ok-text: #6fc39d;--warn-text: #ddad67;--shadow-card: none;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Instrument Sans", system-ui, sans-serif;--font-data: "Spline Sans Mono", ui-monospace, monospace;--text-xs: 12px;--text-sm: 14px;--text-md: 16px;--text-lg: 22px;--text-xl: 30px;--text-xxl: 40px;--leading: 1.5;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-card: 10px;--radius-control: 7px;--radius-pill: 999px;--touch-target: 44px;--motion-fast: .12s;--motion-pulse: .4s;--motion-rise: .5s;--motion-settle: .9s;--ease-out-soft: cubic-bezier(.22, 1, .36, 1)}[data-theme=light]{color-scheme:light;--bg-base: #faf8f4;--bg-raised: #ffffff;--border: #e6e2d8;--text-primary: #211f1c;--text-secondary: #6d6a62;--accent: #a06428;--accent-soft: #a0642814;--on-accent: #ffffff;--ok: #348062;--warn: #b07f35;--danger: #b8442f;--accent-text: #90581f;--ok-text: #276650;--warn-text: #7d5a1b;--shadow-card: 0 1px 2px rgb(33 31 28 / .04), 0 12px 32px -20px rgb(33 31 28 / .16)}@media(prefers-reduced-motion:reduce){:root{--motion-fast: 0ms;--motion-pulse: 0ms;--motion-rise: 0ms;--motion-settle: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100dvh}body{position:relative;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-sm);line-height:var(--leading);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 60% at 50% -10%,var(--accent-soft) 0%,transparent 60%),var(--bg-base)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}h1,h2,h3,p{margin:0}h1{font-family:var(--font-display);font-weight:600;letter-spacing:-.015em}button{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}a{color:var(--accent-text);text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent) 30%,transparent)}.label{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--text-secondary)}.mono{font-family:var(--font-data);font-variant-numeric:tabular-nums}.back-link{display:inline-flex;align-items:center;align-self:flex-start;min-height:var(--touch-target);margin-bottom:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);transition:color var(--motion-fast) ease-out}.back-link:hover{color:var(--text-primary)}input[type=text],textarea{font:inherit;color:var(--text-primary);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);transition:border-color var(--motion-fast) ease-out}input[type=text]::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--text-secondary) 75%,transparent)}input[type=text]:hover,textarea:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}input[type=text]:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;width:18px;height:18px;border:1px solid var(--border);border-radius:4px;background:var(--bg-raised);transition:background var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}input[type=checkbox]:after{content:"";display:block;width:100%;height:100%;clip-path:polygon(21% 46%,8% 60%,40% 90%,95% 25%,82% 13%,38% 62%);background:var(--on-accent);transform:scale(0);transition:transform var(--motion-fast) var(--ease-out-soft)}input[type=checkbox]:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{transform:scale(1)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:0 var(--space-5);background:var(--accent);color:var(--on-accent);font-weight:600;letter-spacing:.01em;border-radius:var(--radius-control);transition:filter var(--motion-fast) ease-out,opacity var(--motion-fast) ease-out,transform var(--motion-fast) ease-out}.button-primary:hover:not(:disabled){filter:brightness(1.07)}.button-primary:active:not(:disabled){transform:translateY(1px)}.button-primary:disabled{opacity:.45;cursor:not-allowed}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shell{min-height:100dvh}.shell-logo{display:inline-flex;align-items:center;gap:var(--space-2);flex-shrink:0;font-family:var(--font-display);font-size:19px;font-weight:600;letter-spacing:.01em;color:var(--text-primary);min-height:var(--touch-target)}.shell-logo-line{position:relative;width:1px;height:24px;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 35%,transparent),var(--accent))}.shell-logo-line:after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;transform:translate(-50%) rotate(45deg);background:var(--accent)}.shell-theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-md);line-height:1;transition:border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out}.shell-theme-toggle:hover{border-color:var(--accent);color:var(--text-primary)}.shell-sidebar{display:none}@media(min-width:860px){.shell{display:flex;align-items:flex-start}.shell-sidebar{display:flex;flex-direction:column;gap:var(--space-6);width:216px;flex-shrink:0;height:100dvh;position:sticky;top:0;padding:var(--space-5) var(--space-4);border-right:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.shell-sidebar .shell-logo{padding-left:var(--space-2)}.shell-sidebar .shell-theme-toggle{margin-top:auto}}.shell-sidebar-nav{display:flex;flex-direction:column;gap:1px}.shell-sidebar-link{position:relative;display:flex;align-items:center;min-height:var(--touch-target);padding:0 var(--space-3);margin-left:-1px;border-left:1px solid transparent;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-radius:0 var(--radius-control) var(--radius-control) 0;transition:color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.shell-sidebar-link:hover{color:var(--text-primary);background:var(--accent-soft)}.shell-sidebar-link.is-active{color:var(--accent-text);border-left-color:var(--accent);background:var(--accent-soft)}.shell-body{min-width:0;flex:1}.shell-main{max-width:820px;padding:var(--space-5) var(--space-4) var(--space-7)}@media(min-width:860px){.shell-main{padding:var(--space-6) var(--space-6) var(--space-7)}}.shell-main>*{animation:rise var(--motion-rise) var(--ease-out-soft) both}.shell-topbar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:var(--touch-target);padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--bg-base) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}@media(min-width:860px){.shell-topbar{display:none}}.shell-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:1;display:flex;background:color-mix(in srgb,var(--bg-base) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid color-mix(in srgb,var(--border) 60%,transparent);padding-bottom:env(safe-area-inset-bottom)}@media(min-width:860px){.shell-tabbar{display:none}}.shell-tabbar-link{position:relative;flex:1;display:flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:var(--space-2) 0;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--motion-fast) ease-out}.shell-tabbar-link:before{content:"";position:absolute;top:6px;width:4px;height:4px;transform:rotate(45deg) scale(0);background:var(--accent);transition:transform var(--motion-fast) ease-out}.shell-tabbar-link.is-active{color:var(--accent-text)}.shell-tabbar-link.is-active:before{transform:rotate(45deg) scale(1)}@media(min-width:860px){.shell-main{padding-bottom:var(--space-7)}}@media(max-width:859.98px){.shell-main{padding-bottom:calc(var(--touch-target) + env(safe-area-inset-bottom) + var(--space-5))}}.booking-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card)}.booking-form-field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.booking-form-row{display:flex;gap:var(--space-3)}.booking-form select,.booking-form input[type=date],.booking-form input[type=time]{font:inherit;color:var(--text-primary);background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius-control);padding:var(--space-2) var(--space-3);min-height:var(--touch-target);width:100%;transition:border-color var(--motion-fast) ease-out}.booking-form input[type=date],.booking-form input[type=time]{font-family:var(--font-data);font-variant-numeric:tabular-nums}.booking-form select:hover,.booking-form input[type=date]:hover,.booking-form input[type=time]:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.booking-form select:focus-visible,.booking-form input:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.booking-form input[type=text]{background:var(--bg-base);min-height:var(--touch-target)}.booking-form-durations{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;border:none}.booking-form-durations legend{padding:0;margin-bottom:var(--space-1)}.booking-duration-chip{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-family:var(--font-data);font-size:var(--text-sm);font-variant-numeric:tabular-nums;transition:border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.booking-duration-chip:hover{border-color:var(--accent);color:var(--text-primary)}.booking-duration-chip.is-selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text);font-weight:600}.booking-form-actions{display:flex;align-items:center;gap:var(--space-3)}.booking-form-cancel{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-secondary);transition:color var(--motion-fast) ease-out}.booking-form-cancel:hover{color:var(--text-primary)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.calendar-title{font-size:26px}.calendar-nav{display:flex;gap:var(--space-1)}.calendar-nav-button{min-width:var(--touch-target);min-height:var(--touch-target);padding:0 var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-size:var(--text-sm);transition:border-color var(--motion-fast) ease-out,color var(--motion-fast) ease-out}.calendar-nav-button:hover{border-color:var(--accent);color:var(--text-primary)}.calendar-grid{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);padding:var(--space-2)}.calendar-weekdays,.calendar-week{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekday{text-align:center;padding:var(--space-2) 0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}.calendar-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--touch-target);padding:var(--space-1) 0;border-radius:var(--radius-control);color:var(--text-primary);transition:background var(--motion-fast) ease-out}.calendar-day:hover{background:var(--accent-soft)}.calendar-day.is-outside .calendar-day-number{color:color-mix(in srgb,var(--text-secondary) 55%,transparent)}.calendar-day-number{font-family:var(--font-data);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1}.calendar-day.is-today .calendar-day-number{color:var(--accent-text);font-weight:700}.calendar-day.is-selected{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day-marker{width:6px;height:6px;transform:rotate(45deg);border-radius:1.5px;background:var(--accent)}.calendar-day:not(:has(.calendar-day-marker)):after{content:"";width:6px;height:6px}.calendar-day-panel{margin-top:var(--space-5)}.calendar-day-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.calendar-day-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;letter-spacing:-.01em}.calendar-add-button{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--accent-text);font-weight:500;flex-shrink:0;transition:border-color var(--motion-fast) ease-out}.calendar-add-button:hover{border-color:var(--accent)}.calendar-day-empty{color:var(--text-secondary)}.calendar-bookings{list-style:none;margin:var(--space-3) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.calendar-bookings>li+li{border-top:1px solid var(--border)}.calendar-booking-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-4)}.calendar-booking-info{display:flex;flex-direction:column;gap:2px;min-width:0}.calendar-booking-time{font-size:var(--text-xs);color:var(--text-secondary)}.calendar-booking-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500}.calendar-booking-note{font-size:var(--text-xs);color:var(--text-secondary)}.calendar-booking-actions{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap}.calendar-booking-action{min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.calendar-booking-action:hover{color:var(--text-primary)}.calendar-booking-action.is-danger:hover{color:var(--danger)}.calendar-booking-start{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-pill);color:var(--accent-text);font-weight:600;font-size:var(--text-sm);transition:background var(--motion-fast) ease-out}.calendar-booking-start:hover{background:var(--accent-soft)}.calendar-booking-confirm{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;padding:var(--space-3) var(--space-4);background:color-mix(in srgb,var(--danger) 7%,transparent)}.calendar-booking-confirm>span{margin-right:auto;font-weight:500}.calendar-booking-confirm-delete{min-height:var(--touch-target);padding:0 var(--space-4);border-radius:var(--radius-control);background:var(--danger);color:#fff;font-weight:600;transition:filter var(--motion-fast) ease-out}.calendar-booking-confirm-delete:hover{filter:brightness(1.08)}.check-library{display:flex;flex-direction:column;gap:var(--space-7)}.check-library-region-label{margin-bottom:var(--space-3)}.check-library-empty{color:var(--text-secondary);margin-bottom:var(--space-4)}.check-library-list{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.check-library-row{display:grid;grid-template-columns:var(--touch-target) 1fr auto auto auto;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;background:transparent}.check-library-row.is-dragging{position:relative;z-index:1;background:var(--bg-raised);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.check-library-row.is-archived{grid-template-columns:1fr auto auto;color:var(--text-secondary)}@media(max-width:599.98px){.check-library-row:not(.is-archived){display:flex;flex-wrap:wrap;align-items:center;row-gap:var(--space-2)}.check-library-handle{flex-shrink:0}.check-library-name-input{flex:1 1 200px;min-width:0}.check-library-row .check-library-sides-toggle{margin-left:calc(var(--touch-target) + var(--space-3))}.check-library-row .check-library-archive{margin-left:auto}}.check-library-handle{min-width:var(--touch-target);min-height:var(--touch-target);color:color-mix(in srgb,var(--text-secondary) 65%,transparent);font-size:var(--text-sm);letter-spacing:-2px;border-radius:var(--radius-control);cursor:grab;touch-action:none;transition:color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.check-library-handle:active{cursor:grabbing}.check-library-handle:hover{color:var(--text-primary);background:var(--accent-soft)}.check-library-name-input{min-height:var(--touch-target);width:100%;font-size:var(--text-md)}.check-library-name{font-weight:500}.check-library-sides-toggle{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.check-library-sides-toggle input{cursor:pointer}.check-library-version{font-size:var(--text-xs);color:var(--text-secondary)}.check-library-archive,.check-library-unarchive{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.check-library-archive:hover{color:var(--danger)}.check-library-unarchive:hover{color:var(--accent-text)}.check-library-add{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.check-library-add input[type=text]{flex:1;min-height:var(--touch-target);min-width:0}.check-library-archived-toggle{min-height:var(--touch-target);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.check-library-archived-toggle:hover{color:var(--text-primary)}.customers-title{font-size:26px;margin-bottom:var(--space-5)}.customers-empty{color:var(--text-secondary)}.customers-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.customers-list>li+li{border-top:1px solid var(--border)}.customer-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);color:var(--text-primary);transition:background var(--motion-fast) ease-out}.customer-row:hover{background:var(--accent-soft)}.customer-status{width:7px;height:7px;transform:rotate(45deg);border-radius:1.5px;background:var(--border);flex-shrink:0}.customer-status.is-done{background:var(--ok)}.customer-status.is-open{background:var(--warn)}.customer-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-meta{color:var(--text-secondary);font-size:11px;font-family:var(--font-data);font-variant-numeric:tabular-nums;flex-shrink:0}.customer-add{display:flex;gap:var(--space-2);margin-top:var(--space-5)}.customer-add input{flex:1;min-height:var(--touch-target);min-width:0}.customer-missing{color:var(--text-secondary)}.customer-header{margin-bottom:var(--space-5)}.customer-title{font-size:26px;margin-top:var(--space-1)}.customer-bookings-section{margin-bottom:var(--space-5)}.customer-bookings{list-style:none;margin:var(--space-2) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.customer-bookings>li+li{border-top:1px solid var(--border)}.customer-booking-row{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;min-height:48px;padding:var(--space-3) var(--space-4)}.customer-booking-when{font-weight:500}.customer-booking-time{color:var(--text-secondary);font-size:var(--text-xs)}.customer-booking-note{color:var(--text-secondary);font-size:var(--text-xs);flex-basis:100%}.customer-booking-form{margin-bottom:var(--space-5)}.customer-actions{display:flex;align-items:center;gap:var(--space-3)}.customer-book-button{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);color:var(--accent-text);font-weight:500;transition:border-color var(--motion-fast) ease-out}.customer-book-button:hover{border-color:var(--accent)}.customer-sessions-empty{color:var(--text-secondary);margin-bottom:var(--space-4)}.customer-sessions{list-style:none;margin:0 0 var(--space-5);padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.customer-sessions>li+li{border-top:1px solid var(--border)}.customer-session-row{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-4);color:var(--text-primary);transition:background var(--motion-fast) ease-out}.customer-session-row:hover{background:var(--accent-soft)}.customer-session-status{width:7px;height:7px;transform:rotate(45deg);border-radius:1.5px;background:var(--border);flex-shrink:0}.customer-session-status.is-done{background:var(--ok)}.customer-session-status.is-open{background:var(--warn)}.customer-session-date{font-weight:500;flex:1;min-width:0}.customer-session-meta{color:var(--text-secondary);font-size:var(--text-xs)}.exercise-library{display:flex;flex-direction:column;gap:var(--space-5)}.exercise-library-filters{display:flex;flex-direction:column;gap:var(--space-2)}.exercise-library-filters input{min-height:var(--touch-target)}.exercise-library-tags,.exercise-library-tag-checklist{display:flex;flex-wrap:wrap;gap:var(--space-1)}.exercise-library-tag{min-height:28px;padding:0 var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-secondary);transition:color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.exercise-library-tag.is-selected{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft)}.exercise-library-empty{color:var(--text-secondary)}.exercise-library-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.exercise-library-row{display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.exercise-library-row.is-archived{grid-template-columns:1fr auto auto;align-items:center;color:var(--text-secondary)}.exercise-library-thumb{width:64px;height:64px;border-radius:var(--radius-control);overflow:hidden;background:var(--bg-raised);border:1px solid var(--border);flex-shrink:0}.exercise-library-thumb img{width:100%;height:100%;object-fit:cover}.exercise-library-thumb-placeholder{display:block;width:100%;height:100%}.exercise-library-fields{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.exercise-library-name-input{min-height:var(--touch-target);font-size:var(--text-md);font-weight:500}.exercise-library-description-input{font-size:var(--text-sm);color:var(--text-secondary);resize:vertical}.exercise-library-tags-input{min-height:var(--touch-target);font-size:var(--text-xs)}.exercise-library-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2)}.exercise-library-version{font-size:var(--text-xs);color:var(--text-secondary)}.exercise-library-photo-label{position:relative;min-height:var(--touch-target);display:inline-flex;align-items:center;padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--accent-text);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap}.exercise-library-photo-label:hover{background:var(--accent-soft)}.exercise-library-photo-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.exercise-library-archive,.exercise-library-unarchive{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.exercise-library-archive:hover{color:var(--danger)}.exercise-library-unarchive:hover{color:var(--accent-text)}.exercise-library-add{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card)}.exercise-library-add-label{margin-bottom:var(--space-1)}.exercise-library-add input,.exercise-library-add textarea{min-height:var(--touch-target)}.exercise-library-add textarea{resize:vertical}.exercise-library-archived-toggle{min-height:var(--touch-target);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.exercise-library-archived-toggle:hover{color:var(--text-primary)}.exercise-library-name{font-weight:500}.section-page{display:flex;flex-direction:column;align-items:stretch}.section-page-header{margin-bottom:var(--space-5)}.section-page-title{font-size:26px;margin-top:var(--space-1)}.general-info-input{width:100%;resize:vertical;min-height:220px;font-size:var(--text-md);line-height:1.7;padding:var(--space-4)}.region-chips{display:flex;gap:var(--space-2);margin-bottom:var(--space-6)}.region-chip{min-height:var(--touch-target);padding:0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--bg-raised);font-weight:500;color:var(--text-secondary);transition:background var(--motion-fast) ease-out,color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}.region-chip:hover{color:var(--text-primary);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}.region-chip.is-selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text);font-weight:600}.findings-empty{color:var(--text-secondary)}.findings-region-label{margin-bottom:var(--space-3)}section+section .findings-region-label{margin-top:var(--space-6)}.check-list{list-style:none;margin:0 0 var(--space-4);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.check-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);animation:rise var(--motion-rise) var(--ease-out-soft) both}.check-card:nth-child(1){animation-delay:30ms}.check-card:nth-child(2){animation-delay:70ms}.check-card:nth-child(3){animation-delay:.11s}.check-card:nth-child(4){animation-delay:.15s}.check-card:nth-child(5){animation-delay:.19s}.check-card:nth-child(6){animation-delay:.23s}.check-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.check-card-actions{display:flex;align-items:center;gap:var(--space-1)}.check-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;display:flex;align-items:center;gap:var(--space-2)}.check-card.is-adhoc{border-style:dashed}.check-adhoc-tag{font-family:var(--font-ui);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-soft);border-radius:var(--radius-pill);padding:0 var(--space-2)}.check-hide{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.check-hide:hover{color:var(--danger)}.check-remove{min-width:var(--touch-target);min-height:var(--touch-target);color:color-mix(in srgb,var(--text-secondary) 65%,transparent);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.check-remove:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.findings-hidden{margin-bottom:var(--space-4)}.findings-hidden-toggle{min-height:var(--touch-target);font-size:var(--text-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.findings-hidden-toggle:hover{color:var(--text-primary)}.findings-hidden-list{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.findings-hidden-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-secondary)}.findings-hidden-show{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.findings-hidden-show:hover{color:var(--accent-text)}.findings-add{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.findings-add input[type=text]{flex:1;min-height:var(--touch-target);min-width:0}.findings-add-sides-toggle{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.findings-add-cancel{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);color:var(--text-secondary)}.findings-add-cancel:hover{color:var(--text-primary)}.findings-add-open{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);margin-bottom:var(--space-6);transition:color var(--motion-fast) ease-out}.findings-add-open:hover{color:var(--accent-text)}.check-comment-toggle{min-height:var(--touch-target);padding:0 var(--space-2);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out}.check-comment-toggle:hover,.check-comment-toggle.is-open{color:var(--accent-text)}.check-sides{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media(max-width:480px){.check-sides{grid-template-columns:1fr}}.check-side{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:var(--space-3)}.check-side.is-stacked{grid-template-columns:1fr;gap:var(--space-2);align-items:stretch}.check-side-label{font-size:var(--text-xs);font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.status-segment{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-control);overflow:hidden;background:var(--bg-base)}.status-option{min-height:var(--touch-target);padding:0 var(--space-1);font-size:var(--text-xs);font-weight:500;color:var(--text-secondary);transition:background var(--motion-fast) ease-out,color var(--motion-fast) ease-out}.status-option+.status-option{border-left:1px solid var(--border)}.status-option:hover{color:var(--text-primary)}.status-option.is-selected.is-normal{background:color-mix(in srgb,var(--ok) 16%,transparent);color:var(--ok-text);font-weight:600}.status-option.is-selected.is-restricted{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn-text);font-weight:600}.status-option.is-selected.is-not-tested{background:color-mix(in srgb,var(--text-secondary) 16%,transparent);color:var(--text-primary);font-weight:600}.check-comment-input{width:100%;resize:vertical;font-size:var(--text-sm);background:var(--bg-base)}.landing{position:relative;display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-5);overflow:hidden;text-align:center}.landing:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(90% 55% at 50% 8%,color-mix(in srgb,var(--accent) 16%,transparent) 0%,transparent 65%)}.landing-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);max-width:420px;animation:rise var(--motion-rise) var(--ease-out-soft) both}.landing-plumb{position:relative;width:1px;height:72px}.landing-plumb-line{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:top;background:linear-gradient(to bottom,transparent,var(--accent) 85%);animation:plumb-drop var(--motion-settle) var(--ease-out-soft) both}.landing-plumb-bob{position:absolute;left:50%;bottom:0;width:8px;height:8px;transform:translate(-50%) translateY(-50%) rotate(45deg);background:var(--accent);animation:bob-settle var(--motion-settle) var(--ease-out-soft) both}@keyframes plumb-drop{0%{transform:scaleY(0);opacity:0}60%{opacity:1}to{transform:scaleY(1);opacity:1}}@keyframes bob-settle{0%{opacity:0;transform:translate(-50%) translateY(-150%) rotate(45deg)}60%{opacity:1}to{opacity:1;transform:translate(-50%) translateY(-50%) rotate(45deg)}}.landing-wordmark{font-size:clamp(48px,12vw,72px);font-weight:600;letter-spacing:-.02em}.landing-liveline{display:inline-flex;align-items:center;min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);transition:color var(--motion-fast) ease-out}.landing-liveline:hover{color:var(--accent-text)}.landing-doors{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-2)}.landing-door{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-target);padding:0 var(--space-5);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-primary);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;transition:border-color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.landing-door:hover{border-color:var(--accent);background:var(--accent-soft)}.present{position:relative;max-width:900px;margin:0 auto;min-height:100dvh;padding:var(--space-7) var(--space-4) var(--space-7);display:flex;flex-direction:column;gap:var(--space-7);font-size:var(--text-md);animation:rise var(--motion-rise) var(--ease-out-soft) both}.present-exit{position:absolute;top:var(--space-3);right:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-3);color:var(--text-secondary);font-size:var(--text-xs);font-weight:500;border:1px solid transparent;border-radius:var(--radius-pill);transition:color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}.present-exit:hover{color:var(--text-primary);border-color:var(--border)}.present-header{margin-top:var(--space-4)}.present-title{font-size:var(--text-xxl);margin-top:var(--space-2)}.present-section-label{margin-bottom:var(--space-4)}.present-photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.present-photo{position:relative;margin:0;aspect-ratio:3 / 4;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-raised) 60%,var(--bg-base)),var(--bg-raised));border:1px solid var(--border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;align-items:flex-end;justify-content:center;padding:var(--space-3);overflow:hidden}.present-plumb-line{position:absolute;top:0;bottom:0;left:50%;width:1px;background:linear-gradient(to bottom,color-mix(in srgb,var(--accent) 30%,transparent),var(--accent) 70%)}.present-plumb-line:after{content:"";position:absolute;left:50%;bottom:22%;width:7px;height:7px;transform:translate(-50%) rotate(45deg);background:var(--accent)}.present-program-empty{color:var(--text-secondary)}.present-program{list-style:none;counter-reset:exercise;margin:0;padding:0}.present-exercise{counter-increment:exercise;position:relative;display:grid;grid-template-columns:96px 1fr;align-items:center;gap:var(--space-4);padding:var(--space-4) 0 var(--space-4) var(--space-6)}.present-exercise+.present-exercise{border-top:1px solid var(--border)}.present-exercise:before{content:counter(exercise,decimal-leading-zero);position:absolute;left:0;top:var(--space-4);font-family:var(--font-data);font-size:var(--text-xs);color:var(--accent-text);letter-spacing:.08em}.present-exercise-media{width:96px;height:96px;border-radius:var(--radius-card);overflow:hidden;background:var(--bg-raised);border:1px solid var(--border);flex-shrink:0}.present-exercise-media img{width:100%;height:100%;object-fit:cover}.present-exercise-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.present-exercise-name{margin:0;font-family:var(--font-display);font-size:var(--text-lg)}.present-exercise-description{margin:0;font-size:var(--text-sm);color:var(--text-secondary)}.present-exercise-dosage{margin:0;font-size:var(--text-xs);color:var(--accent-text);letter-spacing:.04em}@media(max-width:480px){.present-exercise{grid-template-columns:64px 1fr;gap:var(--space-3)}.present-exercise-media{width:64px;height:64px}}@media(max-width:480px){.present-photos{gap:var(--space-2)}.present-title{font-size:var(--text-xl)}}.program-empty{color:var(--text-secondary);margin-bottom:var(--space-4)}.program-list{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.program-row{display:grid;grid-template-columns:var(--touch-target) 48px 1fr var(--touch-target);align-items:center;gap:var(--space-2);background:transparent}.program-row.is-dragging{position:relative;z-index:1;background:var(--bg-raised);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.program-handle{min-width:var(--touch-target);min-height:var(--touch-target);color:color-mix(in srgb,var(--text-secondary) 65%,transparent);font-size:var(--text-sm);letter-spacing:-2px;border-radius:var(--radius-control);cursor:grab;touch-action:none;transition:color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.program-handle:active{cursor:grabbing}.program-handle:hover{color:var(--text-primary);background:var(--accent-soft)}.program-thumb{width:48px;height:48px;border-radius:var(--radius-control);overflow:hidden;background:var(--bg-raised);border:1px solid var(--border);flex-shrink:0}.program-thumb img{width:100%;height:100%;object-fit:cover}.program-thumb-placeholder{display:block;width:100%;height:100%}.program-details{display:flex;flex-direction:column;gap:2px;min-width:0}.program-name{font-size:var(--text-md);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-dosage{min-height:var(--touch-target);width:100%;font-size:var(--text-sm);color:var(--text-secondary)}.program-remove{min-width:var(--touch-target);min-height:var(--touch-target);color:color-mix(in srgb,var(--text-secondary) 65%,transparent);border-radius:var(--radius-control);transition:color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.program-remove:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.program-add-button{min-height:var(--touch-target)}.exercise-picker{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-card)}.exercise-picker-header{display:flex;gap:var(--space-2)}.exercise-picker-header input{flex:1;min-height:var(--touch-target);min-width:0}.exercise-picker-close{min-width:var(--touch-target);min-height:var(--touch-target);color:var(--text-secondary);border-radius:var(--radius-control)}.exercise-picker-close:hover{color:var(--text-primary)}.exercise-picker-tags{display:flex;flex-wrap:wrap;gap:var(--space-1)}.exercise-picker-tag{min-height:28px;padding:0 var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-secondary);transition:color var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.exercise-picker-tag.is-selected{color:var(--accent-text);border-color:var(--accent);background:var(--accent-soft)}.exercise-picker-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);max-height:240px;overflow-y:auto}.exercise-picker-result{width:100%;min-height:var(--touch-target);padding:0 var(--space-2);text-align:left;border-radius:var(--radius-control);transition:background var(--motion-fast) ease-out}.exercise-picker-result:hover{background:var(--accent-soft)}.section-list{list-style:none;margin:0;padding:0}.section-row{display:grid;grid-template-columns:28px 1fr var(--touch-target);align-items:stretch;background:transparent;animation:rise var(--motion-rise) var(--ease-out-soft) both}.section-row:nth-child(1){animation-delay:30ms}.section-row:nth-child(2){animation-delay:70ms}.section-row:nth-child(3){animation-delay:.11s}.section-row:nth-child(4){animation-delay:.15s}.section-row:nth-child(5){animation-delay:.19s}.section-row.is-dragging{position:relative;z-index:1;background:var(--bg-raised);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.section-rail{position:relative;display:flex;align-items:center;justify-content:center}.section-rail:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border)}.section-row:first-child .section-rail:before{top:50%}.section-row:last-child .section-rail:before{bottom:50%}.section-dot{position:relative;width:9px;height:9px;transform:rotate(45deg);border-radius:2px;border:1px solid var(--text-secondary);background:var(--bg-base);transition:background var(--motion-fast) ease-out,border-color var(--motion-fast) ease-out}.section-dot.is-started{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 45%,var(--bg-base))}.section-dot.is-done{border-color:var(--ok);background:var(--ok)}.section-dot.pulse{animation:dot-pulse var(--motion-pulse) var(--ease-out-soft)}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 var(--accent);transform:rotate(45deg) scale(1)}50%{transform:rotate(45deg) scale(1.6)}to{box-shadow:0 0 0 8px transparent;transform:rotate(45deg) scale(1)}}@media(prefers-reduced-motion:reduce){.section-dot.pulse{animation:none}}.section-body{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:56px;padding:var(--space-2) var(--space-3);text-align:left;border-radius:var(--radius-card);transition:background var(--motion-fast) ease-out}.section-body:hover{background:var(--accent-soft)}.section-body:disabled{cursor:default}.section-body:disabled:hover{background:none}.section-body:disabled .section-name{color:var(--text-secondary)}.section-name{font-size:15px;font-weight:500}.section-status{font-size:var(--text-xs);color:var(--text-secondary)}.section-status.is-started{color:var(--warn-text)}.section-status.is-done{color:var(--ok-text)}.section-handle{min-width:var(--touch-target);min-height:var(--touch-target);color:color-mix(in srgb,var(--text-secondary) 65%,transparent);font-size:var(--text-sm);letter-spacing:-2px;border-radius:var(--radius-control);cursor:grab;touch-action:none;transition:color var(--motion-fast) ease-out,background var(--motion-fast) ease-out}.section-handle:active{cursor:grabbing}.section-handle:hover{color:var(--text-primary);background:var(--accent-soft)}.session-missing{color:var(--text-secondary)}.session-header{margin-bottom:var(--space-5)}.session-title{font-size:26px;margin-top:var(--space-1)}.session-actions{margin-top:var(--space-6);display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3)}.present-link{display:inline-flex;align-items:center;min-height:var(--touch-target);color:var(--text-secondary);font-weight:500;transition:color var(--motion-fast) ease-out}.present-link:after{content:"→";margin-left:var(--space-2);transition:transform var(--motion-fast) ease-out}.present-link:hover{color:var(--accent-text)}.present-link:hover:after{transform:translate(2px)}.settings-nav{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);border-bottom:1px solid var(--border)}.settings-nav-link{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);font-weight:500;color:var(--text-secondary);border-bottom:2px solid transparent;transition:color var(--motion-fast) ease-out}.settings-nav-link:hover{color:var(--text-primary)}.settings-nav-link.is-active{color:var(--accent-text);border-bottom-color:var(--accent)}.settings-nav-link.is-disabled{color:color-mix(in srgb,var(--text-secondary) 60%,transparent);cursor:not-allowed}.settings-coming-soon{font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:2px var(--space-1);border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border)}.today-header{margin-bottom:var(--space-5)}.today-date{font-size:26px;margin-top:var(--space-1)}.today-bookings-section{margin-bottom:var(--space-6)}.today-empty{color:var(--text-secondary)}.today-bookings{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.today-bookings>li+li{border-top:1px solid var(--border)}.today-booking-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-height:var(--touch-target);padding:var(--space-3) var(--space-4)}.today-booking-time{color:var(--text-secondary);font-size:var(--text-xs)}.today-booking-name{font-family:var(--font-display);font-size:var(--text-md);font-weight:500;flex:1;min-width:0}.today-booking-start{min-height:var(--touch-target);padding:0 var(--space-4);border:1px solid var(--accent);border-radius:var(--radius-pill);color:var(--accent-text);font-weight:600;font-size:var(--text-sm);transition:background var(--motion-fast) ease-out}.today-booking-start:hover{background:var(--accent-soft)}.today-open-list{list-style:none;margin:var(--space-2) 0 0;padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--bg-raised);box-shadow:var(--shadow-card);overflow:hidden}.today-open-list>li+li{border-top:1px solid var(--border)}.today-open-row{display:flex;align-items:center;gap:var(--space-3);min-height:48px;padding:var(--space-2) var(--space-4);color:var(--text-primary);transition:background var(--motion-fast) ease-out}.today-open-row:hover{background:var(--accent-soft)}.today-open-name{font-weight:500;flex:1;min-width:0}.today-open-date{color:var(--text-secondary);font-size:var(--text-xs)}
