:root{--bg:#d6d7d9;--surface:#fff;--border:#bbcee3;--control-border:#0f28548c;--text:#1d243a;--text-muted:#1d243ab8;--accent:#0f2854;--accent-contrast:#fff;--accent-soft:#bbcee347;--danger:#b3392e;--danger-bg:#b3392e14;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.375rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:6px;--radius-md:10px;--radius-full:999px;--shadow-sm:0 1px 2px #1d243a0d, 0 1px 3px #1d243a12;--ease-out:cubic-bezier(.2, 0, 0, 1);--duration-fast:.12s;--duration-enter:.24s;font:16px/150% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1d243a;--surface:#262e44;--border:#bbcee32e;--control-border:#bbcee380;--text:#d6d7d9;--text-muted:#d6d7d9b8;--accent:#bbcee3;--accent-contrast:#0f2854;--accent-soft:#bbcee31a;--danger:#e5847d;--danger-bg:#e5847d1f;--shadow-sm:0 1px 2px #0000004d}}*{box-sizing:border-box}body{margin:0}a,img{-webkit-user-drag:none}h1{font-size:var(--text-lg);letter-spacing:-.2px;color:var(--text);text-wrap:balance;margin:0 0 6px;font-weight:600;line-height:1.25}p{text-wrap:pretty;margin:0}button{font:inherit}:focus-visible{outline:2px solid var(--text);outline-offset:2px}.error{background:var(--danger-bg);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--text-sm);margin-top:14px;padding:8px 12px}#auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:100%;max-width:420px;min-height:190px;box-shadow:var(--shadow-sm);text-align:center;padding:28px}#auth-card .hint{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 20px}#auth-card .identity{font-size:var(--text-base);color:var(--text-muted);word-break:break-all;margin-bottom:20px}button.primary,button.ghost{border-radius:var(--radius-sm);width:100%;font-size:var(--text-base);cursor:pointer;transition-property:transform,opacity,color,border-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:10px 16px;font-weight:500}button.primary{background:var(--accent);color:var(--accent-contrast);border:1px solid var(--accent)}button.primary:hover{opacity:.9}button.primary:active,button.ghost:active{transform:scale(.98)}button.primary:disabled{opacity:.5;cursor:default;transform:none}button.ghost{color:var(--text-muted);border:1px solid var(--control-border);background:0 0;margin-top:8px}button.ghost:hover{color:var(--text);border-color:var(--text-muted)}.actions{flex-direction:column;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.badge{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.4px;color:var(--text-muted);white-space:nowrap;align-items:center;display:inline-flex}.eyebrow{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.empty-state{max-width:26rem;padding:var(--space-5);gap:var(--space-2);animation:rise var(--duration-enter) var(--ease-out) both;flex-direction:column;display:flex}.empty-copy{font-size:var(--text-sm);color:var(--text-muted)}.empty-copy a{color:var(--text)}.skeleton-rows{gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.skeleton{border-radius:var(--radius-full);background:var(--accent-soft);height:10px}.skeleton-rows .skeleton:first-child{width:72%}.skeleton-rows .skeleton:nth-child(2){width:56%}.skeleton-rows .skeleton:nth-child(3){width:40%}.list-rows{padding:var(--space-1);margin:0;list-style:none}.list-rows a{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font-size:var(--text-base);transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-weight:500;text-decoration:none;display:flex}.list-rows a:hover,.list-rows a:active{background:var(--accent-soft)}.list-rows a:after{content:"";border-right:1.5px solid var(--text-muted);border-top:1.5px solid var(--text-muted);flex:none;width:7px;height:7px;margin-right:2px;transform:rotate(45deg)}.list-rows li{animation:rise var(--duration-enter) var(--ease-out) both}.list-rows li:nth-child(2){animation-delay:30ms}.list-rows li:nth-child(3){animation-delay:60ms}.list-rows li:nth-child(4){animation-delay:90ms}.list-rows li:nth-child(5){animation-delay:.12s}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes vt-out{to{opacity:0}}@keyframes vt-in{0%{opacity:0;transform:translateY(6px)}}::view-transition-old(root){animation:vt-out var(--duration-fast) var(--ease-out) both}::view-transition-new(root){animation:vt-in var(--duration-enter) var(--ease-out) both}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow-x:auto}.status-pill{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--text-muted);align-items:center;display:inline-flex}[aria-busy=true] .table-scroll{opacity:.6;transition:opacity var(--duration-fast) var(--ease-out)}.pager{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.pager-meta{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.pager-size{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);display:flex}.pager-size select{font:inherit;padding:4px var(--space-2);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.pager-count,.pager-position{font-size:var(--text-sm);color:var(--text-muted)}.pager-controls{align-items:center;gap:var(--space-3);display:flex}.notice{max-width:34rem;padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);gap:var(--space-2);animation:rise var(--duration-enter) var(--ease-out) both;flex-direction:column;display:flex}.notice h2{font-size:var(--text-md);margin:0;font-weight:600}.notice p{font-size:var(--text-sm)}.notice-error{border-color:var(--danger);background:var(--danger-bg);color:var(--danger)}.notice-blocked{border-color:var(--control-border)}.notice-meta{font-size:var(--text-xs);color:var(--text-muted)}.notice-error .notice-meta{color:inherit;opacity:.85}.notice-meta code{font-family:var(--mono)}.empty-state button.ghost.inline{margin-top:var(--space-2);align-self:flex-start}:root{--app-header-h:3.25rem;--tab-clearance:5rem}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-header{min-height:var(--app-header-h);padding:0 var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);align-items:center;display:flex}.wordmark{font-size:var(--text-md);letter-spacing:-.2px;color:var(--text);font-weight:600}.app-main{width:100%;max-width:44rem;padding:var(--space-4);padding-bottom:calc(var(--tab-clearance) + env(safe-area-inset-bottom));flex:1;margin-inline:auto}.primary-nav{border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);position:fixed;inset:auto 0 0}.primary-nav ul{gap:var(--space-1);padding:var(--space-1);margin:0;list-style:none;display:flex}.primary-nav li{flex:1}.tab{min-height:44px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text-muted);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;font-weight:500;text-decoration:none;display:flex}.tab:hover{color:var(--text);background:var(--accent-soft)}.tab-active,.tab-active:hover{color:var(--accent);background:var(--accent-soft);font-weight:600}.screen-placeholder{animation:rise var(--duration-enter) var(--ease-out) both}.screen-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.screen-head h1{margin:0}.screen-sub{margin-top:var(--space-2)}.screen-placeholder>#auth-card{margin-top:var(--space-5)}.screen-sub{font-size:var(--text-sm);color:var(--text-muted)}.route-pending{align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-4);text-align:center;font-size:var(--text-sm);color:var(--text-muted);flex-direction:column;display:flex}.route-pending:before{content:"";border-radius:var(--radius-full);border:2px solid var(--accent-soft);border-top-color:var(--accent);width:22px;height:22px;animation:.8s linear infinite spin}.public-shell{justify-content:center;align-items:center;gap:var(--space-5);min-height:100dvh;padding:var(--space-5);flex-direction:column;display:flex}@media (width>=768px){.app-shell{grid-template:"nav header""nav main"1fr/13rem 1fr;display:grid}.app-header{grid-area:header}.app-main{padding:var(--space-5);grid-area:main}.primary-nav{border-top:none;border-right:1px solid var(--border);padding:var(--space-3) var(--space-2);background:0 0;grid-area:nav;position:static}.primary-nav ul{flex-direction:column;gap:2px;padding:0}.tab{padding:var(--space-2) var(--space-3);justify-content:flex-start}}.staff-shell{grid-template:"nav header""nav main"1fr/15rem 1fr;min-height:100dvh;display:grid;position:relative}.skip-link{z-index:1;top:var(--space-2);left:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--text-sm);position:absolute;transform:translateY(-250%)}.skip-link:focus{transform:none}.staff-header{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:3.5rem;padding:0 var(--space-5);border-bottom:1px solid var(--border);background:var(--surface);grid-area:header;display:flex}.staff-main{width:100%;max-width:72rem;padding:var(--space-5);grid-area:main}.staff-nav{border-right:1px solid var(--border);background:var(--surface);padding:var(--space-4) var(--space-3);grid-area:nav}.staff-wordmark{font-size:var(--text-md);letter-spacing:-.2px;color:var(--text);font-weight:600;display:block}.staff-scope{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600;display:block}.staff-nav ul{margin:var(--space-4) 0 0;flex-direction:column;gap:2px;padding:0;list-style:none;display:flex}.staff-nav .tab{padding:var(--space-2) var(--space-3);justify-content:flex-start}.staff-identity{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-muted);min-width:0;margin:0;display:flex}.staff-identity .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.ghost.inline{width:auto;font-size:var(--text-sm);margin-top:0;padding:6px 12px}button[aria-disabled=true]{opacity:.5;cursor:default}button[aria-disabled=true]:hover{color:var(--text-muted);border-color:var(--control-border)}@media (width<=60rem){.staff-shell{grid-template-columns:1fr;grid-template-areas:"header""nav""main"}.staff-header{padding:var(--space-3) var(--space-4)}.staff-nav{border-right:none;border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-3)}.staff-nav .staff-wordmark{display:none}.staff-nav ul{gap:var(--space-1);flex-direction:row;margin:0;overflow-x:auto}.staff-main{padding:var(--space-4)}}.outcome{border:1px solid var(--border);text-align:left;border-left-width:3px;border-radius:6px;margin-top:18px;padding:14px}.outcome h2{letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:13px;font-weight:600}.outcome-ok{border-left-color:var(--accent)}.outcome-blocked{border-left-color:var(--accent);background:var(--bg)}.outcome-error{border-left-color:var(--danger);background:var(--danger-bg)}.outcome-error>p:not(.hint):not(.correlation){color:var(--danger)}.outcome p{margin:0 0 6px;font-size:13px}.outcome .hint{color:var(--text-muted);margin-bottom:0}.principal dl{grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 14px;font-size:13px;display:grid}.principal dt{color:var(--text-muted)}.principal dd{word-break:break-all;margin:0}.roles{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.roles li{justify-content:space-between;align-items:baseline;gap:10px;font-size:13px;display:flex}.role-name{font-weight:500}.role-scope{letter-spacing:.4px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:11px}.correlation{color:var(--text-muted);margin-top:10px;font-size:12px}.correlation code,.principal code{font-family:var(--mono);-webkit-user-select:all;user-select:all;font-size:11px}.calendar-screen{gap:1rem;display:grid}.calendar-controls{align-items:center;gap:.5rem;display:flex}.calendar-month-name{text-align:center;min-width:10rem;font-weight:600}.calendar-grid{table-layout:fixed;border-collapse:collapse;width:100%}.calendar-grid th{text-align:left;font-size:var(--text-xs);color:var(--text-muted);padding:.25rem .4rem}.calendar-grid td{vertical-align:top;border:1px solid var(--border,#e0e0e0);height:6rem;padding:.25rem .3rem}.calendar-outside{opacity:.45}.calendar-daynum{font-size:var(--text-xs);color:var(--text-muted);display:block}.calendar-event{text-align:left;width:100%;font-size:var(--text-xs);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:.1rem 0;display:block;overflow:hidden}.calendar-event-cancelled{opacity:.6;text-decoration:line-through}.event-dot{background:#8888a0;border-radius:50%;width:.5rem;height:.5rem;margin-right:.3rem;display:inline-block}.event-doctor,.event-dentist,.event-online_consultation{background:#4c6ef5}.event-lab_booking,.event-diagnostic_test{background:#b3261e}.event-training{background:#2b8a3e}.event-supplement{background:#e8890c}.event-meal{background:#9c36b5}.event-massage,.event-reminder{background:#5f6a7d}.calendar-agenda{gap:.75rem;display:grid}.calendar-agenda-day h2{font-size:var(--text-sm,.95rem);margin:0 0 .4rem}.calendar-details{justify-items:start;gap:.4rem;display:grid}.calendar-details-head{align-items:center;gap:.5rem;margin:0;display:flex}.calendar-details-line{margin:0}.clients-screen{animation:rise var(--duration-enter) var(--ease-out) both}.crumb{font-size:var(--text-sm);margin-bottom:var(--space-3)}.crumb a{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:5px 10px 5px 8px;font-weight:500;text-decoration:none;display:inline-flex}.crumb a:before{content:"";border-bottom:1.5px solid;border-left:1.5px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}.crumb a:hover,.crumb a:focus-visible{background:var(--accent-soft);color:var(--text)}.record-path{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.record-path a{color:var(--text-muted);text-decoration:none}.record-path a:hover{color:var(--text)}.record-path-sep{margin:0 var(--space-2);color:var(--text-muted);font-size:1.2em;font-weight:400}.client-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.client-table th,.client-table td{padding:var(--space-3);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border)}.client-table thead th{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.client-table tbody tr:last-child th,.client-table tbody tr:last-child td{border-bottom:none}.client-table tbody th{font-weight:500}.client-table-linked tbody tr{cursor:pointer;position:relative}.client-table-linked tbody tr:hover{background:var(--accent-soft)}.client-table-linked tbody th a{color:var(--text);font-weight:500;text-decoration:none}.client-table-linked tbody tr:hover th a{color:var(--accent)}.record-screen{animation:rise var(--duration-enter) var(--ease-out) both}.record-meta{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.record-section{margin-top:var(--space-6)}.record-section>.eyebrow{margin:0 0 var(--space-3)}.record-head-actions{align-items:center;gap:var(--space-2);display:flex}.record-head-actions>a{border:1px solid var(--control-border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;transition-property:color,border-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:6px 12px;font-weight:500;text-decoration:none}.record-head-actions>a:hover,.record-head-actions>a:focus-visible{color:var(--text);border-color:var(--text-muted)}.record-summary{align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex}.record-ring{flex:none;width:56px;height:56px}.record-ring circle{fill:none;stroke-width:3.5px}.record-ring-track{stroke:var(--border)}.record-ring-fill{stroke:var(--accent);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset var(--duration-enter) var(--ease-out);transform:rotate(-90deg)}.record-summary-text{flex-direction:column;gap:2px;min-width:0;display:flex}.record-summary-count{font-size:var(--text-md);color:var(--text-muted);font-variant-numeric:tabular-nums}.record-summary-count strong{color:var(--text);font-weight:600}.record-summary-split,.record-summary-zone{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.record-summary-zone{font-size:var(--text-xs)}.adherence-strip{margin:var(--space-3) 0 0;padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:flex-end;gap:3px;list-style:none;display:flex}.strip-cell{flex:1 1 0;min-width:0;padding-bottom:7px;position:relative}.strip-track{border-radius:var(--radius-sm);background:var(--accent-soft);align-items:flex-end;height:40px;display:flex;overflow:hidden}.strip-fill{width:100%;height:var(--fill,0%);border-radius:inherit;background:var(--accent);animation:strip-grow var(--duration-enter) var(--ease-out) both;animation-delay:calc(var(--cell,0) * 20ms);display:block}@keyframes strip-grow{0%{height:0}}.strip-cell[data-tone=missed] .strip-track{background:var(--danger-bg);box-shadow:inset 0 -2px 0 var(--danger)}.strip-cell[data-tone=partial] .strip-fill{opacity:.55}.strip-cell[data-tone=ahead] .strip-track{border:1px dashed var(--border);background:0 0}.strip-cell[data-tone=empty] .strip-track{box-shadow:inset 0 -1px 0 var(--border);background:0 0}.strip-cell[data-today=true]:after{content:"";border-radius:var(--radius-full);background:var(--text);width:4px;height:4px;margin-left:-2px;position:absolute;bottom:0;left:50%}.day-run{margin-top:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.day-run>.eyebrow{margin:0}.day-run-ahead{opacity:.72}.day-block{animation:rise var(--duration-enter) var(--ease-out) both}.day-block-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.day-block-head h4{font-size:var(--text-md);letter-spacing:-.1px;margin:0;font-weight:600}.day-block[data-emphasis=today] .day-block-head h4{font-size:var(--text-lg)}.day-tally{gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.day-tally-quiet{opacity:.6}.day-tally [data-tone=complete]{color:var(--accent);font-weight:600}.day-tally [data-tone=missed]{color:var(--danger)}.commitment-rows{margin:0;padding:0;list-style:none}.commitment-row{align-items:start;column-gap:var(--space-3);padding:var(--space-2) 0;grid-template-columns:auto minmax(0,1fr);display:grid}.commitment-row+.commitment-row{border-top:1px solid var(--border)}.state-mark{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.state-ring{border:1.5px solid var(--control-border);border-radius:var(--radius-full);width:22px;height:22px;color:var(--accent-contrast);justify-content:center;align-items:center;display:inline-flex}.state-glyph{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.state-ring[data-state=completed]{border-color:var(--accent);background:var(--accent)}.state-ring[data-state=skipped]{color:var(--text-muted)}.state-ring[data-state=not_logged]{border-style:dashed;border-color:var(--danger)}.state-ring[data-state=cancelled]{color:var(--text-muted);opacity:.6}.commitment-body{min-width:0;padding:var(--space-1) 0;flex-direction:column;gap:2px;display:flex}.commitment-row[data-settled=true] .commitment-title{color:var(--text-muted)}.commitment-note{margin-top:var(--space-1);padding-left:var(--space-3);border-left:2px solid var(--border);font-size:var(--text-sm);color:var(--text-muted);font-style:italic;line-height:1.45}.protocol-instances{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.protocol-instance{align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);animation:rise var(--duration-enter) var(--ease-out) both;flex-wrap:wrap;display:flex}.protocol-instance-dates{font-size:var(--text-sm);color:var(--text-muted)}@media (width>=768px){.record-ring{width:64px;height:64px}.strip-track{height:52px}}.record-tabs{gap:var(--space-1);margin-bottom:var(--space-4);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.record-tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px}.record-tab:hover,.record-tab:focus-visible{color:var(--text)}.record-tab[data-active=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.document-rows{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.document-row{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.document-badge{font-size:var(--text-xs);letter-spacing:.06em;padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);flex:none;font-weight:700}.document-title{margin:0;font-weight:600}.document-row .status-pill{margin-left:auto}.metric-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.metric-card{gap:var(--space-1);display:grid}.metric-value{font-size:var(--text-lg);margin:0;font-weight:700}.metric-unit{font-size:var(--text-sm);color:var(--text-muted);font-weight:400}.metric-spark{width:100%;height:32px}.metric-spark polyline{fill:none;stroke:var(--accent);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.measurement-notes{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.measurement-note p:last-child{margin:var(--space-1) 0 0}.measurement-note .notice-meta{gap:var(--space-2);align-items:center;display:flex}.prescription-rows{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.prescription-row{align-items:baseline;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex}.prescription-title{margin:0;font-weight:600}.prescription-dose{color:var(--text-muted);font-weight:400}.message-screen{min-height:0;height:calc(100dvh - var(--app-header-h) - var(--space-4) - var(--tab-clearance) - env(safe-area-inset-bottom));animation:rise var(--duration-enter) var(--ease-out) both;flex-direction:column;display:flex}@media (width>=768px){.message-screen{height:calc(100dvh - var(--app-header-h) - 2 * var(--space-5))}}.message-screen .message-thread,.message-screen .message-scroll{flex:1;min-height:0}.message-screen .message-scroll{flex-direction:column;display:flex}.message-screen .message-list{flex:1;min-height:0;max-height:none}.message-screen .message-list>:first-child{margin-top:auto}.thread-status{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-sm);color:var(--text-muted);display:flex}.thread-status-dot{border-radius:var(--radius-full);background:var(--accent);flex:none;width:8px;height:8px}.thread-status[data-state=closed] .thread-status-dot{box-shadow:inset 0 0 0 2px var(--text-muted);background:0 0}.urgent-help{margin-top:var(--space-3)}.urgent-help summary{align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--text);cursor:pointer;font-weight:600;list-style:none;display:flex}.urgent-help summary::-webkit-details-marker{display:none}.urgent-help summary:after{content:"";width:7px;height:7px;transition:transform var(--duration-fast) var(--ease-out);border-bottom:2px solid;border-right:2px solid;margin-left:auto;transform:rotate(45deg)}.urgent-help[open] summary:after{transform:rotate(-135deg)}.urgent-help summary:hover{background:var(--accent-soft)}.urgent-help[data-state=closed] summary{background:var(--danger-bg)}.urgent-help-panel{margin-top:var(--space-2);padding:var(--space-3) var(--space-4);border-left:3px solid var(--danger);background:var(--danger-bg);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.urgent-help-panel .eyebrow{color:var(--danger)}.urgent-help-panel p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.urgent-help summary:after{transition:none}}.message-crumb{font-size:var(--text-sm);margin-bottom:var(--space-3)}.message-crumb a{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:5px 10px 5px 8px;font-weight:500;text-decoration:none;display:inline-flex}.message-crumb a:before{content:"";border-bottom:1.5px solid;border-left:1.5px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}.message-crumb a:hover,.message-crumb a:focus-visible{background:var(--accent-soft);color:var(--text)}.message-path{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.message-path a{color:var(--text-muted);text-decoration:none}.message-path a:hover{color:var(--text)}.message-path-sep{margin:0 var(--space-2);color:var(--text-muted);font-size:1.2em;font-weight:400}.message-thread{gap:var(--space-4);flex-direction:column;display:flex}.message-thread-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.message-thread-head h2{font-size:var(--text-md);margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-button{width:36px;height:36px;color:var(--text-muted);border:1px solid var(--control-border);border-radius:var(--radius-full);cursor:pointer;transition-property:color,background-color,border-color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;place-items:center;padding:0;display:inline-grid;position:relative}.icon-button:after{content:"";border-radius:inherit;position:absolute;inset:-4px}.icon-button:hover{color:var(--text);background:var(--accent-soft)}.icon-button:active{transform:scale(.94)}.icon-button[aria-disabled=true]{cursor:default;opacity:.6}.message-thread[aria-busy=true] .icon-button svg{animation:.9s linear infinite thread-spin}@keyframes thread-spin{to{transform:rotate(360deg)}}.message-list{gap:var(--space-3);overscroll-behavior:contain;max-height:28rem;padding:0 var(--space-2) 0 0;scrollbar-width:thin;scrollbar-color:var(--control-border) transparent;flex-direction:column;margin:0;list-style:none;display:flex;overflow-y:auto}.message-list::-webkit-scrollbar{width:10px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:var(--control-border);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.message-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted);background-clip:padding-box}.message-scroll{position:relative}.jump-latest{left:50%;bottom:var(--space-3);align-items:center;gap:var(--space-1);width:auto;padding:var(--space-1) var(--space-3);color:var(--accent-contrast);background:var(--accent);border-radius:var(--radius-full);font-size:var(--text-sm);cursor:pointer;animation:jump-in var(--duration-enter) var(--ease-out) both;border:0;font-weight:600;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 2px 10px #0f28544d}.jump-latest:active{transform:translate(-50%)scale(.96)}@keyframes jump-in{0%{opacity:0;transform:translate(-50%)translateY(6px)}}@media (prefers-reduced-motion:reduce){.jump-latest{animation:none}}.message-day{align-items:center;gap:var(--space-3);margin:var(--space-2) 0;color:var(--text-muted);font-size:var(--text-xs);letter-spacing:.4px;text-transform:uppercase;font-weight:600;display:flex}.message-day:before,.message-day:after{content:"";background:var(--border);flex:1;height:1px}.message-older{z-index:1;padding-bottom:var(--space-1);align-self:center;position:sticky;top:0}.message-older button{width:auto;padding:var(--space-1) var(--space-3);font-size:var(--text-sm);background:var(--surface);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);margin:0}.message-row{align-self:flex-start;gap:var(--space-3);max-width:min(78%,40rem);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition-property:border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);display:flex}.message-row.is-own{background:var(--accent-soft);flex-direction:row-reverse;align-self:flex-end}.message-row.is-own .message-meta{flex-direction:row-reverse}.message-row.is-pending{opacity:.6}.message-row.is-failed{background:var(--danger-bg);border-color:var(--danger)}.message-row.is-failed .message-avatar{color:var(--danger);background:0 0}.message-retry{width:auto;margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.message-row:hover{border-color:var(--control-border);box-shadow:var(--shadow-sm)}@media (width<=30rem){.message-row{max-width:92%}}.message-avatar{border-radius:var(--radius-full);background:var(--accent-soft);width:32px;height:32px;color:var(--accent);font-size:var(--text-xs);letter-spacing:.3px;flex:none;place-items:center;font-weight:600;display:grid}.message-said{flex:1;min-width:0}.message-meta{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin:0 0 var(--space-2);display:flex}.message-sender{font-size:var(--text-sm);font-weight:600}.message-meta .notice-meta{font-variant-numeric:tabular-nums;flex:none}.message-body{font-size:var(--text-base);white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.message-composer{gap:var(--space-2);flex-direction:column;display:flex}.composer-field{align-items:flex-end;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border:1px solid var(--control-border);border-radius:var(--radius-md);transition-property:border-color,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);display:flex}.composer-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-field textarea{min-width:0;min-height:2.75rem;max-height:9rem;padding:var(--space-2);font:inherit;font-size:var(--text-base);color:var(--text);resize:none;scrollbar-width:thin;scrollbar-color:var(--control-border) transparent;background:0 0;border:0;flex:1;line-height:1.5;overflow-y:auto}.composer-field textarea::-webkit-scrollbar{width:10px}.composer-field textarea::-webkit-scrollbar-track{background:0 0}.composer-field textarea::-webkit-scrollbar-thumb{background:var(--control-border);border-radius:var(--radius-full);background-clip:padding-box;border:3px solid #0000}.message-list::-webkit-scrollbar-button{width:0;height:0;display:none}.composer-field textarea::-webkit-scrollbar-button{width:0;height:0;display:none}.composer-field textarea:focus{outline:none}.composer-field textarea::placeholder{color:var(--text-muted)}.composer-attach{border-color:#0000;align-self:flex-end;width:40px;height:40px}.composer-chips{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.composer-chip-all{order:1;align-items:center;display:flex}.composer-chip-all button{width:auto;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);margin:0}.composer-chip{align-items:center;gap:var(--space-1);max-width:18rem;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2);background:var(--accent-soft);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--text-sm);display:flex}.composer-chip-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.composer-chip-drop{width:20px;height:20px;color:var(--text-muted);border-radius:var(--radius-full);font-size:var(--text-md);cursor:pointer;transition-property:color,background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:0;flex:none;place-items:center;padding:0;line-height:1;display:grid}.composer-chip-drop:hover{color:var(--text);background:var(--surface)}.composer-note{font-size:var(--text-sm);color:var(--text-muted)}.send-button{width:40px;height:40px;color:var(--accent-contrast);background:var(--accent);border-radius:var(--radius-full);cursor:pointer;transition-property:transform,opacity,box-shadow;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);border:0;flex:none;place-items:center;padding:0;display:grid}.send-button svg{transform:translate(-1px,1px)}.send-button:hover{box-shadow:0 2px 8px #0f285440}.send-button:active{transform:scale(.94)}.send-button[aria-disabled=true]{cursor:default;opacity:.45;box-shadow:none;transform:none}@media (prefers-reduced-motion:reduce){.message-thread[aria-busy=true] .icon-button svg{animation:none}.icon-button,.message-row,.composer-field,.send-button{transition-duration:1ms}}.protocols-screen{animation:rise var(--duration-enter) var(--ease-out) both}.protocol-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.protocol-table th,.protocol-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border)}.protocol-table th:not(:first-child),.protocol-table td:not(:first-child){white-space:nowrap}.protocol-table thead th{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.protocol-table tbody tr:last-child th,.protocol-table tbody tr:last-child td{border-bottom:none}.protocol-table tbody th{font-weight:500}.protocol-table-linked tbody tr:hover{background:var(--accent-soft)}.protocol-table-linked tbody tr{position:relative}.protocol-table-linked tbody th a{color:var(--text);font-weight:500;text-decoration:none}.protocol-table-linked tbody tr{cursor:pointer}.protocol-table-linked tbody tr:hover th a{color:var(--accent)}.protocol-table .cell-center{text-align:center}.protocols-screen .status-pill-current{border-color:var(--accent);background:var(--accent-soft);color:var(--text);font-weight:500}.protocol-table .status-pill+.status-pill{margin-left:var(--space-2)}.protocol-table-linked tbody tr>td:last-child{padding-right:var(--space-5);position:relative}.protocol-table-linked tbody tr>td:last-child:after{content:"";top:50%;right:var(--space-3);border-right:1.5px solid var(--text-muted);border-top:1.5px solid var(--text-muted);width:6px;height:6px;margin-top:-4px;position:absolute;transform:rotate(45deg)}.protocol-section{margin-top:var(--space-5)}.protocol-section h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.protocol-crumb{font-size:var(--text-sm);margin-bottom:var(--space-3)}.protocol-crumb a{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);color:var(--text-muted);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);padding:5px 10px 5px 8px;font-weight:500;text-decoration:none;display:inline-flex}.protocol-crumb a:before{content:"";border-bottom:1.5px solid;border-left:1.5px solid;flex:none;width:7px;height:7px;transform:rotate(45deg)}.protocol-crumb a:hover,.protocol-crumb a:focus-visible{background:var(--accent-soft);color:var(--text)}.protocol-path{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.protocol-path a{color:var(--text-muted);text-decoration:none}.protocol-path a:hover{color:var(--text)}.protocol-path-sep{margin:0 var(--space-2);color:var(--text-muted);font-size:1.2em;font-weight:400}.protocol-meta{align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.protocol-head-actions{gap:var(--space-2);display:flex}.protocols-screen button.primary.inline{width:auto;font-size:var(--text-sm);padding:6px 12px}.protocol-form{align-items:stretch;gap:var(--space-2);max-width:34rem;padding:var(--space-5);margin:var(--space-4) 0;flex-direction:column;display:flex}.protocol-form label{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.protocol-form input[type=text],.protocol-form textarea{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--text);font:inherit;padding:10px 12px}.protocol-form textarea{resize:vertical;min-height:4.5rem}.protocol-form select{border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;padding:8px 10px}.protocol-pending-link{border:1px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--accent);padding:6px 12px;font-weight:500;text-decoration:none}.protocol-form-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.protocol-actions{gap:var(--space-3);margin:var(--space-4) 0;flex-direction:column;display:flex}.protocol-actions>.protocol-form{margin:0}.protocols-screen button.danger{border-radius:var(--radius-sm);width:auto;font-size:var(--text-sm);cursor:pointer;background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger);transition:opacity var(--duration-fast) var(--ease-out);padding:6px 12px;font-weight:500}.protocols-screen button.danger:hover{opacity:.85}.editor{gap:.75rem;display:grid}.editor-section{gap:.5rem;display:grid}.editor-item{border:1px solid var(--border,#d0d0d0);border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:.35rem .75rem;padding:.6rem;display:grid}.editor-item label{font-size:var(--text-xs);color:var(--text-muted)}.editor-dose{gap:.5rem;display:flex}.editor-dose input[type=number]{width:6rem}.editor-remove{grid-column:2;justify-self:start}.editor-problem{color:var(--danger,#b3261e)}.today-screen{animation:rise var(--duration-enter) var(--ease-out) both}.today-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.today-head h1{margin:var(--space-1) 0 0;letter-spacing:-.4px;font-size:1.75rem}.today-screen .icon-button,.today-screen .text-button{border-radius:var(--radius-sm);cursor:pointer;min-height:44px;transition-property:background-color,color,opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0;border:0}.today-screen .icon-button{width:44px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.today-screen .icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.today-screen .icon-button:hover{color:var(--text);background:var(--accent-soft)}.today-screen .text-button{padding:0 var(--space-3);font-size:var(--text-sm);color:var(--accent);white-space:nowrap;font-weight:600}.today-screen .text-button:hover{background:var(--accent-soft)}.today-screen .text-button-quiet{color:var(--text-muted)}.today-screen .text-button-quiet:hover{color:var(--text)}.today-screen .icon-button[aria-disabled=true],.today-screen .text-button[aria-disabled=true],.today-screen .chip[aria-disabled=true]{opacity:.5;cursor:default}.goal-lines{margin:0 0 var(--space-5);padding:0 0 var(--space-5);border-bottom:1px solid var(--border);gap:var(--space-4);flex-direction:column;list-style:none;display:flex}.goal-line{gap:var(--space-2);flex-direction:column;display:flex}.goal-text{letter-spacing:-.1px;max-width:34rem;color:var(--text);font-size:1.125rem;line-height:1.45}.day-summary{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);display:flex}.day-ring{flex:none;width:56px;height:56px}.day-ring circle{fill:none;stroke-width:3.5px}.day-ring-track{stroke:var(--border)}.day-ring-fill{stroke:var(--accent);stroke-linecap:round;transform-origin:50%;transition:stroke-dashoffset var(--duration-enter) var(--ease-out);transform:rotate(-90deg)}.day-summary-text{flex-direction:column;gap:2px;min-width:0;display:flex}.day-summary-count{font-size:var(--text-md);color:var(--text-muted);font-variant-numeric:tabular-nums}.day-summary-count strong{color:var(--text);font-weight:600}.day-summary-next{font-size:var(--text-sm);color:var(--text-muted)}.day-sections{gap:var(--space-5);flex-direction:column;display:flex}.day-section{animation:rise var(--duration-enter) var(--ease-out) both}.day-section:nth-child(2){animation-delay:40ms}.day-section:nth-child(3){animation-delay:80ms}.day-section:nth-child(4){animation-delay:.12s}.day-section-head{margin:0 0 var(--space-2);font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.commitments{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin:0;padding:0;list-style:none}.commitment{align-items:start;column-gap:var(--space-3);padding:var(--space-2);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.commitment+.commitment{border-top:1px solid var(--border)}.mark{border-radius:var(--radius-full);width:44px;height:44px;color:var(--accent);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}button.mark{cursor:pointer}.mark-ring{border:1.5px solid var(--control-border);border-radius:var(--radius-full);width:26px;height:26px;color:var(--accent-contrast);transition-property:background-color,border-color,transform,opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;display:inline-flex}button.mark:hover .mark-ring{border-color:var(--accent);background:var(--accent-soft)}button.mark:active .mark-ring{transform:scale(.92)}.mark-ring[data-state=completed]{border-color:var(--accent);background:var(--accent)}.mark-ring[data-state=skipped]{color:var(--text-muted)}.mark-ring[data-state=not_logged]{border-style:dashed}.mark-glyph{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;opacity:0;width:16px;height:16px;transition-property:opacity,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);transform:scale(.6)}.mark-ring[data-state=completed] .mark-glyph,.mark-ring[data-state=skipped] .mark-glyph{opacity:1;transform:none}.commitment[aria-busy=true] .mark-ring{opacity:.5}.commitment-body{flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:11px 0;display:flex}.commitment-title{font-size:var(--text-md);color:var(--text);font-weight:500;line-height:1.35}.commitment-settled .commitment-title,.commitment-settled .text-button{color:var(--text-muted)}.commitment-settled .text-button:hover{color:var(--text)}.commitment-meta{align-items:baseline;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.priority-tag{font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;color:var(--accent);font-weight:600}.commitment-note{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.commitment-side{flex-direction:column;align-items:flex-end;display:flex}.skip-panel{gap:var(--space-3);margin:var(--space-1) var(--space-1) var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border);animation:rise var(--duration-fast) var(--ease-out) both;flex-direction:column;grid-column:1/-1;display:flex}.skip-head{font-size:var(--text-base);color:var(--text);font-weight:600}.skip-empty{font-size:var(--text-sm);color:var(--text-muted)}.skip-group{gap:var(--space-2);flex-direction:column;display:flex}.skip-group-label{font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.skip-reasons{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{min-height:44px;padding:0 var(--space-4);border:1px solid var(--control-border);border-radius:var(--radius-full);color:var(--text);font-size:var(--text-sm);cursor:pointer;transition-property:background-color,border-color,transform;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);background:0 0}.chip:hover{background:var(--accent-soft);border-color:var(--accent)}.chip:active{transform:scale(.97)}.skip-footer{gap:var(--space-2);flex-wrap:wrap;display:flex}.commitment .error{margin:0 var(--space-1) var(--space-2);grid-column:1/-1}@media (width>=768px){.today-head h1{font-size:2rem}.day-ring{width:64px;height:64px}.commitment{padding-right:var(--space-3)}}.users-screen{animation:rise var(--duration-enter) var(--ease-out) both}.user-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.user-table th,.user-table td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--border)}.user-table th:not(:last-child),.user-table td:not(:last-child){white-space:nowrap}.user-table thead th{font-size:var(--text-xs);letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-weight:600}.user-table tbody tr:last-child th,.user-table tbody tr:last-child td{border-bottom:none}.user-table tbody th{font-weight:500}.grants{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.grant-chip{align-items:center;gap:var(--space-1);padding:2px var(--space-1) 2px var(--space-2);border:1px solid var(--control-border);border-radius:var(--radius-full);background:var(--accent-soft);font-size:var(--text-xs);display:inline-flex}.grant-remove{border-radius:var(--radius-full);width:20px;height:20px;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.grant-remove:hover{background:var(--danger-bg);color:var(--danger)}.grant-remove[aria-disabled=true]{opacity:.5;cursor:default}.grant-add{align-items:center;gap:var(--space-2);display:inline-flex}.grant-add select{font:inherit;font-size:var(--text-sm);padding:4px var(--space-2);border:1px solid var(--control-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text)}.grant-hint{font-size:var(--text-xs);color:var(--text-muted)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.invite-form{gap:.6rem;display:grid}.invite-copy{font-size:var(--text-xs);color:var(--text-muted);margin:0}.invite-fields{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.invite-fields label{font-size:var(--text-xs);color:var(--text-muted);gap:.25rem;display:grid}
