@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.1zakzi6q17d4o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.2htf8h-pf57mm.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.3skwie1wjplzh.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.3zhbgtelpa5ua.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.3vf5yzuqk3fsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.1wmoa0e_blxrz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_e6374290-module__gjQTCa__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_e6374290-module__gjQTCa__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#0e0e10;--color-surface:#1a1a1d;--color-primary:#eeece7;--color-on-primary:#0e0e10;--color-secondary:#a9abae;--color-on-secondary:#0e0e10;--color-accent:#eeece7;--color-on-accent:#0e0e10;--color-cta:#c29468;--color-on-cta:#0e0e10;--color-foreground:#eeece7;--color-card-foreground:#eeece7;--color-muted:#232327;--color-muted-foreground:#a9abae;--color-border:#2c2c30;--color-border-strong:#66686c;--color-destructive:#e07a6e;--color-on-destructive:#0e0e10;--color-ring:#eeece7;--color-success:#7db38c;--color-warning:#d9b45f;--shadow-soft-1:none;--shadow-soft-2:none;--shadow-raised:0 0 0 1px var(--color-border);--shadow-raised-sm:0 0 0 1px var(--color-border);--shadow-inset:inset 0 0 0 1px var(--color-border);--shadow-inset-sm:inset 0 0 0 1px var(--color-border);--shadow-pressed:inset 0 0 0 1px var(--color-border-strong);--shadow-primary:none;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--font-heading:var(--font-inter), system-ui, sans-serif;--font-body:var(--font-inter), system-ui, sans-serif;--font-mono:var(--font-jetbrains-mono), ui-monospace, monospace;--sidebar-w:240px;--tabbar-h:0px;--cal-gutter:72px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-property:opacity,background-color,border-color,color,box-shadow,filter!important;transition-duration:.15s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-body);background:var(--color-background);color:var(--color-foreground);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.03em;color:var(--color-foreground);font-weight:500;line-height:1.15}a{color:inherit;text-decoration:none}svg{display:block}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}h1,h2{letter-spacing:-.045em}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:0 0 0 2px var(--color-background), 0 0 0 4px var(--color-ring);border-radius:var(--radius-sm);outline:none}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh;display:grid}.sidebar{height:100vh;padding:var(--space-lg) var(--space-md);background:var(--color-background);border-right:1px solid var(--color-border);z-index:20;flex-direction:column;display:flex;position:sticky;top:0}.brand{align-items:center;gap:var(--space-sm);font-family:var(--font-heading);padding:0 var(--space-sm);margin-bottom:var(--space-xl);font-size:1.25rem;font-weight:700;display:flex}.brand-mark{background:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);box-shadow:var(--shadow-primary);border-radius:13px;flex:none;place-items:center;display:grid}.nav-list{gap:var(--space-xs);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.nav-label{font-size:.68rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);padding:0 var(--space-sm);margin:var(--space-md) 0 var(--space-xs);font-weight:500}.nav-label:first-child{margin-top:0}.nav-item{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);color:var(--color-muted-foreground);padding:11px 14px;font-size:.93rem;font-weight:500;transition:box-shadow .15s,color .15s;display:flex}.nav-item svg{flex:none}.nav-item:hover{color:var(--color-foreground)}.nav-item.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-pressed);font-weight:600}.nav-item:not(.active):hover{box-shadow:var(--shadow-raised-sm)}.sidebar-foot{gap:var(--space-sm);border-top:1px solid var(--color-border);padding-top:var(--space-md);flex-direction:column;display:flex}.user-mini{align-items:center;gap:var(--space-sm);padding:var(--space-sm);display:flex}.user-mini .avatar{background:var(--color-muted);width:36px;height:36px;color:var(--color-accent);box-shadow:var(--shadow-inset-sm);border-radius:12px;flex:none;place-items:center;display:grid}.user-mini .who{font-size:.85rem;font-weight:600;line-height:1.3}.user-mini .who small{color:var(--color-muted-foreground);font-weight:500;display:block}.main{padding:var(--space-xl) var(--space-2xl) var(--space-2xl);width:100%;min-width:0;max-width:1240px;margin:0 auto}.topbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.page-head{margin-bottom:var(--space-xl)}.page-head .kicker{font-size:.74rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-xs);font-weight:500}.page-head h1{font-size:clamp(1.7rem,3vw,2.3rem)}.page-head .sub{color:var(--color-muted-foreground);max-width:62ch;margin-top:var(--space-xs)}.page-head.toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-md);flex-wrap:wrap;display:flex}.page-actions{gap:var(--space-sm);flex-wrap:wrap;display:flex}.day-nav{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding:12px 16px;display:flex}.day-nav-date{min-width:150px}.day-nav-center{text-align:center;flex-direction:column;gap:8px;display:flex}.day-nav-label{font-size:.7rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);font-weight:500}.day-nav-controls{align-items:center;gap:var(--space-sm);justify-content:center;display:flex}.btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:box-shadow .15s ease, color .15s ease, transform .16s var(--ease-out);border:none;padding:12px 22px;font-size:.93rem;font-weight:600;display:inline-flex}.btn svg{flex:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-cta);color:var(--color-on-cta);box-shadow:var(--shadow-primary)}.btn-primary:hover{background:#cfa47a}.btn-primary:active{box-shadow:var(--shadow-pressed)}.btn-secondary{background:var(--color-surface);color:var(--color-foreground);box-shadow:var(--shadow-raised)}.btn-secondary:active{box-shadow:var(--shadow-pressed)}.btn-accent{background:var(--color-accent);color:var(--color-on-accent);box-shadow:var(--shadow-primary)}.btn-accent:active{box-shadow:var(--shadow-pressed)}.btn-ghost{color:var(--color-muted-foreground);background:0 0}.btn-ghost:hover{color:var(--color-foreground)}.btn-danger{background:var(--color-destructive);color:var(--color-on-destructive);box-shadow:var(--shadow-primary)}.btn-danger:active{box-shadow:var(--shadow-pressed)}.btn-icon{border-radius:var(--radius-sm);background:var(--color-surface);width:44px;height:44px;color:var(--color-foreground);box-shadow:var(--shadow-raised);cursor:pointer;transition:box-shadow .15s ease, color .15s ease, transform .16s var(--ease-out);place-items:center;padding:0;display:grid}.btn-icon:active{box-shadow:var(--shadow-pressed);transform:scale(.97)}.btn-icon.danger{color:var(--color-destructive)}.btn-icon.small{width:36px;height:36px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:var(--shadow-inset-sm)}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow-raised);min-width:0}.card.lg{border-radius:var(--radius-lg);padding:var(--space-xl)}.card.inset{box-shadow:var(--shadow-inset-sm)}.grid-2{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.grid-2-split{gap:var(--space-lg);grid-template-columns:1.05fr .95fr;display:grid}.form-2{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.section-title{justify-content:space-between;align-items:center;gap:var(--space-md);margin:var(--space-xl) 0 var(--space-md);flex-wrap:wrap;display:flex}.card>.section-title:first-child{margin-top:0}.section-title h2{min-width:0;font-size:1.25rem}.section-title .hint{color:var(--color-muted-foreground);font-size:.8rem}.stat-card{position:relative;overflow:hidden}.stat-card .label{align-items:center;gap:var(--space-sm);font-size:.7rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);margin-bottom:var(--space-sm);font-weight:500;display:flex}.stat-card .label .ic{background:var(--color-muted);width:30px;height:30px;color:var(--color-accent);box-shadow:var(--shadow-inset-sm);border-radius:9px;place-items:center;display:grid}.stat-card .value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:1.7rem;font-weight:500;line-height:1.1}.stat-card .value small{font-family:var(--font-body);color:var(--color-muted-foreground);font-size:.8rem;font-weight:500}.stat-card .meta{color:var(--color-muted-foreground);margin-top:var(--space-xs);font-size:.82rem}.progress{background:var(--color-muted);height:9px;box-shadow:var(--shadow-inset-sm);margin-top:var(--space-sm);border-radius:999px;overflow:hidden}.progress>span{background:var(--color-primary);transform-origin:0;width:100%;height:100%;transition:transform .4s var(--ease-out);border-radius:999px;display:block;transform:scaleX(0)}.progress>span.warn{background:var(--color-warning)}.progress>span.accent{background:var(--color-accent)}.progress>span.success{background:var(--color-success)}.progress>span.danger{background:var(--color-destructive)}.field{gap:var(--space-xs);margin-bottom:var(--space-md);flex-direction:column;display:flex}.field label{font-size:.72rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);font-weight:500}.input,.select,.textarea{background:var(--color-background);border-radius:var(--radius-sm);width:100%;color:var(--color-foreground);font-family:var(--font-body);box-shadow:var(--shadow-inset);border:none;padding:12px 16px;font-size:.95rem;transition:box-shadow .15s}.textarea{resize:vertical;min-height:96px;line-height:1.5}.input:focus,.select:focus,.textarea:focus{box-shadow:var(--shadow-inset), 0 0 0 2px var(--color-ring);outline:none}.select{appearance:none;cursor:pointer;padding-right:40px}.select-wrap{position:relative}.select-wrap .chev{pointer-events:none;color:var(--color-muted-foreground);position:absolute;top:50%;right:14px;transform:translateY(-50%)}.hint-text{color:var(--color-muted-foreground);font-size:.78rem}.error-text{color:var(--color-destructive);font-size:.78rem}.segmented{gap:var(--space-xs);border-radius:var(--radius-md);background:var(--color-background);box-shadow:var(--shadow-inset-sm);scrollbar-width:none;max-width:100%;padding:5px;display:inline-flex;overflow-x:auto}.segmented::-webkit-scrollbar{display:none}.segmented button{border-radius:var(--radius-sm);font-family:var(--font-body);color:var(--color-muted-foreground);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:none;padding:8px 16px;font-size:.88rem;font-weight:600;transition:box-shadow .15s,color .15s}.segmented button.active{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-pressed)}.color-swatches{gap:var(--space-sm);flex-wrap:wrap;display:flex}.color-swatch{cursor:pointer;border:none;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;transition:box-shadow .15s,transform .15s;display:grid}.color-swatch.active{box-shadow:0 0 0 2px var(--color-background), 0 0 0 4px var(--color-ring)}@media (hover:hover) and (pointer:fine){.color-swatch:hover{transform:translateY(-1px)}}.toggle{background:var(--color-muted);width:46px;height:26px;box-shadow:var(--shadow-inset-sm);cursor:pointer;border-radius:999px;flex:none;transition:background .15s;position:relative}.toggle:after{content:"";background:var(--color-surface);width:20px;height:20px;box-shadow:var(--shadow-raised-sm);border-radius:50%;transition:transform .15s;position:absolute;top:3px;left:3px}.toggle[aria-checked=true]{background:var(--color-primary)}.toggle[aria-checked=true]:after{transform:translate(20px)}.hour-grid{gap:var(--space-xs);grid-template-columns:repeat(auto-fill,minmax(68px,1fr));display:grid}.hour-chip{border-radius:var(--radius-sm);cursor:pointer;background:var(--color-background);min-height:44px;box-shadow:var(--shadow-inset-sm);color:var(--color-muted-foreground);font-family:var(--font-mono);border:none;font-size:.85rem;transition:background-color .15s,color .15s}.hour-chip[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary);box-shadow:none}.badge{font-size:.7rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);background:var(--color-muted);box-shadow:var(--shadow-inset-sm);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-weight:500;display:inline-flex}.badge.warn{color:var(--color-warning);background:#d9b45f1f}.badge.success{color:var(--color-success);background:#7db38c1f}.badge.danger{color:var(--color-destructive);background:#e07a6e1f}.badge.solid{color:var(--color-on-primary);background:var(--color-primary);box-shadow:var(--shadow-primary)}.chip{align-items:center;gap:var(--space-xs);background:var(--color-surface);box-shadow:var(--shadow-raised-sm);color:var(--color-foreground);border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:500;display:inline-flex}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;font-size:.7rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);border-bottom:1px solid var(--color-border);padding:10px 12px;font-weight:500}.table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:12px}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:#eeece70a}.table .num-cell{text-align:right;font-variant-numeric:tabular-nums}.table .muted{color:var(--color-muted-foreground)}.alert{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border-radius:var(--radius-md);box-shadow:var(--shadow-raised-sm);font-size:.9rem;display:flex}.alert .ic{flex:none;margin-top:1px}.alert.warn,.alert.warn .ic{color:var(--color-warning)}.alert.info .ic{color:var(--color-accent)}.alert.success .ic{color:var(--color-success)}.alert.danger .ic{color:var(--color-destructive)}.insight{gap:var(--space-sm);padding:var(--space-md) 0;border-bottom:1px solid var(--color-border);align-items:flex-start;display:flex}.insight:last-child{border-bottom:none}.insight .bullet{background:var(--color-primary);border-radius:50%;flex:none;width:10px;height:10px;margin-top:7px}.insight .bullet.warn{background:var(--color-warning)}.insight .bullet.acc{background:var(--color-accent)}.insight .bullet.danger{background:var(--color-destructive)}.insight p{color:var(--color-muted-foreground);font-size:.93rem}.insight p strong{color:var(--color-foreground)}.modal-backdrop{z-index:100;padding:var(--space-lg);transition:opacity .2s var(--ease-out);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-backdrop[data-state=closed]{opacity:0;pointer-events:none}.modal{background:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-raised);padding:var(--space-xl);width:100%;max-width:520px;max-height:90vh;transition:opacity .2s var(--ease-out), transform .2s var(--ease-out);overflow-y:auto}.modal[data-state=closed]{opacity:0;transition-duration:.15s;transform:scale(.96)}.modal.wide{max-width:780px}.modal-head{margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-size:1.3rem}.modal-foot{justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.chart-box{width:100%;min-width:0;position:relative}.chart-box canvas{max-width:100%}.chart-box.h-sm{height:220px}.chart-box.h-md{height:280px}.chart-box.h-lg{height:340px}.legend{gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.legend .item{align-items:center;gap:var(--space-xs);color:var(--color-muted-foreground);font-size:.8rem;display:flex}.legend .swatch{border-radius:3px;flex:none;width:11px;height:11px}.divider{background:var(--color-border);height:1px;margin:var(--space-lg) 0}.kv{justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) 0;display:flex}.kv .k{color:var(--color-muted-foreground);font-size:.88rem}.kv .v{font-variant-numeric:tabular-nums;font-weight:600}.empty{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-muted-foreground)}.empty .ic{width:52px;height:52px;margin:0 auto var(--space-md);color:var(--color-accent);box-shadow:var(--shadow-inset);border-radius:16px;place-items:center;display:grid}.quick-actions{gap:var(--space-md);grid-template-columns:repeat(4,1fr);display:grid}.quick-action{align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-sm);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-raised);text-align:center;cursor:pointer;transition:box-shadow .15s ease, color .15s ease, transform .16s var(--ease-out);flex-direction:column;font-size:.85rem;font-weight:600;display:flex}.quick-action .ic,.feature .ic{background:var(--color-primary);width:42px;height:42px;color:var(--color-on-primary);box-shadow:var(--shadow-primary);border-radius:13px;place-items:center;display:grid}.quick-action:active{box-shadow:var(--shadow-pressed);transform:scale(.97)}.more-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.more-item{align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-raised-sm);color:var(--color-foreground);transition:box-shadow .15s ease, color .15s ease, transform .16s var(--ease-out);padding:12px 14px;font-size:.9rem;font-weight:600;display:flex}.more-item .ic{color:var(--color-accent)}.more-item:active{box-shadow:var(--shadow-pressed);transform:scale(.97)}.more-item.active{color:var(--color-accent);box-shadow:var(--shadow-pressed)}.auth-wrap{max-width:1100px;min-height:100dvh;padding:var(--space-lg);gap:var(--space-2xl);grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:center;margin:0 auto;display:grid}.auth-card{justify-self:center;width:100%;max-width:420px}.auth-top{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.auth-intro .brand{margin:0;padding:0}.auth-note a{color:var(--color-accent);font-weight:600}.auth-request{text-align:center;justify-items:center;gap:var(--space-md);display:grid}.auth-request h2{margin:0}.auth-request .auth-lead{margin:0 auto}.auth-request-email{color:var(--color-muted-foreground);font-size:.85rem}.auth-intro h1{margin-bottom:var(--space-md);font-size:clamp(2rem,5vw,3.2rem);line-height:1.1}.auth-lead{color:var(--color-muted-foreground);max-width:52ch;font-size:1.05rem;line-height:1.6}.auth-points{margin:var(--space-lg) 0 0;gap:var(--space-sm);padding:0;list-style:none;display:grid}.auth-points li{align-items:center;gap:var(--space-sm);font-weight:500;display:flex}.auth-points svg{color:var(--color-accent);flex:none}.auth-more{align-items:center;gap:var(--space-xs);min-height:44px;margin-top:var(--space-md);color:var(--color-accent);font-weight:600;display:inline-flex}.auth-about{max-width:1100px;padding:var(--space-2xl) var(--space-lg);scroll-margin-top:var(--space-lg);margin:0 auto}.auth-about h2{margin-bottom:var(--space-sm);font-size:clamp(1.5rem,3vw,2.1rem)}.auth-eyebrow{font-size:.75rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-xs);font-weight:500}.feature-grid{gap:var(--space-lg);margin-top:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));display:grid}.feature h3{margin:var(--space-md) 0 var(--space-xs);font-size:1.1rem}.feature p{color:var(--color-muted-foreground);font-size:.92rem;line-height:1.55}.feature-details{gap:var(--space-lg);margin-top:var(--space-xl);display:grid}.feature-detail{gap:var(--space-lg);grid-template-columns:200px minmax(0,1fr);align-items:start;display:grid}.feature-detail-head{align-items:center;gap:var(--space-md);display:flex}.feature-detail-head h3{margin:0}.feature-detail .auth-points{column-gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.feature-detail .auth-points li{align-items:flex-start;font-size:.92rem;font-weight:400;line-height:1.5}.feature-detail .auth-points svg{margin-top:2px}@media (max-width:900px){.auth-wrap{gap:var(--space-xl);min-height:0;padding-top:var(--space-2xl);grid-template-columns:1fr}.feature-detail{gap:var(--space-md);grid-template-columns:1fr}.feature-detail .auth-points{grid-template-columns:1fr}}.auth-title{text-align:center;margin-bottom:var(--space-xs);font-size:1.6rem}.auth-sub{text-align:center;color:var(--color-muted-foreground);margin-bottom:var(--space-xl);font-size:.9rem}.auth-note{align-items:flex-start;gap:var(--space-sm);color:var(--color-muted-foreground);margin-top:var(--space-lg);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);background:var(--color-muted);box-shadow:var(--shadow-inset-sm);font-size:.8rem;display:flex}.auth-note .ic{color:var(--color-accent);flex:none;margin-top:1px}.route-progress{z-index:300;pointer-events:none;opacity:0;background:var(--color-secondary);width:100%;height:3px;animation:.9s cubic-bezier(.2,.8,.2,1) forwards routeProgress;position:fixed;top:0;left:0;transform:translate(-100%)}@keyframes routeProgress{0%{opacity:1;transform:translate(-100%)}70%{opacity:1;transform:translate(-12%)}to{opacity:0;transform:translate(0)}}.loading-screen{justify-content:center;align-items:center;gap:var(--space-md);text-align:center;flex-direction:column;min-height:60vh;display:flex}.spinner{border:4px solid var(--color-muted);border-top-color:var(--color-primary);width:46px;height:46px;box-shadow:var(--shadow-raised);border-radius:50%;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--color-muted-foreground);font-size:.92rem;font-weight:500}.loading-skeletons{gap:var(--space-sm);flex-direction:column;width:100%;max-width:360px;display:flex}.skeleton{background:var(--color-muted);height:14px;box-shadow:var(--shadow-inset-sm);border-radius:8px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.cal-grid{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.cal-weekday{text-align:center;font-size:.68rem;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted-foreground);padding:var(--space-xs) 0;font-weight:500}.cal-day{border-radius:var(--radius-sm);background:var(--color-surface);min-height:84px;box-shadow:var(--shadow-raised-sm);cursor:pointer;flex-direction:column;gap:4px;padding:8px;transition:box-shadow .15s;display:flex}.cal-day.empty{box-shadow:none;cursor:default;background:0 0}.cal-day .dnum{color:var(--color-muted-foreground);font-size:.8rem;font-weight:700}.cal-day.today .dnum{color:var(--color-accent);font-weight:800}.cal-day.selected{box-shadow:var(--shadow-pressed)}.cal-event{background:var(--color-primary);color:var(--color-on-primary);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 6px;font-size:.7rem;line-height:1.25;overflow:hidden}.cal-event.more{background:var(--color-muted);color:var(--color-muted-foreground)}.cal-hours{flex-direction:column;display:flex}.cal-hour{gap:var(--space-md);display:flex}.cal-hour .hour-label{width:var(--cal-gutter);text-align:right;color:var(--color-muted-foreground);flex:none;padding-top:6px;font-size:.72rem;font-weight:600}.cal-hour .hour-slot{border-top:1px solid var(--color-border);flex:1}.cal-timed{border-radius:var(--radius-sm);background:var(--color-muted);box-shadow:var(--shadow-raised-sm);color:var(--color-foreground);flex-direction:column;justify-content:center;gap:2px;margin-bottom:6px;padding:6px 12px;font-size:.88rem;display:flex;overflow:hidden}.cal-timed .cal-time{color:var(--color-accent);font-size:.74rem;font-weight:600}.cal-timed.abs{left:calc(var(--cal-gutter) + var(--space-md));position:absolute;right:0}.event-row{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;display:flex}.event-row .grow{min-width:0}.event-actions{gap:var(--space-xs);display:flex}.gym-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);align-items:start;display:grid}.gym-stats{gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.gym-routine{gap:var(--space-md);flex-direction:column;min-width:0;display:flex}.gym-exercise{padding:var(--space-md) var(--space-lg)}.gym-exercise-head{align-items:flex-start;gap:var(--space-sm);flex-wrap:wrap;display:flex}.gym-order{background:var(--color-surface);width:34px;height:34px;box-shadow:var(--shadow-inset-sm);color:var(--color-accent);border-radius:10px;flex:none;place-items:center;font-size:.78rem;font-weight:700;display:grid}.gym-exercise-title{flex:1 1 0;min-width:0}.gym-exercise-title h3{font-size:1.02rem;line-height:1.3}.gym-meta{color:var(--color-muted-foreground);font-size:.78rem}.gym-last{color:var(--color-muted-foreground);margin-top:2px;font-size:.78rem}.gym-notes{color:var(--color-muted-foreground);white-space:pre-wrap;overflow-wrap:anywhere;margin-top:var(--space-xs);font-size:.82rem}.gym-sets{margin-top:var(--space-sm);flex-direction:column;gap:2px;display:flex}.gym-set{gap:var(--space-sm);border-radius:8px;grid-template-columns:38px minmax(0,1fr) auto auto;align-items:center;padding:6px 8px;font-size:.84rem;display:grid}.gym-set:hover{background:#eeece70a}.gym-set .kind{font-size:.64rem;font-weight:700;font-family:var(--font-mono);letter-spacing:.12em;color:var(--color-muted-foreground);text-align:center}.gym-set .kind.warmup{color:var(--color-warning)}.gym-set .kind.drop{color:var(--color-accent)}.gym-set .load{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:600}.gym-set .rir{color:var(--color-muted-foreground);white-space:nowrap;font-size:.72rem}.gym-set-meta{justify-self:end;align-items:center;gap:6px;display:inline-flex}.gym-set-timer{min-width:34px;min-height:32px;color:var(--color-muted-foreground);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:3px;padding:0 5px;font-size:.68rem;transition:color .15s,background-color .15s,box-shadow .15s;display:inline-flex}.gym-timer-icon{display:inline-block}.gym-set-timer:hover{color:var(--color-accent);background:#eeece70a}.gym-set-timer:active{box-shadow:var(--shadow-pressed)}.gym-set-timer.done{color:var(--color-accent);font-weight:700}.gym-set .note{color:var(--color-muted-foreground);overflow-wrap:anywhere;grid-column:2/-1;font-size:.76rem}.gym-action-menu{flex:none;display:inline-flex;position:relative}.gym-action-menu-pop{z-index:61;border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-raised);gap:2px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.gym-menu-backdrop{z-index:60;cursor:default;background:0 0;border:none;position:fixed;inset:0}.gym-set-form{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.gym-set-form-wrap{margin-top:var(--space-sm)}.gym-add-set-toggle,.gym-cardio-toggle{justify-content:center;width:100%}.gym-cardio-form{margin-top:var(--space-md)}.gym-totals-summary{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.gym-totals-summary .value{font-family:var(--font-heading);font-size:1.35rem;font-weight:700;line-height:1.1}.gym-totals-summary .value small{font-family:var(--font-body);color:var(--color-muted-foreground);font-size:.8rem;font-weight:500}.gym-totals-actions{gap:var(--space-sm);margin-top:var(--space-md);display:flex}.gym-totals-actions .btn{flex:1;justify-content:center}.gym-set-grid{gap:var(--space-sm);grid-template-columns:1.2fr .9fr .9fr .6fr .8fr 1.2fr auto;align-items:end;display:grid}.gym-set-grid .field{margin-bottom:0}.gym-set-grid .add{height:44px}.gym-set-grid .input,.gym-set-grid .select{padding:9px 10px;font-size:.85rem}.gym-set-grid .select{padding-right:28px}.gym-set-grid .select-wrap .chev{right:8px}.gym-coach{top:var(--space-lg);min-width:0;scroll-margin-top:var(--space-lg);align-self:start;position:sticky}.gym-coach-log{gap:var(--space-sm);max-height:min(420px,50vh);margin-top:var(--space-sm);flex-direction:column;padding:2px 4px 2px 0;display:flex;overflow-y:auto}.gym-msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;padding:10px 12px;font-size:.88rem;line-height:1.5}.gym-msg.user{background:var(--color-primary);color:var(--color-on-primary);align-self:flex-end;max-width:90%}.gym-msg.coach{background:var(--color-surface);box-shadow:var(--shadow-inset-sm);align-self:flex-start;max-width:95%}.gym-msg.pending{color:var(--color-muted-foreground);font-style:italic}.gym-prompts{gap:var(--space-xs);margin:var(--space-sm) 0;flex-wrap:wrap;display:flex}.gym-prompts button{background:var(--color-surface);box-shadow:var(--shadow-raised-sm);color:var(--color-muted-foreground);cursor:pointer;border-radius:999px;padding:7px 10px;font-size:.74rem;transition:box-shadow .15s,color .15s}.gym-prompts button:hover{color:var(--color-accent)}.gym-prompts button:active{box-shadow:var(--shadow-pressed)}.gym-prompts button:disabled{opacity:.55;cursor:not-allowed}.gym-input-row{gap:var(--space-sm);align-items:flex-end;display:flex}.gym-input-row .field{flex:1;margin-bottom:0}.gym-input-row .btn{flex:none;justify-content:center;width:44px;height:44px;padding:0}.gym-coach-history{margin-top:var(--space-md);border-top:1px solid var(--color-border);padding-top:var(--space-sm)}.gym-coach-history summary{justify-content:space-between;align-items:center;gap:var(--space-sm);cursor:pointer;color:var(--color-muted-foreground);font-size:.8rem;font-weight:700;list-style:none;display:flex}.gym-coach-history summary::-webkit-details-marker{display:none}.gym-coach-history summary::marker{content:""}.gym-coach-history-title{align-items:center;gap:var(--space-xs);display:inline-flex}.gym-coach-history-list{max-height:220px;margin-top:var(--space-sm);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.gym-coach-history-item{gap:var(--space-sm);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:7px 8px;font-size:.78rem;transition:box-shadow .15s,color .15s;display:grid}.gym-coach-history-item:hover{background:#eeece70a}.gym-coach-history-item.active{box-shadow:var(--shadow-pressed);color:var(--color-accent)}.gym-coach-history-date{white-space:nowrap;font-weight:700}.gym-coach-history-preview{color:var(--color-muted-foreground);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.gym-coach-history-item.active .gym-coach-history-preview{color:var(--color-accent)}.gym-coach-history-count{color:var(--color-muted-foreground);font-variant-numeric:tabular-nums;font-size:.68rem}.gym-cardio-list{margin-top:var(--space-sm);flex-direction:column;gap:2px;display:flex}.gym-cardio-row{justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--color-border);padding:6px 0;font-size:.85rem;display:flex}.gym-cardio-row>span{overflow-wrap:anywhere;min-width:0}.gym-cardio-row:last-child{border-bottom:none}.gym-recent{flex-direction:column;display:flex}.gym-recent a{justify-content:space-between;align-items:center;gap:var(--space-sm);border-bottom:1px solid var(--color-border);padding:10px 0;display:flex}.gym-recent a:last-child{border-bottom:none}.gym-recent a:hover{color:var(--color-accent)}.gym-empty-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-direction:column;display:flex}.gym-copy-list{gap:var(--space-xs);margin-top:var(--space-sm);flex-direction:column;display:flex}.gym-copy{justify-content:space-between;align-items:center;gap:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-surface);box-shadow:var(--shadow-inset-sm);padding:8px 10px;font-size:.82rem;display:flex}.gym-copy>span{min-width:0}.gym-progress-head{align-items:flex-end;gap:var(--space-md);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.gym-progress-head .field{flex:0 320px;min-width:220px;margin-bottom:0}.gym-progress-check{align-items:center;gap:var(--space-sm);min-height:44px;color:var(--color-foreground);cursor:pointer;padding:0 4px;font-size:.86rem;display:inline-flex}.gym-progress-check input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex:none}.gym-progress-check .gym-meta{font-family:var(--font-body)}.gym-progress-mode-hint{margin:0 0 var(--space-md)}.gym-progress-note{margin:0 0 var(--space-sm)}.gym-progress-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.gym-progress-chart{min-width:0}.gym-progress-chart h3{margin-bottom:var(--space-xs);font-size:.95rem}.gym-progress-chart .gym-meta{font-family:var(--font-body);font-weight:400}.gym-weekly{scroll-margin-top:var(--space-lg)}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-list>*{opacity:0;animation:fadeUp .3s var(--ease-out) forwards}.stagger-list>:first-child{animation-delay:0s}.stagger-list>:nth-child(2){animation-delay:40ms}.stagger-list>:nth-child(3){animation-delay:80ms}.stagger-list>:nth-child(4){animation-delay:.12s}.stagger-list>:nth-child(5){animation-delay:.16s}.stagger-list>:nth-child(6){animation-delay:.2s}.stagger-list>:nth-child(7){animation-delay:.24s}.stagger-list>:nth-child(8){animation-delay:.28s}.stagger-list>:nth-child(n+9){animation-delay:.32s}.more-overlay{z-index:100;background:#0009;position:fixed;inset:0}.more-drawer{background:var(--color-background);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;box-shadow:var(--shadow-raised);padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));z-index:101;margin:0 auto;position:fixed;bottom:0;left:0;right:0}.more-drawer-handle[data-vaul-handle]{background:var(--color-muted-foreground);opacity:.45;margin-bottom:var(--space-md)}.more-drawer-title{font-family:var(--font-heading);margin-bottom:var(--space-md);color:var(--color-foreground);font-size:1.15rem;font-weight:700}.tabbar{display:none}@media (max-width:640px){.hide-mobile{display:none}.input,.select,.textarea{font-size:16px}.card{padding:var(--space-md)}.card.lg,.modal{padding:var(--space-lg)}.modal-foot{flex-wrap:wrap}.modal-foot .btn{flex:auto;justify-content:center}.form-2{grid-template-columns:1fr}.day-nav{align-items:center;column-gap:var(--space-sm);row-gap:var(--space-sm);grid-template-columns:auto 1fr auto;padding:10px 12px;display:grid}.day-nav>.btn-icon.small:first-child{grid-area:1/1}.day-nav>.btn-icon.small:last-child{grid-area:1/3}.day-nav-center{flex-direction:column;grid-area:1/2;gap:2px;display:flex}.day-nav-controls{flex-wrap:wrap;justify-content:center}.day-nav-controls .input{flex:1;min-width:0}.day-nav-controls .btn{flex:none}.gym-page-head .sub,.gym-page-head .page-actions{display:none}.gym-page-head{margin-bottom:var(--space-md)}.gym-totals-hint{display:none}.gym-stats{gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr))}.gym-stats>:first-child{grid-column:1/-1}.gym-stats .stat-card{padding:var(--space-md)}.gym-stats .stat-card .value{font-size:1.45rem}.gym-stats .stat-card .meta{font-size:.76rem;line-height:1.45}.gym-stats .stat-card .label{font-size:.68rem}.gym-stats .stat-card .label .ic{width:28px;height:28px}.gym-prompts{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.gym-prompts::-webkit-scrollbar{display:none}.gym-prompts button{flex:none}.gym-session-totals-form{gap:var(--space-sm);grid-template-columns:1fr 1fr}.gym-totals-summary .value{font-size:1.2rem}.gym-exercise{padding:var(--space-md)}.gym-progress-head .field{flex:100%}.gym-progress-check{width:100%}.gym-set-grid{grid-template-columns:repeat(2,1fr)}.gym-set-grid .add{grid-column:1/-1;justify-content:center;width:100%}.gym-set{grid-template-columns:34px minmax(0,1fr) auto auto}.gym-set .note{grid-column:2/-1}.gym-coach-log{max-height:320px}.gym-copy{flex-direction:column;align-items:flex-start}:root{--cal-gutter:56px}.cal-grid{gap:4px}.cal-day{min-height:72px;padding:5px}.cal-event{padding:2px 4px;font-size:.62rem}.event-row{flex-wrap:wrap}}@media (max-width:380px){.day-nav-controls{flex-wrap:wrap}.day-nav-controls .input{flex:100%}.day-nav-controls .btn{flex:none;min-width:96px}.gym-set-timer .gym-timer-icon.idle{display:none}}@media (max-width:340px){.day-nav-date{min-width:136px}.gym-session-totals-form{grid-template-columns:1fr}}@media (max-width:980px){.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (max-width:1100px){.grid-2,.grid-2-split,.gym-grid{grid-template-columns:1fr}.gym-coach{position:static}}@media (max-width:900px){:root{--tabbar-h:calc(64px + env(safe-area-inset-bottom,0px))}.app{grid-template-columns:1fr}.sidebar{display:none}.main{padding:var(--space-lg) var(--space-md) calc(var(--tabbar-h) + var(--space-xl))}.tabbar{height:var(--tabbar-h);background:var(--color-background);border-top:1px solid var(--color-border);padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));z-index:50;scrollbar-width:none;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab-item{border-radius:var(--radius-sm);min-width:56px;min-height:48px;color:var(--color-muted-foreground);flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;gap:2px;font-size:.62rem;font-weight:600;transition:box-shadow .15s,color .15s;display:flex}.tab-item.active{color:var(--color-accent);box-shadow:var(--shadow-pressed)}.btn-icon.small{width:44px;height:44px}.color-swatch{width:38px;height:38px}.modal-backdrop{padding:var(--space-md);align-items:flex-end}.modal{max-width:none;max-height:calc(100dvh - 2 * var(--space-md));border-radius:var(--radius-lg) var(--radius-lg) 0 0;transition:transform .3s var(--ease-drawer), opacity .2s var(--ease-out)}.modal[data-state=closed]{opacity:0;transition-duration:.2s;transform:translateY(100%)}.modal-foot{padding-bottom:env(safe-area-inset-bottom,0px)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
