:root{--teal: #038181;--red: #ac1e23;--dark-grey: #1f2020;--light-grey: #a9abab;--white: #f7f8f8;--accent: var(--teal);--accent-strong: #026a6a;--accent-text: #037272;--accent-soft: rgba(3, 129, 129, .1);--on-accent: #ffffff;--warn: #8a6100;--warn-soft: rgba(212, 150, 20, .15);--danger: #b3261e;--danger-bg: #b3261e;--bg: #f1f4f4;--surface: #ffffff;--surface-2: #eaeeee;--input-fill: #eff2f2;--text: #182020;--text-muted: #5d6869;--border: #d8dfdf;--divider: #e9eded;--input-bg: #ffffff;--bar-bg: var(--dark-grey);--bar-text: var(--white);--card-shadow: 0 1px 2px rgba(16, 32, 32, .06), 0 2px 8px rgba(16, 32, 32, .05);--card-edge: transparent;--overlay-shadow: 0 12px 40px rgba(0, 0, 0, .28);--gutter: 16px;--radius: 12px;--radius-lg: 16px;--max-width: 600px;--header-h: 56px;--bar-top: env(safe-area-inset-top);color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--accent-text: #4cc3c3;--accent-soft: rgba(76, 195, 195, .14);--warn: #e9b950;--warn-soft: rgba(233, 185, 80, .14);--danger: #f2756f;--bg: #111313;--surface: #1b1f1f;--surface-2: #262b2b;--input-fill: #252a2a;--text: #eef2f2;--text-muted: #9ba5a6;--border: #323939;--divider: #272c2c;--input-bg: #1b1f1f;--bar-bg: #111313;--card-shadow: none;--card-edge: #252a2a;--overlay-shadow: 0 12px 40px rgba(0, 0, 0, .6)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}@media(display-mode:standalone){:root{--bar-top: calc(env(safe-area-inset-top) + min(12px, env(safe-area-inset-top))) }body{background:var(--bar-bg)}#root{height:auto;min-height:100%;background:var(--bg)}}button,input,select{font:inherit;color:inherit}a{color:var(--accent-text)}h1,h2,h3,h4{line-height:1.25}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.shell{min-height:100%;min-height:100dvh;display:flex;flex-direction:column}.app-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:2px;min-height:calc(var(--header-h) + var(--bar-top));padding:var(--bar-top) 4px 0;background:var(--bar-bg);color:var(--bar-text)}@media(prefers-color-scheme:dark){.app-bar{box-shadow:0 1px 0 var(--divider)}}.app-title{flex:1;min-width:0;margin:0 6px}.app-bar h1{margin:0;font-size:1.125rem;font-weight:650;letter-spacing:.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-subtitle{margin:1px 0 0;font-size:.8rem;line-height:1.2;color:#ffffffb8}.app-bar-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff1f}.app-bar-progress-fill{height:100%;background:#4cc3c3;transform-origin:left center;transition:transform .3s ease}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.icon-btn:hover{background:#7f7f7f24}.icon-btn:active{background:#7f7f7f38}.icon-btn:focus-visible,.btn:focus-visible,.menu-item:focus-visible,.agenda-item:focus-visible,.check-btn:focus-visible,.rating:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.icon{width:24px;height:24px;fill:currentColor;flex-shrink:0}.today-icon-date{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:7.5px;font-weight:700}.main{flex:1;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}.page{width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--gutter)}.main>.page{flex:1 0 auto}.main:has(.bottom-bar){padding-bottom:0}.page-flush{width:100%;max-width:var(--max-width);margin:0 auto;padding-bottom:16px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#00000073;animation:fade-in .2s ease}.drawer{position:fixed;inset:0 auto 0 0;z-index:41;width:min(304px,85vw);display:flex;flex-direction:column;background:var(--surface);box-shadow:var(--overlay-shadow);transform:translate(-102%);transition:transform .22s ease;visibility:hidden}.drawer.open{transform:none;visibility:visible}.drawer-header{display:flex;align-items:center;gap:14px;padding:calc(28px + env(safe-area-inset-top)) var(--gutter) 22px;background:var(--bar-bg);color:var(--bar-text)}.drawer-header>div{min-width:0}.avatar{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:1.1rem;font-weight:700;letter-spacing:.02em}.avatar .icon{width:30px;height:30px}.drawer-header .name{font-weight:650;font-size:1.05rem}.drawer-header .email{font-size:.85rem;color:var(--light-grey);overflow-wrap:anywhere}.drawer nav{flex:1;overflow-y:auto;padding:10px 0}.menu-item{display:flex;align-items:center;gap:16px;width:calc(100% - 16px);margin:2px 8px;padding:12px;border:0;border-radius:var(--radius);background:transparent;text-align:left;text-decoration:none;color:var(--text);font-size:1rem;font-weight:500;cursor:pointer}.menu-item .icon{color:var(--text-muted)}.menu-item:hover{background:var(--surface-2)}.menu-item[aria-current=page]{background:var(--accent-soft);color:var(--accent-text);font-weight:650}.menu-item[aria-current=page] .icon{color:var(--accent-text)}.drawer-footer{padding:6px 0 calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--divider)}.profile-more{display:grid;gap:10px;margin-top:12px;padding-top:20px;border-top:1px solid var(--divider)}.profile-row{min-height:56px}.profile-row-icon{color:var(--accent-text)}.switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex-shrink:0;width:51px;height:31px;margin:0;border-radius:999px;background:var(--border);cursor:pointer;transition:background-color .2s ease}.switch:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s ease}.switch:checked{background:var(--accent)}.switch:checked:before{transform:translate(20px)}.switch:disabled{opacity:.5;cursor:default}.switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overflow{position:relative}.overflow-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29}.overflow-menu{position:absolute;right:4px;top:46px;z-index:30;min-width:220px;padding:6px;border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--overlay-shadow)}.overflow-menu button{display:block;width:100%;padding:12px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer}.overflow-menu button:hover{background:var(--surface-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:10px 18px;border:0;border-radius:var(--radius);font-weight:650;letter-spacing:.01em;cursor:pointer;text-decoration:none;transition:background-color .15s ease,transform .1s ease}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #03505040}.btn-primary:disabled{background:var(--surface-2);color:var(--text-muted);box-shadow:none;opacity:1}.btn-primary:hover:not(:disabled),.btn-primary:active:not(:disabled){background:var(--accent-strong)}.btn-outline{background:var(--surface);color:var(--accent-text);box-shadow:inset 0 0 0 1.5px var(--accent)}.btn-secondary{background:var(--surface-2);color:var(--text)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-danger{background:var(--danger-bg);color:#fff}.btn-plain{background:transparent;color:var(--accent-text)}.btn-row{display:flex;gap:10px}.stack{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.875rem;font-weight:600;color:var(--text-muted)}.field input,.field select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);transition:border-color .15s ease,box-shadow .15s ease}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238a9596' d='M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:24px}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.password-wrap .icon-btn{position:absolute;right:3px;top:3px;color:var(--text-muted)}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.95rem}.checkbox input{width:22px;height:22px;margin-top:1px;accent-color:var(--accent)}.error-text{margin:0;color:var(--danger);font-size:.95rem;font-weight:500}.message-text{margin:0;color:var(--accent-text)}.muted{color:var(--text-muted)}.center{text-align:center}.spinner{width:36px;height:36px;margin:24px auto;border:4px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner.small{width:20px;height:20px;border-width:3px;margin:0}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop{0%{transform:scale(.6)}60%{transform:scale(1.12)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}.drawer,.rest-bar-fill,.app-bar-progress-fill{transition:none}.check-btn.done,.complete-badge,.drawer-backdrop{animation:none}}.auth{min-height:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) var(--gutter) calc(24px + env(safe-area-inset-bottom))}.auth-inner{width:100%;max-width:420px;margin:0 auto}.logo{display:block;width:320px;max-width:90%;height:auto;margin:0 auto 28px}.legal{margin:4px 0 0;font-size:.8rem;color:var(--text-muted);text-align:center}.legal a{white-space:nowrap}.auth-submit{margin-top:8px}.btn-primary[aria-busy=true]:disabled{background:var(--accent);color:var(--on-accent);cursor:progress}.btn-primary[aria-busy=true] .spinner{border-color:#ffffff59;border-top-color:var(--on-accent)}.auth .btn-secondary{min-height:44px;background:transparent;color:var(--accent-text)}.group-header{margin:22px var(--gutter) 8px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px var(--gutter) 10px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.section-sets{flex-shrink:0;padding:2px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-text);font-size:.78rem;letter-spacing:.02em;text-transform:none}.banner{padding:20px var(--gutter) 0}.banner h2{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.notice{margin:12px var(--gutter);padding:12px 14px;border-radius:var(--radius);background:var(--warn-soft);font-size:.92rem}.notice .btn-plain{width:auto;min-height:0;padding:0 4px}.list{list-style:none;margin:0;padding:0}.agenda-month{margin:24px var(--gutter) 6px;font-size:1.15rem;font-weight:700}.history-month{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.history-count{font-size:.85rem;font-weight:600;color:var(--text-muted)}.agenda-day{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;padding:6px var(--gutter)}.agenda-date{display:flex;flex-direction:column;align-items:center;margin:0;padding-top:8px;scroll-margin-top:calc(var(--header-h) + var(--bar-top) + 8px)}.agenda-dow{font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.agenda-dom{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:1.25rem;font-weight:700}.agenda-day.today .agenda-dow{color:var(--accent-text)}.agenda-day.today .agenda-dom{background:var(--accent);color:var(--on-accent);font-size:1.1rem}.agenda-day.empty{padding-top:0;padding-bottom:0}.agenda-day.empty:not(.today) .agenda-dom{color:var(--text-muted);font-weight:600}.agenda-items{display:flex;flex-direction:column;gap:8px;min-width:0}.agenda-empty{padding:22px 0 0;font-size:.875rem;color:var(--text-muted)}.agenda-day.empty .agenda-empty{padding:26px 0 14px;border-bottom:1px dashed var(--border)}.agenda-item{display:flex;align-items:center;gap:12px;width:100%;min-height:68px;padding:12px;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow);color:var(--text);text-align:left;font-size:1rem;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.agenda-item:active{transform:scale(.99);background:var(--surface-2)}.status-mark{flex-shrink:0;width:32px;height:32px;color:var(--accent-text);--mark-cutout: var(--surface)}.status-mark-badge circle{fill:var(--accent);stroke:var(--mark-cutout);stroke-width:2}.row-text{flex:1;min-width:0}.row-title{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-weight:650;line-height:1.3}.row-sub{display:block;margin-top:1px;font-size:.85rem;color:var(--text-muted)}.agenda-end{color:var(--text-muted)}.status-in-progress .status-mark{color:var(--warn)}.status-in-progress .row-sub{color:var(--warn);font-weight:600}.agenda-items .status-complete{background:transparent;box-shadow:none;border-color:var(--border)}.agenda-items .status-complete .status-mark{--mark-cutout: var(--bg)}.agenda-items .status-complete .row-title{color:var(--text-muted)}.agenda-items .status-missed{background:transparent;box-shadow:none;border-color:var(--border)}.agenda-items .status-missed .status-mark{color:var(--text-muted);--mark-cutout: var(--bg)}.agenda-items .status-missed .row-title{color:var(--text-muted)}.load-more{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px;color:var(--text-muted)}.load-more .btn{width:auto}.load-earlier{padding-bottom:0}.pull-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;transition:height .15s ease}.bottom-bar{position:sticky;bottom:0;margin-top:auto;padding:20px var(--gutter) calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent,var(--bg) 18px)}.page>.bottom-bar{margin:auto calc(-1 * var(--gutter)) calc(-1 * var(--gutter))}.bottom-bar-inner{max-width:var(--max-width);margin:0 auto}.step-title{margin:0 0 8px;font-size:1.5rem;font-weight:700}.question-page{padding-top:32px}.question-page>.center.muted{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text)}.question-text{margin:4px 0 28px;font-size:1.5rem;font-weight:700;line-height:1.3;text-align:center;text-wrap:balance}.rating{display:flex;justify-content:center;gap:6px;padding:14px 8px;border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--card-edge);box-shadow:var(--card-shadow);touch-action:none;-webkit-user-select:none;user-select:none}.rating svg{width:48px;height:48px}.complete-badge{display:flex;align-items:center;justify-content:center;width:96px;height:96px;margin:56px auto 8px;border-radius:50%;background:var(--accent);color:var(--on-accent);box-shadow:0 0 0 12px var(--accent-soft);animation:pop .45s ease-out}.complete-badge .icon{width:52px;height:52px}.complete-message{margin:24px 0 8px;font-size:1.75rem;font-weight:750;text-align:center}.portal-frame{flex:1;width:100%;border:0;background:#fff}.video-dialog{width:min(calc(100% - 2 * var(--gutter)),720px);max-width:none;max-height:calc(100% - 2 * var(--gutter));padding:0;border:0;border-radius:20px;background:var(--surface);color:var(--text);box-shadow:var(--overlay-shadow)}.video-dialog[open]{display:flex;flex-direction:column}.video-dialog::backdrop{background:#0009}.video-dialog-body{display:flex;flex-direction:column;gap:12px;min-height:0;padding:8px var(--gutter) var(--gutter)}.video-dialog-head{display:flex;align-items:center;gap:8px;margin-right:-10px}.video-dialog-head h2{flex:1;margin:0;font-size:1.1rem;font-weight:700}.video-frame{position:relative;flex-shrink:0;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius);overflow:hidden;background:#000}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.video-offline{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;padding:var(--gutter);color:#fff;text-align:center}.video-dialog-description{min-height:0;margin:0;overflow-y:auto;color:var(--text-muted);line-height:1.55;white-space:pre-line}.exercise-item{margin:0 var(--gutter) 12px;overflow:hidden;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.exercise-bar{padding:14px 16px 4px;font-size:1.05rem;font-weight:650}.set-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.set-table th,.set-table td{padding:10px 16px;text-align:left;border-bottom:1px solid var(--divider)}.set-table tbody tr:last-child td{border-bottom:0}.set-table th{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.set-table tr.current td{background:var(--accent-soft);color:var(--accent-text);font-weight:650}.page-flush>section>.page>p{color:var(--text-muted);font-size:.92rem}.page-flush>section>.page>p strong{color:var(--text);font-weight:600}.page-flush>section>.set-table{width:calc(100% - 2 * var(--gutter));margin:4px var(--gutter) 0;overflow:hidden;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.overview-title{margin:0;padding:20px var(--gutter) 0;font-size:1.4rem;font-weight:750}.pager{display:flex;justify-content:space-between;gap:12px}.pager .btn{width:auto;flex:1}.rest-bar{position:sticky;top:calc(var(--header-h) + var(--bar-top));z-index:10;padding:10px var(--gutter);background:linear-gradient(to bottom,var(--bg) 70%,transparent);animation:rest-bar-in .25s ease-out}@keyframes rest-bar-in{0%{opacity:0;transform:translateY(-8px)}}html:has(.sheet){overflow-anchor:none}.rest-bar-inner{position:relative;display:flex;align-items:center;gap:12px;padding:4px 4px 4px 20px;overflow:hidden;border-radius:999px;background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--accent-soft),0 6px 20px #0000001f}.rest-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-soft);transform-origin:left center;transition:transform .25s linear}.rest-bar-inner>:not(.rest-bar-fill){position:relative}.rest-bar-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text)}.rest-bar-time{flex:1;font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums}.rest-bar .icon-btn{color:var(--text-muted)}.sheet-notes{margin:0;padding:16px var(--gutter) 0;color:var(--text-muted);white-space:pre-line}.sheet-checkin{margin:16px var(--gutter) 0;padding:12px 16px 10px;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.sheet-checkin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-right:-10px}.sheet-checkin-head h3{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.checkin-edit{width:auto;min-height:36px;padding:0 10px}.sheet-checkin ul{margin:4px 0 0;padding:0;list-style:none}.sheet-checkin li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:.92rem}.sheet-checkin li+li{border-top:1px solid var(--divider)}.sheet-checkin-answer{flex-shrink:0;color:var(--accent-text);font-weight:650}.sheet-card{padding-bottom:8px}.sheet-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 12px 6px 16px}.sheet-card-title{margin:0;font-size:1.05rem;font-weight:700}.sheet-card-targets{margin:3px 0 0;font-size:.85rem;color:var(--text-muted)}.sheet-card-links{display:flex;flex-shrink:0;gap:6px}.sheet-link-btn{width:38px;height:38px;min-height:38px;padding:0;border-radius:50%;background:var(--surface-2);color:var(--accent-text)}.sheet-link-btn .icon{width:20px;height:20px}.sheet-table{width:calc(100% - 16px);margin:0 8px;border-collapse:separate;border-spacing:0 3px}.sheet-table th,.sheet-table td{padding:7px 4px;border-bottom:0;text-align:center;vertical-align:middle}.sheet-table th{padding-top:2px;padding-bottom:0}.sheet-table th:first-child,.sheet-table td:first-child{padding-left:8px;width:52px;border-radius:var(--radius) 0 0 var(--radius)}.sheet-table th:last-child,.sheet-table td:last-child{padding-right:8px;width:64px;border-radius:0 var(--radius) var(--radius) 0}.sheet-table tr.current td{background:var(--accent-soft);color:inherit;font-weight:inherit}.sheet{--sheet-cover-top: calc(var(--header-h) + var(--bar-top) + 8px)}.sheet.resting{--sheet-cover-top: calc(var(--header-h) + var(--bar-top) + 72px + 8px)}.sheet-table tr{scroll-margin-top:var(--sheet-cover-top);scroll-margin-bottom:calc(90px + env(safe-area-inset-bottom))}.sheet-table td,.sheet-table .set-pill{transition:background-color .25s ease,color .25s ease}.set-pill{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--surface-2);color:var(--text-muted);font-size:.9rem;font-weight:700}.sheet-table tr.current .set-pill{background:var(--accent);color:var(--on-accent)}.sheet-table tr.done .set-pill{background:var(--accent-soft);color:var(--accent-text)}.sheet-field{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:96px;height:38px;padding:4px;border:1px solid transparent;border-radius:10px;background:var(--input-fill);color:var(--text);font:inherit;font-size:1.1rem;font-weight:650;font-variant-numeric:tabular-nums;cursor:text;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.sheet-table tr.current .sheet-field{background:var(--surface)}.sheet-field.active{border-color:var(--accent);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.sheet-field:focus{outline:none}.sheet-field:focus-visible:not(.active){outline:2px solid var(--accent-text);outline-offset:2px}.sheet-field-value{min-height:1.4em;padding:0 2px;border-radius:4px}.sheet-field.selected .sheet-field-value{background:var(--accent-soft);box-shadow:0 0 0 2px var(--accent-soft)}.sheet-field.active:not(.selected) .sheet-field-value:after{content:"";display:inline-block;width:2px;height:1.15em;margin-left:1px;vertical-align:-.2em;background:var(--accent);animation:caret-blink 1s steps(1) infinite}@keyframes caret-blink{50%{opacity:0}}.sheet-field:disabled:not(.locked){opacity:.5}.sheet-field.locked{background:transparent;cursor:default}.check-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.sheet-table .check-btn{margin:-3px 0}.check-btn:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:2px solid var(--border);border-radius:50%;transition:background-color .15s ease,border-color .15s ease}.check-btn .icon{position:relative;width:16px;height:16px}.sheet-table tr.current .check-btn:not(:disabled){color:var(--accent-text)}.sheet-table tr.current .check-btn:not(:disabled):before{border-color:var(--accent)}.check-btn.done{color:var(--on-accent);animation:pop .3s ease-out}.check-btn.done:before{border-color:var(--accent);background:var(--accent)}.check-btn:disabled{opacity:.35;cursor:default}.sheet-card>.notice{margin:8px 12px 4px}:root{--keypad-key-h: 52px;--keypad-h: calc(4 * var(--keypad-key-h) + 3 * 6px + 16px + env(safe-area-inset-bottom));--keypad-bg: #dce2e2;--keypad-key: #ffffff;--keypad-key-pressed: #c9d1d1;--keypad-fn: #c5cdcd}@media(prefers-color-scheme:dark){:root{--keypad-bg: #202525;--keypad-key: #3a4141;--keypad-key-pressed: #4b5353;--keypad-fn: #2d3333}}.sheet.keypad-open{padding-bottom:calc(var(--keypad-h) + 16px)}.sheet.keypad-open .sheet-table tr{scroll-margin-bottom:calc(var(--keypad-h) + 12px)}.keypad-dock{position:fixed;left:0;right:0;bottom:0;z-index:35;pointer-events:none;visibility:hidden;transform:translateY(100%)}.keypad-dock.open{visibility:visible;transform:none;transition:transform .2s ease-out}.keypad{display:grid;grid-template-columns:repeat(3,1fr) 1.2fr;grid-auto-rows:var(--keypad-key-h);gap:6px;max-width:520px;margin:0 auto;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--keypad-bg);box-shadow:0 -4px 24px #0000001f;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none}.keypad-key{display:flex;align-items:center;justify-content:center;gap:6px;padding:0;border:0;border-radius:10px;background:var(--keypad-key);color:var(--text);font:inherit;font-size:1.5rem;font-weight:500;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.keypad-key:active{background:var(--keypad-key-pressed)}.keypad-key:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}.keypad-fn{background:var(--keypad-fn)}.keypad-hide{grid-column:4;grid-row:1}.keypad-action{grid-column:4;grid-row:2 / span 3;flex-direction:column;background:var(--accent);color:var(--on-accent);font-size:1.05rem;font-weight:650}.keypad-action:active{background:var(--accent-strong)}.keypad-action:disabled{opacity:.4;cursor:default}@media(prefers-reduced-motion:reduce){.keypad-dock.open,.sheet-table td,.sheet-table .set-pill{transition:none}.rest-bar{animation:none}.sheet-field.active:not(.selected) .sheet-field-value:after{animation:none}}.chart-title{margin:0;font-size:1.15rem;font-weight:700;text-align:center}.chart-box{width:100%;height:300px;padding:16px 12px 8px 0;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.balance-list{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--card-shadow)}.balance-row{padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.08)}.balance-list>.balance-row:last-child{border-bottom:0}.balance-row .name{font-weight:700}.pickers{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:520px){.pickers{grid-template-columns:1fr 1fr}}.sync-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:0;border-radius:999px;background:#ffffff1f;color:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}.sync-pill .icon{width:16px;height:16px}.sync-pill.warn{background:var(--danger-bg)}.offline-dot{width:8px;height:8px;border-radius:50%;background:var(--light-grey)}.update-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:50;transform:translate(-50%);display:flex;align-items:center;gap:12px;width:calc(100% - 2 * var(--gutter));max-width:480px;padding:10px 10px 10px 16px;border-radius:var(--radius-lg);background:var(--dark-grey);color:var(--white);box-shadow:var(--overlay-shadow)}.update-bar span{flex:1}.update-bar .btn{width:auto;min-height:40px}.sync-group{margin-top:8px}.sync-entry{margin:0 var(--gutter) 8px;padding:14px 16px;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.sync-entry .btn-row{margin-top:10px}.sync-entry .btn{min-height:42px}@media(hover:hover){.agenda-item:hover{background:var(--surface-2)}}@media(min-width:640px){:root{--gutter: 20px;--max-width: 760px}.page-flush{padding-top:8px;padding-bottom:32px}.page-flush>.page{padding-left:var(--gutter);padding-right:var(--gutter)}.question-page{max-width:640px}.form-page,.main>.form-page{flex:none;width:calc(100% - 2 * var(--gutter));max-width:520px;margin:40px auto;padding:28px;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.auth-inner{max-width:460px;padding:36px 40px;border:1px solid var(--card-edge);border-radius:20px;background:var(--surface);box-shadow:var(--card-shadow)}.page-flush.message{width:calc(100% - 2 * var(--gutter));max-width:640px;margin:40px auto 24px;padding:0;border:1px solid var(--card-edge);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--card-shadow)}.message+.bottom-bar{--max-width: 640px}.charts>.bottom-bar{order:-1;position:static;margin:0 0 8px;padding:0;background:none}.chart-box{height:400px}}@media(min-width:1024px){:root{--sidebar-w: 264px}.wide,.charts{--max-width: 1080px}.chart-box{height:460px}.shell.with-sidebar{padding-left:var(--sidebar-w)}.with-sidebar>.drawer{z-index:25;width:var(--sidebar-w);transform:none;visibility:visible;transition:none;background:var(--surface);box-shadow:none;border-right:1px solid var(--border)}.with-sidebar .drawer-header{gap:10px;min-height:calc(var(--header-h) + var(--bar-top));padding:var(--bar-top) var(--gutter) 0}.with-sidebar .avatar{width:32px;height:32px;font-size:.8rem}.with-sidebar .drawer-header .name{font-size:.95rem;line-height:1.2}.with-sidebar .drawer-header .email{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}.with-sidebar .menu-item{gap:14px;padding:10px 12px}.app-bar>h1:first-child{margin-left:16px}.wide .exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 var(--gutter)}.wide .exercise-grid>.exercise-item{margin:0}@supports (grid-template-rows: subgrid){.wide .exercise-grid>.exercise-item{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}.wide .exercise-grid>.exercise-item>:not(:first-child){align-self:start}}}
