@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";:root{--iron:#16181A;--iron-2:#3A3F45;--muted:#6E757D;--line:#D9DBD5;--chalk:#E8EAE6;--surface:#FFFFFF;--brand:#D81E2C;--brand-deep:#A4141F;--yellow:#B8860B;--ok:#1E8F55;--disp:"Barlow Condensed", Impact, sans-serif;--body:"Inter", -apple-system, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--tap:44px;--top: env(safe-area-inset-top);--bottom: env(safe-area-inset-bottom)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--chalk);color:var(--iron);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}.h1{font-family:var(--disp);font-size:32px;font-weight:700;text-transform:uppercase;line-height:1;margin:2px 0 0}.h2{font-family:var(--disp);font-size:22px;font-weight:600;text-transform:uppercase;margin:0}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.meta{font-family:var(--mono);font-size:12.5px;line-height:1.5;color:var(--muted)}.muted{color:var(--muted);font-size:15px}.center{text-align:center}.pad{padding:28px 20px}.gap-top{margin-top:14px}.italic{font-style:italic;display:block;margin-top:3px}.warn{color:var(--yellow)}.danger{color:var(--brand)}.error{color:var(--brand);font-size:14px;line-height:1.5;margin:10px 0}.count{display:block;margin:-4px 2px 14px}.section{font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 0 10px;font-weight:500}.login{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--top)) 20px calc(20px + var(--bottom));background:#0b0c0d}.login-card{width:100%;max-width:400px;background:#131516;border:1px solid #2A2D2F;border-radius:18px;padding:32px 22px 26px;color:#f2f1ee}.login-card .lbl{color:#ffffff80}.login-card input{background:#1d1f21;border-color:#2e3133;color:#f2f1ee}.login-card .lede{margin:18px 0 22px}.logo{display:flex;flex-direction:column;align-items:center;gap:10px}.wordmark{font-family:var(--disp);font-size:30px;font-weight:700;text-transform:uppercase}.wordmark em{font-style:normal;color:var(--brand)}.app{min-height:100vh;min-height:100dvh;padding-bottom:calc(64px + var(--bottom))}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:calc(8px + var(--top)) 14px 8px;background:var(--surface);border-bottom:1px solid var(--line)}.topbar .logo{flex-direction:row;gap:8px}.topbar .wordmark{font-size:17px}.menu-btn{margin-left:-8px}.burger{display:flex;flex-direction:column;justify-content:center;gap:4px;width:20px}.burger i{display:block;height:2px;border-radius:2px;background:var(--iron)}.screen-name{flex:1;text-align:right;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.menu-item{display:block;width:100%;min-height:var(--tap);padding:14px;border-radius:11px;text-align:left;font-size:17px;font-weight:600}.menu-item:active{background:#0000000d}.menu-on{background:var(--iron);color:#fff}.offline-bar{background:var(--yellow);color:#fff;font-size:13px;font-weight:600;text-align:center;padding:9px 14px}.main{max-width:860px;margin:0 auto}.view{padding:18px 16px 30px}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:var(--surface);border-top:1px solid var(--line);padding-bottom:var(--bottom)}.tab{flex:1 1 0;min-width:0;min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 2px 8px;font-family:var(--mono);font-size:10px;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.tab span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-dot{width:5px;height:5px;border-radius:50%;background:transparent}.tab-on{color:var(--brand);font-weight:600}.tab-on .tab-dot{background:var(--brand)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:11px 16px;border-radius:10px;font-size:15px;font-weight:600;white-space:nowrap}.btn-primary{background:var(--iron);color:#fff}.btn-primary:active{background:var(--brand)}.btn-primary:disabled{background:var(--line);color:var(--muted)}.btn-ghost{border:1px solid var(--line);background:var(--surface)}.btn-ghost:active{border-color:var(--iron)}.wide{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);min-height:var(--tap);border-radius:10px;font-size:19px;color:var(--iron-2)}.icon-btn:active{background:#0000000f}.toggle{display:inline-flex;align-items:center;min-height:var(--tap);padding:8px 2px;font-size:14px;font-weight:600;color:var(--brand)}.search{display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.search input{flex:1;border:none;outline:none;background:none;padding:13px 0;font-size:16px}.chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 14px}.chip{min-height:36px;padding:8px 13px;border:1px solid var(--line);border-radius:20px;background:var(--surface);font-family:var(--mono);font-size:12px;text-transform:uppercase;color:var(--iron-2)}.chip-on{background:var(--iron);border-color:var(--iron);color:#fff}.chip-dash{border-style:dashed}.lbl{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.lbl input,.lbl select,.lbl textarea{display:block;width:100%;margin-top:6px;min-height:var(--tap);padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);font-family:var(--body);font-size:16px;line-height:1.4;letter-spacing:normal;text-transform:none;color:var(--iron);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.lbl select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}.lbl textarea{resize:vertical;min-height:84px}.lbl input:focus,.lbl select:focus,.lbl textarea:focus{border-color:var(--brand)}.field-grid{display:grid;grid-template-columns:1fr;gap:0}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px}.thumb{position:relative;display:block;width:100%;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:linear-gradient(145deg,#2c3238,#111417);color:#fff}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb-empty{background:var(--chalk);border:1px dashed var(--line);color:var(--muted)}.thumb-none{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase}.clip-name{font-size:15px;font-weight:600;margin:9px 0 3px;line-height:1.3}.empty{text-align:center;padding:44px 16px;color:var(--muted);font-size:15px;line-height:1.6}.empty-title{font-family:var(--disp);font-size:21px;text-transform:uppercase;color:var(--iron);margin:0 0 6px}.avatar{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex-shrink:0;border-radius:50%;background:var(--iron);color:#fff;font-family:var(--mono);font-size:13px}.avatar-lg{width:56px;height:56px;font-size:17px}.card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px 14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;text-align:left}.card:active{border-color:var(--brand)}.card-name{font-family:var(--disp);font-size:21px;font-weight:600;text-transform:uppercase;margin-top:10px;line-height:1.05}.row-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:var(--tap);padding:14px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:13px}.row:active{border-color:var(--brand)}.row-main{flex:1;min-width:0}.row-title{display:block;font-size:16px;font-weight:600;line-height:1.3}.chev{color:var(--muted);font-size:20px;flex-shrink:0}.bar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:13px;flex-wrap:wrap}.bar-title{flex:1;min-width:0;font-family:var(--disp);font-size:22px;font-weight:600;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.two-up{display:grid;grid-template-columns:1fr 1fr;gap:10px}.note-box{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;font-size:15px;line-height:1.55;margin:0}.results{list-style:none;margin:10px 0 0;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.result{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:var(--tap);padding:11px;border-radius:9px;text-align:left}.result:active{background:#d81e2c12}.blocks{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.block{display:flex;gap:11px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px}.slot-num{font-family:var(--mono);font-size:13px;color:#fff;background:var(--iron);border-radius:6px;padding:4px 7px}.block-main{flex:1;min-width:0}.block-inputs{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.block-inputs label{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;flex-direction:column;gap:4px}.block-inputs input{width:82px;min-height:var(--tap);font-family:var(--mono);font-size:16px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:var(--chalk);outline:none}.cue{width:100%;min-height:var(--tap);font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface);outline:none}.block-tools{display:flex;flex-direction:column;gap:2px}.pill{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px;border-radius:20px;background:var(--chalk);color:var(--muted);white-space:nowrap}.pill-done{background:var(--iron);color:#fff}.pill-flag{background:var(--yellow);color:#fff}.pill-ok{background:var(--ok);color:#fff}.pill-off{background:var(--brand);color:#fff}.sets{margin-top:12px;background:var(--chalk);border-radius:11px;padding:10px}.set-head{display:grid;grid-template-columns:30px 1fr 1fr;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 2px 6px}.set-row{display:grid;grid-template-columns:30px 1fr 1fr;gap:8px;align-items:center;margin-bottom:7px}.set-no{font-family:var(--mono);font-size:14px;color:var(--muted);text-align:center}.set-row input{width:100%;min-height:var(--tap);font-size:16px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:var(--surface);outline:none;text-align:center}.set-row input:focus{border-color:var(--brand)}.thread-view{display:flex;flex-direction:column;min-height:calc(100dvh - 190px)}.thread{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 2px;display:flex;flex-direction:column;gap:12px}.msg{display:flex;flex-direction:column;max-width:82%}.msg-mine{align-self:flex-end;align-items:flex-end}.msg-theirs{align-self:flex-start}.bubble{margin:0;padding:11px 15px;border-radius:18px;font-size:16px;line-height:1.45;background:var(--surface);border:1px solid var(--line)}.msg-mine .bubble{background:var(--brand);border-color:var(--brand);color:#fff}.stamp{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:4px}.composer{position:sticky;bottom:0;display:flex;gap:8px;padding:10px 0 calc(6px + var(--bottom));background:var(--chalk);border-top:1px solid var(--line)}.composer input{flex:1;min-height:var(--tap);border:1px solid var(--line);border-radius:24px;padding:12px 17px;font-size:16px;background:var(--surface);outline:none}.composer input:focus{border-color:var(--brand)}.appt-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}.appt{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:13px;flex-wrap:wrap}.appt-off{opacity:.55}.appt-when{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px;padding:8px 6px;background:var(--chalk);border-radius:10px;font-family:var(--mono);font-size:11px;color:var(--muted);flex-shrink:0}.appt-when b{font-family:var(--disp);font-size:18px;color:var(--iron)}.appt-side{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.appt-side .btn{text-decoration:none}.slot-day{margin-bottom:16px}.slot-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.slot{min-height:var(--tap);padding:11px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--iron);font-family:var(--mono);font-size:14px;display:inline-flex;align-items:center;justify-content:center}.slot-on{background:var(--iron);border-color:var(--iron);color:#fff}.chart{width:100%;height:auto;display:block;margin:14px 0 4px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px}.tick{font-family:var(--mono);font-size:11px;fill:var(--muted)}.stats{display:flex;gap:9px;margin-top:14px}.stat{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px}.stat-n{display:block;font-family:var(--disp);font-size:30px;font-weight:700;line-height:1}.stat-ok{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.stat-off{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.verdict{font-size:15px;line-height:1.55;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin:12px 0 0}.verdict-ok{border-color:var(--ok);color:var(--ok);font-weight:500}.verdict-off{border-color:var(--brand);color:var(--brand);font-weight:500}.weigh-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.weigh-form .btn{grid-column:1 / -1}.weigh-list{list-style:none;margin:16px 0 0;padding:0}.weigh-row{display:flex;align-items:center;gap:12px;min-height:var(--tap);padding:10px 2px;border-bottom:1px solid var(--line)}.weigh-row .meta{flex:1}.pace-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.pace{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:13px}.pace-on{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.pace-behind,.pace-drifting{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.pace-fast{border-color:var(--yellow);box-shadow:inset 3px 0 0 var(--yellow)}.pace-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}.goals-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.goals-head .section{margin-bottom:10px}.goal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}.goal{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.goal-done{opacity:.6}.goal-done .goal-target{text-decoration:line-through}.goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}.goal-target{display:block;font-family:var(--disp);font-size:24px;text-transform:uppercase;line-height:1.1;color:var(--brand)}.goal-comments{list-style:none;margin:12px 0 0;padding:12px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:9px}.goal-comments li{display:flex;gap:9px;align-items:baseline;font-size:15px;line-height:1.5}.goal-who{font-family:var(--mono);font-size:11px;text-transform:uppercase;color:var(--muted);flex-shrink:0}.goal-text{flex:1}.goal-add{display:flex;gap:8px;align-items:center;margin-top:12px}.goal-add input{flex:1;min-height:var(--tap);border:1px solid var(--line);border-radius:24px;padding:11px 16px;font-size:16px;background:var(--chalk);outline:none}.consent{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:14px;margin-top:14px}.consent-on{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok)}.consent-title{margin:0 0 5px;font-size:16px;font-weight:600}.allergy{background:var(--surface);border:1px solid var(--brand);box-shadow:inset 3px 0 0 var(--brand);border-radius:12px;padding:13px 15px;margin-top:14px;font-size:15px;line-height:1.55}.plan{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:15px;margin-top:12px}.meal-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:11px}.meal{background:var(--chalk);border-radius:12px;padding:13px}.meal-name{font-family:var(--disp);font-size:20px;text-transform:uppercase}.meal-items{margin:8px 0;padding-left:20px;font-size:15px;line-height:1.65}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#10121480;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:92dvh;display:flex;flex-direction:column;background:var(--chalk);border-radius:20px 20px 0 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 12px 12px;border-bottom:1px solid var(--line)}.sheet-body{padding:16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-foot{padding:12px 16px calc(14px + var(--bottom));border-top:1px solid var(--line)}.video-frame{position:relative;width:100%;padding-top:56.25%;border-radius:12px;overflow:hidden;background:var(--iron)}.video-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:none}.video-stub{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;border-radius:12px;background:var(--iron);color:#ffffffb3;font-size:15px;text-align:center;padding:20px}.attach{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}@media (min-width:560px){.grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px}.weigh-form{grid-template-columns:1fr 1fr auto}.weigh-form .btn{grid-column:auto}}@media (min-width:860px){.app{padding-bottom:0}.tabs{position:sticky;top:0;bottom:auto;border-top:none;border-bottom:1px solid var(--line);padding-bottom:0;max-width:860px;margin:0 auto}.tab{flex:0 1 auto;flex-direction:row;gap:6px;padding:13px 16px;font-size:12px}.tab-dot{display:none}.tab-on{box-shadow:inset 0 -2px 0 var(--brand)}.scrim{align-items:center}.sheet{border-radius:18px}.composer{position:static;padding-bottom:6px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.badge{position:absolute;top:4px;right:calc(50% - 22px);min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;background:var(--brand);color:#fff;font-family:var(--mono);font-size:11px;font-weight:500;line-height:1}.tab{position:relative}.badge-inline{position:static;margin-left:9px}.badge-row{position:static;flex-shrink:0}.menu-item{display:flex;align-items:center}.menu-btn{position:relative}.burger-dot{position:absolute;top:8px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--brand);border:2px solid var(--surface)}.photo-row{display:flex;align-items:center;gap:16px;padding:14px 0 4px}.photo-actions{display:flex;gap:8px;flex-wrap:wrap}.avatar-img{object-fit:cover}.appt-danger{border-color:var(--brand)}.menu-who{display:flex;align-items:center;gap:12px;min-width:0}.menu-who .h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}code{font-family:var(--mono);font-size:12px;background:var(--chalk);padding:1px 5px;border-radius:4px}.day-picker{margin:4px 0 14px}.day-section{margin-top:18px}.day-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:8px;border-bottom:1px solid var(--line)}.day-title{font-family:var(--disp);font-size:24px;font-weight:600;text-transform:uppercase;margin:0;flex:1}.day-empty{padding:14px 2px}.progress{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:10px}.progress span{display:block;height:100%;background:var(--brand);transition:width .2s}.assign{margin-bottom:0}.assign select{min-width:150px;margin-top:4px}.invite-link{font-family:var(--mono);font-size:12.5px;line-height:1.6;word-break:break-all;background:var(--chalk);border-radius:10px;padding:12px;margin:10px 0}.avatar-group{background:var(--iron-2);font-size:14px}.row-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.dot-unread{width:10px;height:10px;border-radius:50%;background:var(--brand)}.msg-sender{font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 3px 14px}.to-field{display:flex;gap:8px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.to-label{font-size:16px;color:var(--muted);padding-top:9px}.to-chips{flex:1;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.to-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:20px;background:var(--brand);color:#fff;font-size:14px;font-weight:500}.to-chips input{flex:1;min-width:140px;min-height:40px;border:none;outline:none;background:none;font-size:16px}.compose-btn{color:var(--brand)}.compose-btn:active{background:#d81e2c14}.seg{display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.seg-btn{flex:1;min-height:40px;border-radius:9px;font-size:15px;font-weight:600;color:var(--muted)}.seg-on{background:var(--iron);color:#fff}.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px}.pager-title{flex:1;text-align:center;font-family:var(--disp);font-size:22px;font-weight:600;text-transform:uppercase}.link-btn{font-size:12.5px;font-weight:600;color:var(--brand);font-family:var(--body)}.agenda{display:flex;flex-direction:column;gap:18px}.agenda-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding-bottom:7px;border-bottom:1px solid var(--line)}.agenda-name{font-family:var(--disp);font-size:19px;text-transform:uppercase}.month-head{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:center}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:6px}.month-cell{position:relative;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:15px}.month-pad{border:none;background:none}.month-busy{border-color:var(--brand)}.month-today .month-num{color:var(--brand);font-weight:700}.month-count{font-family:var(--mono);font-size:10px;background:var(--brand);color:#fff;border-radius:9px;padding:1px 6px}.appt-attended{border-color:var(--ok);box-shadow:inset 3px 0 0 var(--ok);background:#1e8f550a}.appt-missed{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.ok-btn{color:var(--ok);border-color:var(--ok)}.ok-text{color:var(--ok)}.miss-text{color:var(--brand)}.month-attended{border-color:var(--ok);background:#1e8f551a}.month-attended .month-count{background:var(--ok)}.month-missed{border-color:var(--brand)}.onboarding{min-height:100dvh;background:var(--chalk);padding:calc(28px + var(--top)) 16px calc(28px + var(--bottom))}.onboarding-inner{max-width:560px;margin:0 auto}.onboarding .logo{margin-bottom:6px}.center-block{display:block;margin-left:auto;margin-right:auto}.legal-box{max-height:46vh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0 10px;font-size:15px;line-height:1.6}.legal-box p{margin:0 0 12px}.parq{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.parq-item{display:flex;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.parq-num{font-family:var(--mono);font-size:13px;color:#fff;background:var(--iron);border-radius:6px;padding:3px 8px;height:fit-content}.parq-body{flex:1;min-width:0}.parq-text{margin:0 0 11px;font-size:15px;line-height:1.5}.parq-choice{display:flex;gap:8px}.choice{flex:1;min-height:var(--tap);border:1px solid var(--line);border-radius:11px;background:var(--chalk);font-size:16px;font-weight:600;color:var(--iron-2)}.choice-no{background:var(--ok);border-color:var(--ok);color:#fff}.choice-yes{background:var(--yellow);border-color:var(--yellow);color:#fff}.form-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:11px}.form-flagged{border-color:var(--yellow);box-shadow:inset 3px 0 0 var(--yellow)}.answers{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:1px}.answers li{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.45}.answer-num{font-family:var(--mono);font-size:11px;color:var(--muted)}.answer-text{flex:1}.answer-value{font-family:var(--mono);font-size:12px;color:var(--muted)}.answer-yes .answer-value{color:var(--yellow);font-weight:600}.answer-yes .answer-text{font-weight:500}.amount{font-family:var(--mono);font-size:15px;font-weight:500;white-space:nowrap;flex-shrink:0}.amount-owed{color:var(--brand)}.amount-credit{color:var(--ok)}.balance-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:14px;text-align:center}.balance-owed{border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}.balance-credit,.balance-clear{border-color:var(--ok);box-shadow:inset 0 3px 0 var(--ok)}.balance-n{font-family:var(--disp);font-size:42px;font-weight:700;line-height:1;margin:6px 0 0}.week-list{list-style:none;margin:0;padding:0}.week-row{display:flex;align-items:center;gap:12px;padding:11px 2px;border-bottom:1px solid var(--line)}.week-row .meta{flex:1}.week-n{font-family:var(--mono);font-size:12px;color:#fff;background:var(--iron);border-radius:20px;padding:2px 9px}.check{display:flex;gap:11px;align-items:flex-start;margin:4px 0 16px;cursor:pointer}.check input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--brand);flex-shrink:0}.check>span{font-size:15px;line-height:1.4}.check .meta{display:block;margin-top:2px}.person{list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px}.person-off{opacity:.6}.person-flag{border-color:var(--yellow);box-shadow:inset 3px 0 0 var(--yellow)}.person-top{display:flex;align-items:center;gap:12px}.person-id{flex:1;min-width:0}.person-id .row-title{line-height:1.25}.person-roster{margin:10px 0 0}.person-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.person-actions .btn{flex:0 0 auto}.assign-select{min-height:var(--tap);margin-left:auto;padding:10px 34px 10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--chalk);font-size:15px;color:var(--iron);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.assign-select:focus{border-color:var(--brand);outline:none}@media (max-width:520px){.person-actions .btn{flex:1 1 auto}.assign-select{margin-left:0;width:100%}}.syncing-bar{background:var(--ok);color:#fff}.appt-editing{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.notice-bar{background:var(--iron);color:#fff;font-weight:500}.restored-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.appt-card .appt-when{min-width:64px}.appt-card .person-actions .btn{font-size:14px;padding:10px 13px}.calendar-btn{color:var(--iron-2)!important}.chosen-time{background:var(--chalk);border-radius:12px;padding:16px;text-align:center}.chosen-when{font-family:var(--disp);font-size:24px;font-weight:600;text-transform:uppercase;margin:4px 0 0;line-height:1.15}.section-pill{margin-left:9px;vertical-align:middle}.day-bar{position:sticky;top:calc(48px + var(--top));z-index:5;background:var(--chalk);padding:10px 0 8px;margin:8px 0 4px;border-bottom:1px solid var(--line)}.day-tab{display:inline-flex;align-items:center;gap:7px}.day-count{font-family:var(--mono);font-size:11px;min-width:20px;padding:1px 6px;border-radius:10px;background:var(--chalk);color:var(--muted)}.slot-on .day-count{background:#ffffff38;color:#fff}.appt-day{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.appt-held{border-style:dashed;opacity:.85;background:var(--chalk)}.month-held{font-size:9px;color:var(--iron-2);line-height:1}.join-btn{background:var(--ok)}.call-row{text-decoration:none;color:inherit}.muscle-line{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--brand);margin:3px 0 0;text-transform:uppercase}.board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.board-row{display:flex;align-items:center;gap:12px;padding:11px 13px;background:var(--surface);border:1px solid var(--line);border-radius:13px}.board-me{border-color:var(--brand);box-shadow:inset 3px 0 0 var(--brand)}.board-rank{font-family:var(--disp);font-size:20px;font-weight:700;min-width:26px;text-align:center;color:var(--muted)}.board-top-1{color:#c9a227}.board-top-2{color:#8c8c8c}.board-top-3{color:#a3693f}.board-points{font-family:var(--disp);font-size:24px;font-weight:700;color:var(--brand)}.progress-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:14px}.progress-pct{font-family:var(--disp);font-size:26px;font-weight:700;color:var(--brand);line-height:1}.progress-done{margin:9px 0 0;font-size:14px;font-weight:600;color:var(--ok)}.progress span{transition:width .45s cubic-bezier(.2,.9,.2,1)}.set-row{position:relative}.set-filled input{border-color:var(--ok);background:#1e8f550f}.point-flash{position:absolute;right:-2px;top:-6px;z-index:2;font-family:var(--disp);font-size:19px;font-weight:700;color:var(--ok);pointer-events:none;animation:rise 1.1s ease-out forwards}@keyframes rise{0%{opacity:0;transform:translateY(6px) scale(.8)}25%{opacity:1;transform:translateY(-4px) scale(1.15)}to{opacity:0;transform:translateY(-26px) scale(1)}}.block-done{border-color:var(--ok);background:#1e8f550a}.block-done .slot-num{background:var(--ok)}.block-celebrate{animation:pop .55s cubic-bezier(.2,.9,.2,1)}@keyframes pop{0%{transform:scale(1)}35%{transform:scale(1.025);box-shadow:0 0 0 4px #1e8f552e}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.point-flash,.block-celebrate{animation:none}.point-flash{opacity:1}}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.confetti-piece{position:fixed;width:9px;height:14px;opacity:0;animation:fly 1.5s cubic-bezier(.15,.7,.3,1) forwards}@keyframes fly{0%{opacity:1;transform:translate(0) rotate(0) scale(1.1)}70%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.7)}}.confetti-fall{animation-timing-function:cubic-bezier(.3,.1,.5,1)}.point-flash{position:absolute;right:-6px;top:-14px;z-index:3;display:inline-flex;align-items:center;gap:3px;font-family:var(--disp);font-size:26px;font-weight:700;color:var(--ok);text-shadow:0 2px 0 rgba(0,0,0,.08);pointer-events:none;animation:rise 1.2s cubic-bezier(.2,.9,.2,1) forwards}.point-star{font-size:15px;color:var(--yellow)}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.4) rotate(-12deg)}30%{opacity:1;transform:translateY(-8px) scale(1.5) rotate(6deg)}45%{transform:translateY(-10px) scale(1.15) rotate(-3deg)}to{opacity:0;transform:translateY(-46px) scale(1) rotate(0)}}.block-badge{position:absolute;top:-10px;right:10px;z-index:2;background:var(--ok);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:20px;animation:stamp .6s cubic-bezier(.2,1.3,.4,1) forwards}@keyframes stamp{0%{opacity:0;transform:scale(2.2) rotate(-14deg)}60%{opacity:1;transform:scale(.92) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}.block{position:relative}.block-celebrate{animation:pop .7s cubic-bezier(.2,1.2,.3,1)}@keyframes pop{0%{transform:scale(1)}30%{transform:scale(1.045) rotate(-.4deg);box-shadow:0 0 0 6px #1e8f5538}60%{transform:scale(.995) rotate(.2deg)}to{transform:scale(1) rotate(0)}}.finish-scrim{align-items:center;background:#101214b8}.finish-card{max-width:340px;margin:0 16px;padding:32px 24px;text-align:center;background:var(--surface);border-radius:24px;animation:swell .6s cubic-bezier(.2,1.3,.4,1)}@keyframes swell{0%{opacity:0;transform:scale(.6) translateY(30px)}60%{opacity:1;transform:scale(1.04) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.finish-mark{width:72px;height:72px;margin:0 auto 14px;border-radius:50%;background:var(--ok);color:#fff;font-size:38px;line-height:72px}.finish-title{font-family:var(--disp);font-size:32px;font-weight:700;text-transform:uppercase;margin:0 0 4px}.finish-points{font-family:var(--disp);font-size:56px;font-weight:700;color:var(--brand);line-height:1;margin:18px 0 0}@media (prefers-reduced-motion:reduce){.point-flash,.block-celebrate,.block-badge,.finish-card{animation:none}.point-flash{opacity:1}}.score-strip{display:flex;gap:10px;margin-top:12px}.score-main,.score-part{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 12px;text-align:center}.score-main{border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}.score-main b,.score-part b{display:block;font-family:var(--disp);font-size:28px;font-weight:700;line-height:1}.score-main b{color:var(--brand)}.score-earned{margin:9px 0 0;font-size:13.5px;font-weight:600;color:var(--ok)}.board-toggle{margin-left:10px;font-family:var(--body);font-size:12px;font-weight:600;text-transform:none;letter-spacing:normal;color:var(--brand);padding:3px 9px;border:1px solid var(--line);border-radius:20px}.board-toggle:active{background:#d81e2c14}
