:root{--board: #161a16;--board-2: #272d26;--board-3: #333a32;--surface-1: rgba(255,255,255,.02);--surface-2: rgba(255,255,255,.035);--surface-3: rgba(255,255,255,.06);--surface-4: rgba(255,255,255,.1);--paper: #f4f1e8;--paper-dim: #e8e3d4;--scrim-1: rgba(0,0,0,.22);--scrim-2: rgba(0,0,0,.35);--scrim-3: rgba(0,0,0,.55);--scrim-4: rgba(0,0,0,.88);--line-on-scrim: rgba(255,255,255,.4);--line-on-paper: rgba(0,0,0,.12);--text: #f4f1e8;--text-2: #a39a8c;--text-3: #8b8378;--ink: #2a2822;--ink-2: #6b6558;--ink-ok: #4a6e26;--ink-accent: #7a5c12;--ink-alert: #c43d24;--ink-info: #2f6296;--ink-hybrid: #6b4b9a;--ink-alert-line: rgba(196,61,36,.35);--text-ghost: rgba(244,241,232,.14);--accent: #f5e003;--accent-dim: #c9b900;--accent-glow: rgba(245,224,3,.035);--accent-wash: rgba(245,224,3,.06);--accent-soft: rgba(245,224,3,.12);--accent-line: rgba(245,224,3,.32);--on-accent: #161a16;--ok: #7cb342;--ok-dim: #5a8530;--ok-glow: rgba(124,179,66,.04);--ok-wash: rgba(124,179,66,.07);--ok-soft: rgba(124,179,66,.14);--ok-line: rgba(124,179,66,.32);--warn: #e8836e;--warn-wash: rgba(232,131,110,.08);--warn-soft: rgba(232,131,110,.14);--warn-line: rgba(232,131,110,.34);--info: #5b9bd5;--info-soft: rgba(91,155,213,.14);--info-line: rgba(91,155,213,.3);--alert: #ff4d2e;--alert-dim: #c43d24;--alert-wash: rgba(255,77,46,.07);--alert-soft: rgba(255,77,46,.13);--alert-line: rgba(255,77,46,.3);--group-konsultacja: var(--info);--group-konsultacja-soft: var(--info-soft);--group-konsultacja-line: var(--info-line);--group-individual: var(--accent);--group-individual-soft: var(--accent-soft);--group-individual-line: var(--accent-line);--group-hybrid: #a986d8;--group-hybrid-soft: rgba(169,134,216,.14);--group-hybrid-line: rgba(169,134,216,.32);--group-team: var(--ok);--group-team-soft: var(--ok-soft);--group-team-line: var(--ok-line);--line: rgba(244,241,232,.16);--line-strong: rgba(244,241,232,.28);--line-soft: rgba(255,255,255,.05);--sp-0: 2px;--sp-1: 4px;--sp-2: 6px;--sp-3: 8px;--sp-4: 10px;--sp-5: 12px;--sp-6: 16px;--sp-7: 20px;--sp-8: 24px;--sp-9: 32px;--sp-10: 48px;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Archivo Black", sans-serif;--font-mono: "JetBrains Mono", monospace;--track-sm: .02em;--track-md: .06em;--track-lg: .12em;--fs-2xs: 10px;--fs-xs: 11px;--fs-sm: 12px;--fs-base: 13px;--fs-md: 14px;--fs-lg: 15px;--fs-xl: 18px;--fs-2xl: 22px;--fs-3xl: 30px;--fs-input: 16px;--r-sm: 4px;--r-md: 6px;--r-lg: 10px;--r-pill: 999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.38);--shadow-card: 0 10px 24px rgba(0,0,0,.35);--shadow-pop: 0 8px 24px rgba(0,0,0,.45);--ease-fast: .12s ease;--ease-base: .18s ease;--ease-slow: .4s ease;--icon-sm: 16px;--icon-md: 20px;--brand: #d2464b;--brand-dim: #b4232b;--brand-soft: rgba(210,70,75,.14);--brand-line: rgba(210,70,75,.34);--chalk: var(--text);--grey: var(--text-2);--gold: var(--accent);--red: var(--alert);--red-dim: var(--alert-dim);--green: var(--ok);--green-dim: var(--ok-dim)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--board);background-image:radial-gradient(ellipse at top left,var(--ok-glow),transparent 50%),radial-gradient(ellipse at bottom right,var(--accent-glow),transparent 50%);color:var(--chalk);font-family:var(--font-body);min-height:100vh;-webkit-font-smoothing:antialiased}.mono{font-family:var(--font-mono)}.display{font-family:var(--font-display)}::selection{background:var(--accent);color:var(--on-accent)}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--board-2)}::-webkit-scrollbar-thumb{background:var(--grey);border-radius:var(--r-sm)}.topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-7) var(--sp-9);border-bottom:2px solid var(--line);background:linear-gradient(180deg,var(--scrim-1),transparent);position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:var(--sp-5);padding:0;margin:0}.brand-logo{height:44px;width:auto;display:block}.brand-mark{width:38px;height:38px;border:3px solid var(--chalk);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--fs-lg);position:relative;flex-shrink:0}.brand-mark:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border:1px dashed var(--line);border-radius:50%}.brand-title{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:var(--track-sm);line-height:1}.brand-sub{font-size:var(--fs-2xs);color:var(--grey);letter-spacing:var(--track-lg);text-transform:uppercase;margin-top:var(--sp-1)}.role-switch{display:flex;gap:var(--sp-0);background:var(--scrim-2);padding:var(--sp-1);border-radius:var(--r-md);border:1px solid var(--line)}.role-btn{display:inline-flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-6);font-size:var(--fs-xs);letter-spacing:var(--track-md);text-transform:uppercase;font-weight:600;border-radius:var(--r-md);color:var(--grey);transition:color var(--ease-base),background var(--ease-base);white-space:nowrap}.role-btn .icon{opacity:.7}.role-btn.active .icon,.role-btn:hover .icon{opacity:1}.is-topbar-actions{gap:var(--sp-4)}.topbar-email{font-size:var(--fs-sm);color:var(--grey)}.role-btn.active{background:var(--chalk);color:var(--ink)}.role-btn:not(.active):hover{color:var(--chalk)}.role-btn.is-org{color:var(--accent)}.role-btn.is-org:not(.active):hover{color:var(--accent);background:var(--accent-wash)}.role-btn.is-org.active{background:var(--accent);color:var(--on-accent)}.app{max-width:1400px;margin:0 auto;padding:var(--sp-8) var(--sp-9) var(--sp-10)}.view{display:none;animation:fadeIn .35s ease}.view.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.chalk-panel{background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-sm);position:relative;box-shadow:var(--shadow-sm)}.section-label{font-size:var(--fs-xs);letter-spacing:var(--track-lg);text-transform:uppercase;color:var(--grey);font-weight:600;display:flex;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-6)}.section-label:after{content:"";flex:1;height:1px;background:var(--line)}.section-label-action{font-size:var(--fs-xs);color:var(--accent);cursor:pointer;text-decoration:underline;letter-spacing:0;text-transform:none;font-weight:400;flex-shrink:0}.section-label-action:hover{color:var(--chalk)}.section-label-action .action-gap{margin-left:var(--sp-5)}.goal-note-box.has-gap-top{margin-top:var(--sp-5)}.has-gap-bottom{margin-bottom:var(--sp-4)}.archive-block{margin-top:var(--sp-6)}.section-label.is-toggle{cursor:pointer}.section-label.is-toggle:hover{color:var(--chalk)}.section-label-chevron{color:var(--grey);font-size:var(--fs-sm);flex-shrink:0}.action-row{gap:var(--sp-3)}.plan-name{font-size:var(--fs-lg)}.plan-progress-row{margin-bottom:var(--sp-4)}.path-progress-row{margin-bottom:var(--sp-7)}.show-more{margin-top:var(--sp-4);display:inline-block}.has-gap-bottom-lg{margin-bottom:var(--sp-7)}.calc-warning.is-leading,.plan-updated-at.is-leading{margin-top:0;margin-bottom:var(--sp-3)}.plan-archive-item.is-padded{padding:var(--sp-5)}.lab-item-actions{gap:var(--sp-4);align-items:baseline}.goal-month-progress{margin-bottom:var(--sp-5)}.empty-state{text-align:center;padding:var(--sp-10) var(--sp-7);color:var(--grey)}.empty-state.is-compact{padding:var(--sp-9) var(--sp-4)}.empty-state-action{text-align:center;margin-top:calc(-1 * var(--sp-5));margin-bottom:var(--sp-4)}.empty-state .display{font-size:var(--fs-lg);color:var(--chalk);margin-bottom:var(--sp-3);letter-spacing:var(--track-sm)}.empty-state p{font-size:var(--fs-base);max-width:380px;margin:0 auto;line-height:1.6}.load-error-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-5);padding:var(--sp-5) var(--sp-7);background:var(--warn-wash);border-bottom:1px solid var(--warn-line);color:var(--warn);font-size:var(--fs-sm)}.error-boundary{border:1px solid var(--alert-line);background:var(--alert-wash);border-radius:var(--r-md);margin:var(--sp-7) 0}.error-boundary .empty-state .display{color:var(--alert)}.error-boundary-detail{margin-top:var(--sp-7);text-align:left}.error-boundary-detail summary{cursor:pointer;font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-md)}.error-boundary-detail pre{margin-top:var(--sp-4);padding:var(--sp-5);border-radius:var(--r-sm);background:var(--scrim-1);color:var(--grey);font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.btn{padding:var(--sp-5) var(--sp-8);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:600;letter-spacing:var(--track-md);text-transform:uppercase;transition:background var(--ease-fast),color var(--ease-fast),border-color var(--ease-fast),transform var(--ease-fast),box-shadow var(--ease-fast);display:inline-flex;align-items:center;gap:var(--sp-3)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--accent-dim);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--chalk)}.btn-ghost:hover{border-color:var(--chalk);background:var(--surface-2)}.btn-brand{background:var(--brand);color:var(--text);box-shadow:var(--shadow-sm)}.btn-brand:hover{background:var(--brand-dim);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:var(--sp-3) var(--sp-6);font-size:var(--fs-xs)}.btn[disabled]{cursor:not-allowed;opacity:.45}.icon{flex-shrink:0;display:block}.btn .icon{opacity:.85}.btn-primary .icon{opacity:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:var(--r-sm);background:transparent;border:1px solid transparent;color:var(--grey);transition:background var(--ease-fast),color var(--ease-fast),border-color var(--ease-fast)}.icon-btn:hover{background:var(--surface-3);color:var(--chalk)}.icon-btn.is-danger:hover{background:var(--alert-soft);color:var(--alert)}.icon-btn[disabled]{cursor:not-allowed;opacity:.35}.icon-btn[disabled]:hover{background:transparent;color:var(--grey)}.icon-btn.is-on-scrim{color:var(--paper);background:var(--scrim-2);border-color:var(--line-on-scrim)}.icon-btn.is-on-scrim:hover{background:var(--scrim-3);color:var(--paper)}.icon-btn.is-outlined{border-color:var(--line)}.icon-btn.is-outlined:hover{border-color:var(--chalk)}.has-icon,.hub-action.has-icon,.plan-edit-link.has-icon,.section-label-action.has-icon{display:inline-flex;align-items:center;gap:var(--sp-2);text-decoration:none}.has-icon .icon{opacity:.75}.has-icon:hover .icon{opacity:1}.is-now-col{background:var(--accent-wash)}.habit-remove-x .icon,.client-update-remove .icon,.absence-remove .icon,.plan-ex-remove .icon,.search-clear .icon{width:var(--icon-sm);height:var(--icon-sm)}.habit-remove-x,.client-update-remove,.absence-remove,.plan-ex-remove,.search-clear{display:inline-flex;align-items:center;justify-content:center}.btn[disabled]:hover{transform:none}.row{display:flex;align-items:center;gap:var(--sp-5)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5)}.row-wrap{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.row-top{align-items:flex-start}.stack{display:flex;flex-direction:column;gap:var(--sp-5)}.grow{flex:1;min-width:0}.muted{font-size:var(--fs-sm);color:var(--grey);line-height:1.5}.mono-xs{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--sp-7)}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--sp-7)}.chart-grid.is-wide{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:var(--sp-7)}.tile-grid>.panel{margin-bottom:var(--sp-7)}.pill{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--fs-2xs);letter-spacing:var(--track-sm);font-weight:700;padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);background:var(--surface-3);color:var(--grey);border:1px solid transparent}.pill-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.pill-ok{background:var(--ok-soft);color:var(--ok);border-color:var(--ok-line)}.pill-warn{background:var(--alert-wash);color:var(--warn);border-color:var(--alert-line)}.pill-alert{background:var(--alert-soft);color:var(--alert);border-color:var(--alert-line)}.pill-info{background:var(--info-soft);color:var(--info);border-color:var(--info-line)}.roster-section{background:var(--surface-2);border-radius:var(--r-md);border-left:3px solid var(--group-color, var(--line-strong));padding:var(--sp-7);margin-bottom:var(--sp-9)}.roster-section.is-group-konsultacja{--group-color:var(--group-konsultacja)}.roster-section.is-group-individual{--group-color:var(--group-individual)}.roster-section.is-group-hybrid{--group-color:var(--group-hybrid)}.roster-section.is-group-team{--group-color:var(--group-team)}.roster-head{display:flex;align-items:baseline;gap:var(--sp-5);flex-wrap:wrap}.roster-title{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--chalk);line-height:1.1;letter-spacing:var(--track-sm)}.roster-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--group-color, var(--grey));white-space:nowrap}.roster-head-actions{margin-left:auto;display:flex;align-items:baseline;gap:var(--sp-5);flex-wrap:wrap}.roster-note{margin:var(--sp-3) 0 0}.roster-sub{margin-top:var(--sp-6)}.roster-sub-label{font-size:var(--fs-2xs);letter-spacing:var(--track-lg);text-transform:uppercase;color:var(--grey);font-weight:600;display:flex;align-items:baseline;gap:var(--sp-4)}.roster-sub-label .roster-count{font-size:var(--fs-2xs)}.tabs.sub-tabs .tab.is-group-konsultacja.active{background:var(--group-konsultacja-soft)}.tabs.sub-tabs .tab.is-group-individual.active{background:var(--group-individual-soft)}.tabs.sub-tabs .tab.is-group-hybrid.active{background:var(--group-hybrid-soft)}.tabs.sub-tabs .tab.is-group-team.active{background:var(--group-team-soft)}.tab-count{font-family:var(--font-mono);opacity:.75;margin-left:var(--sp-2)}.pill.is-group-konsultacja{background:var(--group-konsultacja-soft);color:var(--group-konsultacja);border-color:var(--group-konsultacja-line)}.pill.is-group-hybrid{background:var(--group-hybrid-soft);color:var(--group-hybrid);border-color:var(--group-hybrid-line)}.pill.is-group-team{background:var(--group-team-soft);color:var(--group-team);border-color:var(--group-team-line)}.client-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--sp-6);margin-top:var(--sp-6)}.client-card{background:var(--paper);color:var(--ink);border-radius:var(--r-md);padding:var(--sp-7);cursor:pointer;position:relative;overflow:hidden;transition:transform var(--ease-base),box-shadow var(--ease-base);border:1px solid var(--line-on-paper);box-shadow:var(--shadow-sm)}.client-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card)}.client-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--card-accent, var(--green))}.client-card.is-group-konsultacja{--card-accent:var(--group-konsultacja)}.client-card.is-group-individual{--card-accent:var(--group-individual)}.client-card.is-group-hybrid{--card-accent:var(--group-hybrid)}.client-card.is-group-team{--card-accent:var(--group-team)}.client-card.is-absent{--card-accent:var(--alert-line);opacity:.7}.client-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-6)}.client-avatar{width:42px;height:42px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:var(--fs-lg);flex-shrink:0}img.client-avatar{object-fit:cover}.client-name{font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.2}.client-meta{font-size:var(--fs-xs);color:var(--ink-2);margin-top:var(--sp-1)}.badge,.goal-pill,.freq-pill,.habit-chip,.extra-chip,.pkg-badge,.client-status,.absent-badge,.booked-badge{display:inline-flex;align-items:center;white-space:nowrap;font-size:var(--fs-2xs);letter-spacing:var(--track-sm);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill)}.badge,.goal-pill,.pkg-badge,.client-status,.absent-badge,.booked-badge{text-transform:uppercase;font-weight:700}.freq-pill,.habit-chip,.extra-chip,.pkg-badge,.absent-badge,.booked-badge{font-family:var(--font-mono)}.trainer-pill,.pose-pill{display:inline-flex;align-items:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);padding:var(--sp-1) var(--sp-5);border-radius:var(--r-pill);border:1px solid var(--line);color:var(--grey);transition:color var(--ease-fast),border-color var(--ease-fast),background var(--ease-fast)}.trainer-pill:hover,.pose-pill:hover{color:var(--chalk);border-color:var(--line-strong)}.status-hot{background:var(--alert-soft);color:var(--alert)}.status-good{background:var(--ok-soft);color:var(--ok)}.status-watch{background:var(--accent-soft);color:var(--accent)}.status-cold{background:var(--surface-3);color:var(--grey)}.client-stats-row{display:flex;gap:var(--sp-6);margin-top:var(--sp-3)}.mini-stat{flex:1}.mini-stat-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--ink-2)}.mini-stat-val{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:700;margin-top:var(--sp-0)}.trend-up{color:var(--green-dim)}.trend-down{color:var(--red-dim)}.client-card .status-hot,.client-card .pkg-badge.expiring,.client-card .pkg-badge.empty{color:var(--ink-alert)}.client-card .status-good,.client-card .pkg-badge.active{color:var(--ink-ok)}.client-card .status-watch,.client-card .pkg-badge.suspended,.client-card .pkg-badge.low{color:var(--ink-accent)}.client-card .status-cold,.client-card .pkg-badge.inactive{color:var(--ink-2)}.client-card .absent-badge{color:var(--ink-alert)}.client-card .pill.is-group-konsultacja,.client-card .pill-info{color:var(--ink-info)}.client-card .pill.is-group-hybrid{color:var(--ink-hybrid)}.client-card .pill.is-group-team{color:var(--ink-ok)}.client-card .pill-warn{color:var(--ink-accent)}.client-card .pill-alert{color:var(--ink-alert)}.client-card .pkg-badge,.client-card .client-status,.client-card .absent-badge{border-color:var(--line-on-paper)}.add-client-card{border:2px dashed var(--line);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--sp-3);color:var(--grey);min-height:170px;transition:background var(--ease-base),color var(--ease-base),border-color var(--ease-base)}.add-client-card:hover{border-color:var(--chalk);color:var(--chalk);background:var(--surface-1)}.add-client-card .plus{font-size:var(--fs-3xl);font-family:var(--font-display)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-6);margin-bottom:var(--sp-8)}.kpi-box{background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-8);position:relative;box-shadow:var(--shadow-sm)}.kpi-label{font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey);display:flex;align-items:center;gap:var(--sp-2)}.kpi-value{font-family:var(--font-display);font-size:var(--fs-3xl);margin-top:var(--sp-2);display:flex;align-items:baseline;gap:var(--sp-2)}.kpi-unit{font-size:var(--fs-base);color:var(--grey);font-family:var(--font-body)}.kpi-delta{font-size:var(--fs-xs);margin-top:var(--sp-2);font-weight:600}.detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--sp-8);flex-wrap:wrap;gap:var(--sp-6)}.back-link{font-size:var(--fs-xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey);display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-6);cursor:pointer;width:fit-content}.back-link:hover{color:var(--chalk)}.detail-identity{gap:var(--sp-6);min-width:0}.detail-avatar{width:54px;height:54px;font-size:var(--fs-xl)}.detail-avatar-col{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);flex-shrink:0}.detail-name{font-size:var(--fs-2xl);line-height:1.15}.detail-chips{margin-top:var(--sp-2);gap:var(--sp-3)}.detail-actions{display:flex;gap:var(--sp-3);flex-wrap:wrap}.goal-pill.is-link{text-decoration:none;color:var(--accent)}.absence-now{margin-left:var(--sp-2);font-size:var(--fs-2xs);color:var(--warn);font-weight:700}.is-clickable{cursor:pointer;transition:border-color var(--ease-fast)}.is-clickable:hover{border-color:var(--line-strong)}.teaser-list{margin-top:var(--sp-1)}.teaser-list>div{margin-top:var(--sp-0)}.teaser-key{color:var(--chalk)}.teaser-list .is-done{color:var(--ok)}.muted .is-finished{color:var(--warn)}.overview-duo{display:flex;gap:var(--sp-5);margin-bottom:var(--sp-7);flex-wrap:wrap}.overview-duo>*{min-width:220px;margin-bottom:0}.goal-note-box.has-follow{margin-bottom:var(--sp-6)}.session-log-item.is-last{margin-bottom:0}.inline-action{margin-left:var(--sp-3)}.tabs{display:flex;gap:var(--sp-1);margin-bottom:var(--sp-8);flex-wrap:wrap;border-bottom:1px solid var(--line)}.tab{padding:var(--sp-5) var(--sp-7);font-size:var(--fs-sm);letter-spacing:var(--track-md);text-transform:uppercase;font-weight:600;color:var(--grey);border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--chalk);border-bottom-color:var(--accent)}.tab:hover:not(.active){color:var(--chalk)}.panel{padding:var(--sp-8);margin-bottom:var(--sp-7)}.panel-flat{padding:0;margin-bottom:var(--sp-7);overflow-x:auto}.field input,.field select,.field textarea,.plan-ex-row input,.plan-day-editor-head input,.goal-edit-target input,.goal-edit-target select,.suppl-row input,.suppl-row select,.log-cell-input input,select.field-select-inline,.plan-ex-row select,select.lead-move,select.lead-inline-select,.plan-ex-set-row input,.test-inline-form input,.group-test-table input,textarea.group-summary-text,.pay-invoice-buyer,.calendar-feed-url input{background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--chalk);font-family:var(--font-body);font-size:var(--fs-base);outline:none}.field input:focus,.field select:focus,.field textarea:focus,.plan-ex-row input:focus,.plan-day-editor-head input:focus,.goal-edit-target input:focus,.goal-edit-target select:focus,.suppl-row input:focus,.suppl-row select:focus,.log-cell-input input:focus,.session-filter-row select:focus,.test-inline-form input:focus,.pay-invoice-buyer:focus,.calendar-feed-url input:focus{border-color:var(--accent)}.field input::placeholder,.log-cell-input input::placeholder{color:var(--text-3)}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-5)}.field{display:flex;flex-direction:column;gap:var(--sp-2)}.field label{font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey)}.field input,.field select,.field textarea,select.lead-move,select.lead-inline-select{padding:var(--sp-3) var(--sp-5)}.calendar-feed-url input{min-width:0;padding:var(--sp-3) var(--sp-5);font-family:var(--font-mono);font-size:var(--fs-xs)}.calendar-feed-line{padding:0 var(--sp-2);font-size:var(--fs-sm)}.field textarea{resize:vertical;min-height:60px;font-family:var(--font-body)}.slider-field{display:flex;flex-direction:column;gap:var(--sp-3)}.slider-row{display:flex;align-items:center;gap:var(--sp-6)}.slider-row input[type=range]{flex:1;accent-color:var(--green);height:4px}.slider-val{font-family:var(--font-mono);font-size:var(--fs-xl);font-weight:700;width:34px;text-align:center}.pr-stamp{display:inline-flex;align-items:center;gap:var(--sp-2);border:3px solid var(--accent);color:var(--accent);font-family:var(--font-display);font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-4);border-radius:var(--r-sm);transform:rotate(-4deg);letter-spacing:var(--track-md);animation:stampIn .4s cubic-bezier(.2,1.5,.5,1)}@keyframes stampIn{0%{transform:rotate(-4deg) scale(2);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.data-table th{text-align:left;padding:var(--sp-4) var(--sp-5);font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey);border-bottom:1px solid var(--line);font-weight:600}.data-table td{padding:var(--sp-5) var(--sp-5);border-bottom:1px solid var(--line)}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--surface-1)}.ex-card{background:var(--scrim-1);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-6);margin-bottom:var(--sp-4)}.ex-card-top{display:flex;justify-content:space-between;align-items:center}.ex-name{font-weight:600;font-size:var(--fs-md)}.ex-best{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--green);font-weight:700}.ex-history{display:flex;gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap}.ex-pill{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--surface-3);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);color:var(--grey)}.ex-pill.is-pr{background:var(--accent-soft);color:var(--accent);font-weight:700}.ex-pill.is-clickable,.test-row-value .is-clickable{cursor:pointer}.ex-pill.is-clickable:hover,.test-row-value .is-clickable:hover{color:var(--accent)}.test-profile-head{margin-bottom:var(--sp-7)}.test-profile-label{font-size:var(--fs-md)}.test-profile-aim{font-size:var(--fs-sm);color:var(--grey);margin-top:var(--sp-1)}.test-profile-head .muted{margin:var(--sp-3) 0 0}.test-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--sp-6)}.test-card{background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-4);min-width:0}.test-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4)}.test-card-pillar{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--grey)}.test-card-name{font-weight:600;font-size:var(--fs-md);margin-top:var(--sp-1)}.test-card-value-row{display:flex;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap}.test-card-value{font-family:var(--font-display);font-size:var(--fs-3xl);line-height:1}.test-card-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey)}.test-card-deltas{display:flex;flex-direction:column;gap:var(--sp-1)}.test-delta{font-size:var(--fs-sm)}.test-delta.is-good{color:var(--ok)}.test-delta.is-bad{color:var(--warn)}.test-delta.is-neutral{color:var(--grey)}.test-card-target{font-size:var(--fs-sm);margin-bottom:var(--sp-2)}.test-card-hint{font-size:var(--fs-xs);color:var(--grey);line-height:1.5}.test-card-hint.is-warn{color:var(--warn)}.test-add-link{align-self:flex-start;margin-left:0}.test-inline-form{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.test-inline-form input{padding:var(--sp-2) var(--sp-4)}.test-inline-value{width:90px}.test-inline-error{font-size:var(--fs-xs);color:var(--warn)}.test-list{margin-top:var(--sp-8)}.test-row{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.test-row:last-child{border-bottom:none}.test-row-main{flex:1;min-width:180px}.test-row-name{font-size:var(--fs-base)}.test-row-value{font-family:var(--font-mono);font-size:var(--fs-sm);text-align:right}.test-row .test-inline-form{flex-basis:100%}.photo-strip{display:flex;gap:var(--sp-4);overflow-x:auto;padding:var(--sp-1) 0}.photo-slot{flex-shrink:0;width:110px;height:140px;background:var(--paper-dim);color:var(--ink);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:var(--fs-2xs);text-align:center;gap:var(--sp-2);position:relative;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:transform var(--ease-fast),border-color var(--ease-fast)}.photo-slot:hover{transform:translateY(-3px)}.photo-slot.is-selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.photo-slot .select-badge{position:absolute;top:5px;right:5px;width:18px;height:18px;border-radius:50%;z-index:1;background:var(--scrim-2);border:1px solid var(--line-on-scrim);color:var(--paper);font-size:var(--fs-2xs);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.photo-slot.is-selected .select-badge{background:var(--gold);border-color:var(--gold);color:var(--on-accent);font-weight:700}.photo-slot img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.photo-slot .photo-date{position:absolute;bottom:0;left:0;right:0;z-index:1;background:var(--scrim-3);color:var(--paper);font-family:var(--font-mono);font-size:var(--fs-2xs);padding:var(--sp-1)}.photo-upload-icon{font-size:var(--fs-2xl);color:var(--ink-2)}.photo-upload-icon.is-lg{font-size:var(--fs-3xl)}.photo-week-label{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:var(--track-sm)}.compare-hint{font-size:var(--fs-sm);color:var(--grey);margin-top:var(--sp-3)}.compare-wrap{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--sp-7);align-items:stretch;margin-top:var(--sp-6)}.compare-slot{background:var(--paper-dim);color:var(--ink);border-radius:var(--r-md);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-3);position:relative;padding:var(--sp-6)}.compare-slot .compare-tag{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--ink-2);position:absolute;top:10px;left:10px}.compare-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);min-width:90px}.compare-vs .vs-label{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--grey)}.compare-delta{font-family:var(--font-mono);font-size:var(--fs-base);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);background:var(--surface-3);white-space:nowrap}.compare-delta.good{color:var(--green)}.compare-delta.bad{color:var(--red)}.compare-slot{cursor:pointer;overflow:hidden}.compare-slot img{width:100%;height:100%;min-height:260px;object-fit:contain;background:var(--scrim-1);position:absolute;top:0;right:0;bottom:0;left:0}.compare-slot img+.photo-week-label{position:absolute;bottom:8px;left:0;right:0;background:var(--scrim-3);color:var(--paper);padding:var(--sp-1)}.compare-slot .compare-tag{z-index:1;background:var(--scrim-3);padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm);color:var(--paper)}.compare-delta-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-5)}.pose-switch{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-5)}.pose-switch.is-inline{margin:0}.pose-pill.active{background:var(--gold);border-color:var(--gold);color:var(--on-accent);font-weight:700}.photo-slot-edit{position:absolute;top:5px;left:5px;width:18px;height:18px;border-radius:50%;padding:0;background:var(--scrim-3);border:1px solid var(--line-on-scrim);color:var(--paper);font-size:var(--fs-2xs);line-height:1;cursor:pointer;opacity:0;transition:opacity var(--ease-fast);z-index:1}.photo-slot:hover .photo-slot-edit{opacity:1}.photo-picker{display:flex;gap:var(--sp-4);flex-wrap:wrap}.photo-picker-slot{flex:1 1 100px;min-width:96px;height:130px;background:var(--paper-dim);color:var(--ink);border-radius:var(--r-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);position:relative;overflow:hidden;cursor:pointer;border:2px dashed var(--line-on-paper);transition:border-color var(--ease-fast)}.photo-picker-slot:hover{border-color:var(--gold)}.photo-picker-slot.has-image{border-style:solid;border-color:var(--gold)}.photo-picker-slot input[type=file]{display:none}.photo-picker-slot img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.photo-picker-slot .photo-week-label{position:relative;z-index:1}.photo-picker-slot.has-image .photo-week-label{position:absolute;bottom:0;left:0;right:0;background:var(--scrim-3);color:var(--paper);padding:var(--sp-1)}.photo-picker-clear{position:absolute;top:5px;right:5px;width:20px;height:20px;border-radius:50%;padding:0;z-index:2;background:var(--scrim-3);border:1px solid var(--line-on-scrim);color:var(--paper);display:flex;align-items:center;justify-content:center;cursor:pointer}.photo-picker-clear .icon{width:12px;height:12px}.photo-picker-clear:hover{background:var(--red);border-color:var(--red)}.photo-slider{position:relative;height:min(62vh,560px);aspect-ratio:3/4;width:auto;max-width:100%;margin:var(--sp-6) auto 0;background:var(--paper-dim);border-radius:var(--r-md);overflow:hidden;cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none}.photo-slider-img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.photo-slider-clip{position:absolute;top:0;right:0;bottom:0;left:0}.photo-slider-line{position:absolute;top:0;bottom:0;width:2px;background:var(--gold);transform:translate(-1px)}.photo-slider-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--on-accent);display:flex;align-items:center;justify-content:center;font-size:var(--fs-lg);font-weight:700;box-shadow:var(--shadow-md);cursor:ew-resize}.photo-slider-tag{position:absolute;top:10px;font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);background:var(--scrim-3);color:var(--paper);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);pointer-events:none}.photo-slider-tag.left{left:10px}.photo-slider-tag.right{right:10px}.photo-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:var(--scrim-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--sp-8);cursor:zoom-out}.photo-lightbox img{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--r-md);cursor:default}.photo-lightbox-close{position:absolute;top:16px;right:20px;width:36px;height:36px;border-radius:50%;padding:0}.photo-lightbox-close .icon{width:var(--icon-md);height:var(--icon-md)}.photo-lightbox-close:hover{background:var(--alert);border-color:var(--alert);color:var(--paper)}.photo-lightbox-tag{position:absolute;bottom:22px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--grey)}.insight-card{display:flex;gap:var(--sp-6);padding:var(--sp-6) var(--sp-6);border-radius:var(--r-md);margin-bottom:var(--sp-4);background:var(--surface-2);border-left:3px solid var(--grey)}.insight-card.good{border-left-color:var(--green);background:var(--ok-wash)}.insight-card.warn{border-left-color:var(--gold);background:var(--accent-wash)}.insight-card.alert{border-left-color:var(--red);background:var(--alert-wash)}.insight-icon{font-size:var(--fs-xl);flex-shrink:0}.session-log-item{padding:var(--sp-6) var(--sp-6);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--info);margin-bottom:var(--sp-4)}.log-table-wrap{overflow-x:auto}.log-table{width:100%;border-collapse:collapse;min-width:500px}.log-table th{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--grey);padding:var(--sp-4) var(--sp-3) var(--sp-2);text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}.log-table th.ex-col{text-align:left;min-width:140px}.log-table th.current-week{color:var(--gold);border-bottom:2px solid var(--gold)}.log-table td{padding:var(--sp-3);border-bottom:1px solid var(--line-soft);vertical-align:middle}.log-table td.ex-name{font-size:var(--fs-base);color:var(--chalk)}.log-table td.ex-target{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey);padding-left:0}.log-table td.ex-target .ex-target-line{white-space:nowrap;line-height:1.5}.log-table tr:last-child td{border-bottom:none}.log-cell{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);min-width:72px}.log-cell-done{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--chalk);text-align:center;line-height:1.3}.log-cell-done .weight{font-size:var(--fs-md);font-weight:700;color:var(--green)}.log-cell-done .sets-reps{font-size:var(--fs-2xs);color:var(--grey)}.log-cell-empty{font-size:var(--fs-xl);color:var(--text-ghost)}.log-cell-input{display:flex;flex-direction:column;gap:var(--sp-1);align-items:center}.log-cell-input input{width:60px;padding:var(--sp-1) var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-sm);text-align:center}.log-cell-input .log-cell-note-input{width:100%;text-align:left;font-family:var(--font-body);font-size:var(--fs-xs)}.log-cell-set{display:flex;gap:var(--sp-2);justify-content:center;align-items:baseline;white-space:nowrap}.log-cell-set-reps{font-size:var(--fs-2xs);color:var(--grey)}.log-cell-set-load{font-size:var(--fs-sm);font-weight:700;color:var(--green)}.log-cell-set-input{display:flex;gap:var(--sp-1);align-items:center}.log-cell-set-input input{width:38px}.log-cell-set-label,.log-cell-set-x{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey)}.log-cell-btn-row{display:flex;gap:var(--sp-3);align-items:center;justify-content:space-between;width:100%}.log-cell-note{max-width:96px;font-size:var(--fs-2xs);color:var(--grey);line-height:1.3;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.log-cell-note.is-alone{color:var(--text-2);font-style:italic}.log-cell-input input::placeholder{color:var(--text-ghost)}.log-save-btn{font-size:var(--fs-2xs);padding:var(--sp-1) var(--sp-4);margin-top:var(--sp-1)}.log-week-label{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey)}.log-week-label.current{color:var(--gold);font-weight:700}.log-pr{font-size:var(--fs-2xs);color:var(--accent);font-weight:700;letter-spacing:var(--track-sm)}.log-add-week-btn{display:flex;align-items:center;justify-content:center;padding:var(--sp-4);border-top:1px solid var(--line)}.path-progress{display:flex;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-2)}.path-progress-bar{flex:1;height:6px;background:var(--surface-4);border-radius:var(--r-sm);overflow:hidden}.path-progress-fill{height:100%;background:var(--green);border-radius:var(--r-sm);transition:width var(--ease-slow)}.path-progress-fill.is-warn{background:var(--gold)}.path-progress-fill.is-idle{background:var(--line-strong)}.path-progress-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold);white-space:nowrap}.path-progress-label.is-ok{color:var(--ok)}.path-progress-label.is-warn{color:var(--accent)}.path-progress-label.is-idle{color:var(--grey)}.path-phase-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--grey);margin:var(--sp-7) 0 var(--sp-3);font-family:var(--font-mono)}.path-phase-label.is-current-month{color:var(--gold)}.path-week{border-radius:var(--r-md);margin-bottom:var(--sp-3);overflow:hidden;border:1px solid var(--line)}.path-week.is-active{border-color:var(--gold);box-shadow:0 0 0 1px var(--accent-soft)}.path-week.is-done{opacity:.6}.path-week-header{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);cursor:pointer;background:var(--surface-1);transition:background var(--ease-fast)}.path-week-header:hover{background:var(--surface-3)}.path-week-num{font-family:var(--font-display);font-size:var(--fs-base);color:var(--chalk);white-space:nowrap}.path-week-active-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);padding:var(--sp-0) var(--sp-3);border-radius:var(--r-md);background:var(--accent-soft);color:var(--gold);border:1px solid var(--accent-line);white-space:nowrap}.path-week-next-badge{font-family:var(--font-mono);font-size:var(--fs-2xs);padding:var(--sp-0) var(--sp-3);border-radius:var(--r-md);color:var(--grey);border:1px solid var(--line);white-space:nowrap}.path-week-done-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey);flex:1;text-align:right}.path-week-done-count.all-done{color:var(--green)}.path-week-chevron{font-size:var(--fs-xs);color:var(--grey)}.path-tasks{padding:var(--sp-1) var(--sp-6) var(--sp-5)}.path-task{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);cursor:pointer}.path-task:last-child{border-bottom:none}.path-task input[type=checkbox]{margin-top:var(--sp-0);flex-shrink:0;width:15px;height:15px;accent-color:var(--green);cursor:pointer}.path-task-text{font-size:var(--fs-base);line-height:1.4;color:var(--chalk)}.path-task.done .path-task-text{text-decoration:line-through;color:var(--grey)}.path-week-milestone{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-md);white-space:nowrap}.path-task-body{display:flex;flex-direction:column;gap:var(--sp-0);min-width:0}.path-task-evidence{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-xs);color:var(--grey);font-family:var(--font-mono)}.path-task.is-auto{cursor:default}.path-task.done .path-task-evidence{text-decoration:none}.path-task-icon{flex-shrink:0;width:15px;text-align:center;font-size:var(--fs-sm);line-height:1.4;color:var(--grey)}.path-task-icon.is-done{color:var(--green)}.path-task.is-na .path-task-text{color:var(--grey)}.path-legend{margin-bottom:var(--sp-5)}.path-cycle-sub{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--grey);margin:var(--sp-5) 0 var(--sp-1)}.path-archive{margin-top:var(--sp-7)}.path-archive>summary{cursor:pointer;font-size:var(--fs-sm);color:var(--grey);margin-bottom:var(--sp-3)}.path-task.is-manual{cursor:pointer}.path-task.is-overdue .path-task-text{color:var(--warn)}.care-overdue{color:var(--warn);text-transform:uppercase;letter-spacing:var(--track-md);font-size:var(--fs-2xs)}.care-editor{display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-5) var(--sp-6);margin:var(--sp-1) 0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-1)}.care-check-inline{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--grey)}.care-risk{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5) var(--sp-6);margin-bottom:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md)}.care-risk.is-yellow{border-color:var(--warn-line);background:var(--warn-wash)}.care-risk.is-red{border-color:var(--alert-line);background:var(--alert-wash)}.care-risk-reasons{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-sm);color:var(--grey)}.care-risk-reason.is-red{color:var(--chalk)}.care-risk-alert{font-size:var(--fs-xs);color:var(--alert);text-transform:uppercase;letter-spacing:var(--track-md)}.care-start-warning{font-size:var(--fs-sm);color:var(--warn);margin-bottom:var(--sp-5)}.path-conditional{border-color:var(--accent-line)}.path-week-header.is-static{cursor:default}.path-week-header.is-static:hover{background:var(--surface-1)}.care-board{display:flex;flex-direction:column;gap:var(--sp-4)}.care-board .tag-chip.is-empty{opacity:.5}.group-care{margin-top:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md)}.group-care-head{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6);cursor:pointer;flex-wrap:wrap}.group-care-head .path-week-chevron{margin-left:auto}.team-kpi{font-family:var(--font-mono)}.group-summary-text{width:100%;font-family:var(--font-body);font-size:var(--fs-sm)}.group-test-table-wrap{overflow-x:auto}.group-test-table{border-collapse:collapse;font-size:var(--fs-sm)}.group-test-table th,.group-test-table td{padding:var(--sp-2) var(--sp-3);text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.group-test-table th{font-size:var(--fs-2xs);color:var(--grey);font-weight:400;text-transform:uppercase;letter-spacing:var(--track-md)}.group-test-table input{width:80px;padding:var(--sp-2) var(--sp-3)}.group-summary-text{padding:var(--sp-4)}.path-task.is-preview{cursor:default}.path-task.is-preview .path-task-text{color:var(--grey)}.path-future-label{font-size:var(--fs-sm);color:var(--grey);text-align:center;padding:var(--sp-3) 0;font-style:italic}.session-log-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-2)}.session-log-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold)}.session-log-trainer{font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm)}.session-log-note{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);white-space:pre-wrap}.plan-ex-row.is-cardio .plan-ex-intensity{grid-column:span 2}.tag-chip.is-small{padding:var(--sp-1) var(--sp-3);font-size:var(--fs-2xs)}.plan-ex-tools .tag-picker{gap:var(--sp-1);margin-right:var(--sp-3)}.ex-edit-target.is-cardio input.is-wide{width:128px}.session-log-habits{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-3)}.habit-chip{background:var(--ok-soft);color:var(--green);border:1px solid var(--ok-line)}.habit-chip.missed{background:var(--alert-soft);color:var(--warn);border-color:var(--alert-line);text-decoration:line-through;opacity:.7}.habit-name-cell{white-space:normal;min-width:180px;max-width:260px}.habit-name-row{display:flex;align-items:baseline;gap:var(--sp-2)}.habit-name{flex:1;font-size:var(--fs-sm);color:var(--chalk)}.habit-desc{font-size:var(--fs-2xs);line-height:1.45;color:var(--grey);margin-top:var(--sp-1)}.habit-freq{margin-top:var(--sp-2)}.habit-freq select{font-size:var(--fs-2xs);padding:var(--sp-0) var(--sp-2)}.habit-score-cell{white-space:nowrap;text-align:right}.habit-score{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--chalk)}.habit-streak{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--gold);white-space:nowrap}.habit-remove-x{cursor:pointer;color:var(--grey);font-size:var(--fs-md);padding:0 var(--sp-1)}.habit-remove-x:hover{color:var(--red)}.habit-pick{margin-bottom:var(--sp-6);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.habit-pick-list{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-1)}.habit-pick-item{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:background var(--ease-fast),border-color var(--ease-fast)}.habit-pick-item:hover{background:var(--surface-2);border-color:var(--line)}.habit-pick-main{flex:1}.habit-pick-name{font-size:var(--fs-base);color:var(--chalk)}.habit-pick-desc{font-size:var(--fs-xs);line-height:1.5;color:var(--grey);margin-top:var(--sp-1)}.habit-pick-item.taken{opacity:.45;cursor:default}.habit-pick-item.taken:hover{background:transparent;border-color:transparent}.habit-pick-custom{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-4)}@media(max-width:720px){.habit-name-cell{min-width:130px;max-width:150px}.habit-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}}.freq-pill{background:var(--accent-soft);color:var(--gold);border:1px solid var(--accent-line)}.kpi-value.is-ok,.todo-chip.is-ok .chip-count{color:var(--ok)}.kpi-value.is-accent,.todo-chip.is-accent .chip-count{color:var(--accent)}.kpi-value.is-alert,.todo-chip.is-alert .chip-count{color:var(--alert)}.kpi-value.is-info,.todo-chip.is-info .chip-count{color:var(--info)}.kpi-value.is-warn,.todo-chip.is-warn .chip-count{color:var(--warn)}.kpi-box.is-clickable{cursor:pointer;transition:border-color var(--ease-base),box-shadow var(--ease-base),transform var(--ease-base)}.kpi-box.is-clickable:hover{border-color:var(--accent-line);box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-box.is-active{border-color:var(--accent)}.kpi-box.is-empty .kpi-label,.kpi-box.is-empty .kpi-value{opacity:.5}.todo-chips{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-8)}.todo-chip{display:inline-flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--board-2);color:var(--grey);font-size:var(--fs-2xs);letter-spacing:var(--track-sm);text-transform:uppercase}.todo-chip .chip-count{font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:normal;color:var(--chalk)}.todo-chip.is-clickable{cursor:pointer;transition:border-color var(--ease-base),color var(--ease-base),background var(--ease-base)}.todo-chip.is-clickable:hover{border-color:var(--accent-line);color:var(--chalk);background:var(--surface-1)}.todo-chip.is-active{border-color:var(--accent);color:var(--chalk)}.todo-chip.is-empty{opacity:.5}.kpi-sub{font-size:var(--fs-2xs);color:var(--grey);margin-top:var(--sp-2);line-height:1.4}.report-block{margin-top:var(--sp-8)}.report-block:first-child{margin-top:0}.report-block .muted{margin:var(--sp-3) 0 0}.goal-note-box.is-focus{border-left:2px solid var(--accent-line);background:var(--accent-wash)}.report-item{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-7);margin-bottom:var(--sp-5)}.avatar-sm{width:30px;height:30px;font-size:var(--fs-xs);flex-shrink:0}.leaderboard-row.is-clickable,.lb-name.is-clickable,.client-avatar.is-clickable{cursor:pointer}.lb-val.is-ok{color:var(--ok)}.lb-val.is-alert{color:var(--alert)}.lb-val.is-accent{color:var(--accent)}.lb-val.is-info{color:var(--info)}.lb-val.is-warn{color:var(--warn)}.lb-action{margin-left:var(--sp-4)}.lb-sub{font-size:var(--fs-xs);color:var(--grey);margin-left:var(--sp-2)}.lb-goal{margin-top:var(--sp-1)}.filter-pills{display:flex;gap:var(--sp-2);flex-wrap:wrap}.goal-pill.is-filter{cursor:pointer;opacity:.55;transition:opacity var(--ease-fast)}.goal-pill.is-filter:hover{opacity:.85}.goal-pill.is-filter.is-active{opacity:1;background:var(--accent-soft);color:var(--accent)}.section-label.has-gap-top{margin-top:var(--sp-8)}.list-note{padding:var(--sp-4) 0}.add-client-label{font-size:var(--fs-xs);letter-spacing:var(--track-md);text-transform:uppercase}.archive-toggle-row{text-align:center;margin:var(--sp-3) 0 var(--sp-7)}.team-block{margin-bottom:var(--sp-9)}.roster-section .team-block:last-child{margin-bottom:0}.team-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-5);margin-bottom:var(--sp-4);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line)}.team-header .team-name{font-family:var(--font-display);font-size:var(--fs-md);color:var(--chalk)}.team-header .team-meta{font-size:var(--fs-xs);color:var(--grey)}.team-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-auto-flow:row dense;gap:var(--sp-5);align-items:start}.team-tile{display:flex;flex-direction:column;gap:var(--sp-3);text-align:left;font:inherit;color:var(--chalk);background:var(--board-2);border:1px solid var(--line);border-left:3px solid var(--group-team);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);cursor:pointer;transition:border-color var(--ease-fast),background var(--ease-fast)}.team-tile:hover{background:var(--surface-2)}.team-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.team-tile.is-open{border-color:var(--accent);border-left-color:var(--group-team);background:var(--surface-2)}.team-tile.is-ended{opacity:.6}.team-tile-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.team-tile-head .icon{margin-left:auto;color:var(--grey);flex-shrink:0}.team-tile-name{font-family:var(--font-display);font-size:var(--fs-md);min-width:0;overflow-wrap:anywhere}.team-tile-sub{font-size:var(--fs-xs);color:var(--grey)}.team-tile-row{display:flex;align-items:baseline;gap:var(--sp-4);font-size:var(--fs-sm)}.team-tile-label{flex:0 0 72px;font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey)}.team-tile-value{min-width:0;overflow-wrap:anywhere}.team-tile-value.dues-team{color:var(--warn)}.team-tile-value.dues-team.is-overdue{color:var(--alert)}.team-tile .path-progress{margin:0}.team-detail{grid-column:1 / -1;margin:var(--sp-2) 0 var(--sp-5)}.goal-note-box{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);white-space:pre-wrap}.goal-panel .goal-headline{font-family:var(--font-display);font-size:var(--fs-xl);line-height:1.35;color:var(--chalk);white-space:pre-wrap}.goal-panel .goal-headline-sub{font-size:var(--fs-xs);color:var(--grey);margin-top:var(--sp-2);margin-bottom:var(--sp-5)}.goal-panel .goal-headline+.row-wrap,.goal-panel .goal-headline+div:not(.goal-headline-sub){margin-top:var(--sp-5)}.medical-note-box{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);background:var(--alert-wash);border:1px solid var(--alert-line);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);white-space:pre-wrap}.medical-note-panel .section-label{color:var(--warn)}.medical-note-box.is-internal{background:var(--surface-2);border-color:var(--line)}.client-update-item{padding:var(--sp-5) 0;border-bottom:1px solid var(--line-soft)}.client-update-item:first-child{padding-top:0}.client-update-item:last-child{border-bottom:0;padding-bottom:0}.client-update-text{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);white-space:pre-wrap;margin-top:var(--sp-3)}.client-update-meta{font-size:var(--fs-2xs);color:var(--grey);font-family:var(--font-mono)}.client-update-remove{color:var(--grey);cursor:pointer;font-size:var(--fs-md);line-height:1}.client-update-remove:hover{color:var(--warn)}.updates-panel.is-fresh>.section-label{color:var(--accent)}.installment-item{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4) 0;border-bottom:1px solid var(--line-soft)}.installment-item:first-child{padding-top:0}.installment-item:last-child{border-bottom:0;padding-bottom:0}.installment-date{font-size:var(--fs-xs);color:var(--grey);font-family:var(--font-mono)}.installment-amount{font-family:var(--font-mono);font-size:var(--fs-md);font-weight:700;color:var(--chalk)}.installment-amount.is-editable{cursor:pointer;border-bottom:1px dashed var(--line)}.installment-amount.is-editable:hover{color:var(--accent)}.unit-charge-input{width:96px;font-family:var(--font-mono)}.unit-charges{padding-top:var(--sp-6);border-top:1px solid var(--line-soft)}.installment-note{font-size:var(--fs-xs);color:var(--text-3)}.installment-summary{font-size:var(--fs-2xs);color:var(--grey);font-family:var(--font-mono);margin-top:var(--sp-4)}.pay-methods{display:inline-flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.pay-methods .plan-edit-link+.plan-edit-link:before{content:"·";color:var(--grey);text-decoration:none;display:inline-block;margin-right:var(--sp-3)}.pay-methods.is-invoice{padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);background:var(--info-soft)}.plan-edit-link.is-strong{font-weight:600;color:var(--text)}.pay-invoice-buyer{min-width:0;flex:1 1 180px;max-width:320px;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-xs)}.invoice-note{font-size:var(--fs-2xs);color:var(--info);font-family:var(--font-mono)}.pay-method-tag{font-size:var(--fs-2xs);color:var(--grey);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:var(--track-sm)}.quarter-row{display:flex;align-items:baseline;gap:var(--sp-4);font-size:var(--fs-xs);padding:var(--sp-2) 0;border-bottom:1px solid var(--line-soft)}.quarter-row:last-child{border-bottom:0}.quarter-row .quarter-name{color:var(--text-3)}.quarter-row .quarter-amount{font-family:var(--font-mono);font-weight:700;color:var(--chalk);margin-left:auto}.package-head{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin-bottom:var(--sp-5)}.package-left{font-family:var(--font-mono);font-size:var(--fs-3xl);font-weight:700;line-height:1;color:var(--chalk)}.package-left.is-ok{color:var(--green)}.package-left.is-warn{color:var(--warn)}.package-left.is-alert{color:var(--red)}.package-left-label{font-size:var(--fs-2xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm);line-height:1.5}.installment-summary .is-overdue{color:var(--alert)}.package-uses,.loyalty-details,.intake-record-details{margin-top:var(--sp-4)}.package-uses>summary,.loyalty-details>summary,.intake-record-details>summary{font-size:var(--fs-xs);color:var(--gold);cursor:pointer;list-style:none}.package-uses>summary::-webkit-details-marker,.loyalty-details>summary::-webkit-details-marker,.intake-record-details>summary::-webkit-details-marker{display:none}.package-use-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-xs)}.package-use-row:last-child{border-bottom:0}.billing-panel{border:1px solid var(--accent-line);background:var(--accent-wash)}.billing-panel>.section-label{color:var(--accent)}.billing-panel.is-due{border-color:var(--alert-line);background:var(--alert-wash)}.billing-panel.is-due>.section-label{color:var(--alert)}.billing-panel .section-label-action{display:flex;gap:var(--sp-4)}.billing-panel .section-label-action>span+span:before{content:"·";margin-right:var(--sp-4);color:var(--line-strong)}.billing-split{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-8)}.billing-half{min-width:0}.billing-half-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--grey);margin-bottom:var(--sp-3)}@media(max-width:720px){.billing-split{grid-template-columns:1fr;gap:var(--sp-6)}}.wallet-strip{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-5)}.wallet-chip{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);border:1px solid transparent}.wallet-chip.is-warn{background:var(--alert-wash);color:var(--warn);border-color:var(--alert-line)}.wallet-chip.is-alert{background:var(--alert-soft);color:var(--alert);border-color:var(--alert-line)}.wallet-chip.is-accent{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-line)}.wallet-chip.is-clickable{cursor:pointer}.wallet-chip-amount{font-family:var(--font-mono);font-size:var(--fs-lg);font-weight:700;white-space:nowrap}.wallet-chip-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm)}.plan-updated-at{font-size:var(--fs-2xs);color:var(--grey);font-family:var(--font-mono);margin-top:var(--sp-3)}.plan-edit-link{font-size:var(--fs-xs);color:var(--gold);cursor:pointer;text-decoration:underline}.macro-row{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-4)}.macro-chip{font-family:var(--font-mono);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;min-width:64px}.macro-chip .macro-val{font-size:var(--fs-lg);font-weight:700;color:var(--chalk)}.macro-chip .macro-label{font-size:var(--fs-2xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm);margin-top:var(--sp-0)}.macro-chip.kcal .macro-val{color:var(--gold)}.macro-chip.protein .macro-val{color:var(--green)}.macro-chip.fat .macro-val{color:var(--warn)}.macro-chip.carbs .macro-val{color:var(--info)}.nutrition-log-item{padding:var(--sp-6) var(--sp-6);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--gold);margin-bottom:var(--sp-4)}.nutrition-log-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);margin-bottom:var(--sp-2)}.nutrition-log-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold)}.nutrition-log-author{font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm)}.nutrition-log-note{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);white-space:pre-wrap}.nutrition-log-tmpl{font-size:var(--fs-xs);color:var(--gold);font-family:var(--font-mono);margin-bottom:var(--sp-2)}.calc-summary{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--accent-wash);border:1px solid var(--accent-line)}.calc-formula{font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.6;color:var(--chalk)}.calc-inputs{font-size:var(--fs-xs);color:var(--grey);margin-top:var(--sp-1)}.calc-warning{font-size:var(--fs-xs);line-height:1.5;color:var(--warn);background:var(--alert-wash);border-left:2px solid var(--alert-line);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-4);margin-top:var(--sp-3)}.calc-hint{font-size:var(--fs-sm);line-height:1.5;color:var(--grey);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-5)}.calc-extras{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}.extra-chip{background:var(--surface-2);border:1px solid var(--line);color:var(--grey)}.tmpl-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}.tmpl-card{flex:1 1 130px;min-width:130px;padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);cursor:pointer;transition:border-color var(--ease-fast),background var(--ease-fast)}.tmpl-card:hover{border-color:var(--accent-line)}.tmpl-card.active{border-color:var(--gold);background:var(--accent-soft)}.tmpl-name{font-size:var(--fs-sm);font-weight:600;color:var(--chalk)}.tmpl-desc{font-size:var(--fs-2xs);line-height:1.4;color:var(--grey);margin-top:var(--sp-1)}.tmpl-split{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--gold);margin-top:var(--sp-2)}.meal-preview{margin-top:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);padding:var(--sp-2) var(--sp-5)}.meal-preview-row{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-1) 0;border-bottom:1px solid var(--line)}.meal-preview-row:last-child{border-bottom:none}.meal-preview-name{font-size:var(--fs-sm);color:var(--chalk)}.meal-preview-macro{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold)}.meal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-4);margin-top:var(--sp-4)}.meal-card{padding:var(--sp-5) var(--sp-6);border-radius:var(--r-md);background:var(--surface-2);border-left:3px solid var(--green)}.meal-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.meal-card-name{font-size:var(--fs-base);font-weight:600;color:var(--chalk)}.meal-card-pct{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey)}.meal-card-macro{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--gold);margin-top:var(--sp-1)}.field-note{font-size:var(--fs-2xs);color:var(--grey);margin-top:var(--sp-1)}.form-error{font-size:var(--fs-base);color:var(--warn);margin-top:var(--sp-5);line-height:1.5}.field.is-full{grid-column:1 / -1}.field label.is-accent{color:var(--accent)}.field-actions{grid-column:1 / -1;display:flex;gap:var(--sp-3)}.chip-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-2)}.chip-row .habit-chip{cursor:pointer}.muted.is-inline-note{margin:var(--sp-2) 0}.has-gap-top{margin-top:var(--sp-6)}.has-gap-top-sm{margin-top:var(--sp-3)}.is-relative{position:relative}.is-nowrap{white-space:nowrap}.is-strong{color:var(--chalk)}.is-warn{color:var(--warn)}.btn-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.note-warn{font-size:var(--fs-xs);color:var(--warn);margin-bottom:var(--sp-3);line-height:1.5}.form-info{font-size:var(--fs-base);color:var(--accent);margin-top:var(--sp-5);line-height:1.5}.tabs.in-modal{margin-bottom:var(--sp-6)}.field-row{display:flex;gap:var(--sp-3);margin-bottom:var(--sp-3);align-items:flex-end}.field-row .field{flex:1;min-width:0}.field-row .field.is-wide{flex:2}.day-label-input{max-width:150px}.goal-note-box.is-preview{font-size:var(--fs-xs);max-height:220px;overflow-y:auto}.meal-card-hint{font-size:var(--fs-xs);line-height:1.5;color:var(--grey);margin-top:var(--sp-2)}.hand-rule{font-size:var(--fs-sm);line-height:1.5;color:var(--chalk);background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-5)}.meal-rules{list-style:none;margin-top:var(--sp-4)}.meal-rules li{font-size:var(--fs-sm);line-height:1.6;color:var(--grey);padding-left:var(--sp-6);position:relative}.meal-rules li:before{content:"—";position:absolute;left:0;color:var(--gold)}.week-nav{display:flex;align-items:center;gap:var(--sp-2);flex-shrink:0}.week-nav-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey);min-width:106px;text-align:center;text-transform:none;letter-spacing:0}.week-nav-day{color:var(--accent);text-transform:uppercase;font-weight:700;font-size:var(--fs-xs);letter-spacing:var(--track-sm)}.diary-stats{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-5)}.extra-chip.good{color:var(--green);border-color:var(--ok-line);background:var(--ok-soft)}.extra-chip.bad{color:var(--warn);border-color:var(--alert-line);background:var(--alert-wash)}.diary-table .ex-name{font-size:var(--fs-sm);white-space:nowrap}.diary-cell{min-height:30px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-lg);color:var(--grey);border:1px solid transparent;transition:background var(--ease-fast),border-color var(--ease-fast)}.diary-cell:hover{border-color:var(--line)}.diary-cell.done{background:var(--ok-soft);color:var(--green)}.diary-cell.missed{background:var(--alert-soft);color:var(--warn)}.diary-cell.scale{font-family:var(--font-mono);font-size:var(--fs-base)}.diary-cell.scale.filled{background:var(--accent-soft);color:var(--gold)}.diary-cell.note{font-size:var(--fs-base)}.diary-cell.note.filled{background:var(--info-soft)}.diary-cell.future{cursor:default;opacity:.25}.diary-cell.future:hover{border-color:transparent}.diary-note-editor{margin-top:var(--sp-5);padding:var(--sp-5) var(--sp-6);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line)}.diary-legend{font-size:var(--fs-xs);line-height:1.5;color:var(--grey);margin-top:var(--sp-5)}.nutri-disclaimer{font-size:var(--fs-2xs);line-height:1.5;color:var(--grey);margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--line)}.insight-text{font-size:var(--fs-base);line-height:1.5}.insight-text b{color:var(--chalk)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim-3);display:flex;align-items:center;justify-content:center;z-index:200;padding:var(--sp-7);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--board-3);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-8);max-width:480px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-pop)}.modal.is-shake{animation:modalShake .4s}@keyframes modalShake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.modal-title{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-5);font-family:var(--font-display);font-size:var(--fs-xl);margin-bottom:var(--sp-7)}.modal-title .icon-btn{flex-shrink:0;margin-top:-2px}.modal-actions{display:flex;gap:var(--sp-4);justify-content:flex-end;margin-top:var(--sp-7)}.chart-wrap{width:100%;overflow-x:auto}@media(max-width:720px){.topbar{padding:var(--sp-5) var(--sp-6);flex-wrap:wrap;gap:var(--sp-4)}.roster-section{padding:var(--sp-5)}.roster-head-actions{margin-left:0;width:100%}.app{padding:var(--sp-6) var(--sp-6) var(--sp-10)}.role-switch{width:100%;justify-content:space-between}.role-btn{flex:1;text-align:center;padding:var(--sp-3) var(--sp-2)}.detail-header{flex-direction:column;gap:var(--sp-5)}.detail-identity{align-items:flex-start;width:100%}.detail-name{font-size:var(--fs-xl)}.detail-chips{gap:var(--sp-2)}.detail-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;gap:var(--sp-2)}.detail-actions .btn{justify-content:center;padding-left:var(--sp-3);padding-right:var(--sp-3)}.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0;padding-left:var(--sp-5);padding-right:var(--sp-5)}.overview-duo{gap:var(--sp-5)}.overview-duo>*{min-width:0;flex:1 1 100%}.compare-wrap{grid-template-columns:1fr;gap:var(--sp-5)}.compare-vs{flex-direction:row;flex-wrap:wrap;justify-content:center}.compare-vs .vs-label{display:none}.photo-slot-edit{opacity:1}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{font-size:var(--fs-input)!important}.log-table th:first-child,.log-table td:first-child,.data-table th:first-child,.data-table td:first-child{position:sticky;left:0;z-index:1;background:var(--board-2);box-shadow:inset -1px 0 0 var(--line)}.data-table tr:hover td:first-child{background:var(--board-2)}}@media(max-width:480px){.app{padding:var(--sp-5) var(--sp-4) var(--sp-9)}.panel{padding:var(--sp-5)}.section-label{flex-wrap:wrap}.section-label:after{display:none}.section-label-action{flex-shrink:1;min-width:0;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.section-label-action .action-gap{margin-left:0}.modal-overlay{padding:var(--sp-4)}.modal{padding:var(--sp-6);max-height:90dvh}.modal-actions{flex-wrap:wrap}.path-week-header{flex-wrap:wrap;row-gap:var(--sp-2)}.path-week-done-count{min-width:0}.path-week-chevron{flex-shrink:0}.week-nav{flex-wrap:wrap;flex-shrink:1;min-width:0}.leaderboard-row{flex-wrap:wrap;row-gap:var(--sp-2)}.lb-name{min-width:0}.path-progress-bar{min-width:48px}.path-progress-label{white-space:normal;min-width:0;text-align:right}}.loading-row{display:flex;align-items:center;justify-content:center;padding:var(--sp-10);color:var(--grey);gap:var(--sp-4);font-size:var(--fs-base)}.spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--chalk);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--chalk);color:var(--ink);padding:var(--sp-5) var(--sp-8);border-radius:var(--r-md);font-size:var(--fs-base);font-weight:600;box-shadow:var(--shadow-pop);z-index:300;display:flex;align-items:center;gap:var(--sp-4);animation:toastIn .3s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.badge-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-4)}select.field-select-inline{padding:var(--sp-2) var(--sp-4);font-size:var(--fs-sm)}.owner-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--sp-7)}@media(max-width:1024px){.owner-grid{grid-template-columns:1fr}}.leaderboard-row{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.leaderboard-row:last-child{border-bottom:none}.lb-rank{font-family:var(--font-mono);font-size:var(--fs-base);color:var(--grey);width:22px}.lb-name{flex:1;font-size:var(--fs-base);font-weight:500}.lb-val{font-family:var(--font-mono);font-size:var(--fs-base);font-weight:700}.reminders-panel{border-left:3px solid var(--accent)}.reminders-panel .lb-name{flex:0 0 auto}.reminders-panel .archive-toggle-row{text-align:left;margin:0}.reminders-panel .archive-btn{margin:var(--sp-4) 0 var(--sp-2)}.leaderboard-row.is-priority{border-left:3px solid var(--alert);padding-left:var(--sp-4)}.leaderboard-row.is-priority .lb-name,.leaderboard-row.is-priority .grow{font-weight:600}.goal-pill{background:var(--surface-3);color:var(--grey);font-weight:600}.goal-pill.is-main{background:var(--accent-soft);color:var(--accent);border:1px solid var(--accent-line)}.pkg-badge.active{background:var(--ok-soft);color:var(--green);border:1px solid var(--ok-line)}.pkg-badge.suspended{background:var(--accent-soft);color:var(--gold);border:1px solid var(--accent-line)}.pkg-badge.inactive{background:var(--surface-3);color:var(--grey);border:1px solid var(--line)}.pkg-badge.expiring{background:var(--alert-soft);color:var(--red);border:1px solid var(--alert-line)}.pkg-badge.low{background:var(--alert-soft);color:var(--warn);border:1px solid var(--alert-line)}.pkg-badge.empty{background:var(--alert-soft);color:var(--red);border:1px solid var(--alert-line)}.absent-badge{background:var(--alert-soft);color:var(--warn);border:1px solid var(--alert-line)}.booked-badge{background:var(--info-soft);color:var(--info);border:1px solid var(--info-line)}.absence-item{display:flex;align-items:center;gap:var(--sp-5);padding:var(--sp-4) var(--sp-6);border-radius:var(--r-md);background:var(--alert-wash);border-left:3px solid var(--alert-line);margin-bottom:var(--sp-3)}.absence-dates{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--warn);white-space:nowrap}.absence-reason{font-size:var(--fs-base);color:var(--chalk);flex:1}.absence-remove{cursor:pointer;color:var(--grey);font-size:var(--fs-xl);padding:0 var(--sp-1)}.absence-remove:hover{color:var(--red)}.book-check{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;padding:var(--sp-2) 0;-webkit-user-select:none;user-select:none}.book-check input[type=checkbox]{width:16px;height:16px;accent-color:var(--green);cursor:pointer}.book-check-label{font-size:var(--fs-sm);color:var(--chalk)}.book-check.booked .book-check-label{color:var(--green)}.todo-booking-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.todo-booking-row:last-child{border-bottom:none}.archive-btn{font-size:var(--fs-xs);color:var(--grey);cursor:pointer;padding:var(--sp-2) var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);display:inline-block;margin:var(--sp-6) 0}.archive-btn:hover{color:var(--chalk);border-color:var(--text-ghost)}.client-card.archived{background:var(--paper-dim)}.client-card.archived .client-avatar,.client-card.archived .client-stats-row,.client-card.archived .client-consult-note{opacity:.5;filter:grayscale(1)}.client-card .pill.archive-pill{background:var(--ink);color:var(--paper);border-color:var(--ink)}.client-card .archive-reason{color:var(--ink);font-weight:600}.search-archive-block{margin-top:var(--sp-8)}.archive-banner{margin:var(--sp-4) 0 var(--sp-6);padding:var(--sp-4) var(--sp-6);border-left:3px solid var(--text-ghost);background:var(--surface-2);border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-2)}.archive-banner strong{color:var(--chalk)}.search-bar{display:flex;align-items:center;gap:var(--sp-5);margin:var(--sp-8) 0}.search-field{position:relative;flex:1;display:flex;align-items:center;min-width:0}.search-field input{flex:1;min-width:0;background:var(--board);border:2px solid var(--line-strong);border-radius:var(--r-lg);padding:var(--sp-5) calc(var(--sp-10) + var(--sp-9)) var(--sp-5) calc(var(--sp-9) + var(--sp-4));color:var(--chalk);font-family:var(--font-body);font-size:var(--fs-xl);outline:none;transition:border-color var(--ease-fast),box-shadow var(--ease-fast)}.search-field input::placeholder{color:var(--text-2)}.search-field input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-field:hover input,.search-field.has-value input{border-color:var(--accent-line)}.search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.search-icon{position:absolute;left:var(--sp-6);color:var(--grey);pointer-events:none;transition:color var(--ease-fast)}.search-field:focus-within .search-icon,.search-field.has-value .search-icon{color:var(--accent)}.search-field .search-count{position:absolute;right:calc(var(--sp-9) + var(--sp-3))}.search-field .search-clear{position:absolute;right:var(--sp-5)}.search-bar .btn{flex-shrink:0;white-space:nowrap;align-self:stretch}@media(max-width:480px){.search-bar{flex-wrap:wrap}.search-field{flex-basis:100%}.search-field input{font-size:var(--fs-lg)}.search-bar .btn{width:100%}}.type-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-4)}.type-card{--group-color:var(--line-strong);border:1px solid var(--line);border-left:3px solid var(--group-color);border-radius:var(--r-md);padding:var(--sp-5) var(--sp-6);cursor:pointer;background:var(--board-2);transition:background var(--ease-fast),color var(--ease-fast),border-color var(--ease-fast)}.type-card:hover{border-color:var(--group-color)}.type-card-label{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--chalk)}.type-card-note{font-size:var(--fs-xs);color:var(--grey);margin-top:var(--sp-2);line-height:1.35}.type-card.is-group-konsultacja{--group-color:var(--group-konsultacja);--group-soft:var(--group-konsultacja-soft)}.type-card.is-group-individual{--group-color:var(--group-individual);--group-soft:var(--group-individual-soft)}.type-card.is-group-hybrid{--group-color:var(--group-hybrid);--group-soft:var(--group-hybrid-soft)}.type-card.is-group-team{--group-color:var(--group-team);--group-soft:var(--group-team-soft)}.type-card.is-active{background:var(--group-soft);border-color:var(--group-color)}.type-card.is-active .type-card-label{color:var(--group-color)}.search-clear{font-size:var(--fs-2xl);color:var(--grey);cursor:pointer;padding:0 var(--sp-1);line-height:1}.search-clear:hover{color:var(--chalk)}.search-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey);white-space:nowrap}.trainer-selector{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-7);flex-wrap:wrap}.trainer-selector-label{font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm);white-space:nowrap}.trainer-pill.active-trainer{background:var(--chalk);color:var(--ink);border-color:var(--chalk);font-weight:700}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--sp-8)}.login-card{width:100%;max-width:380px;padding:var(--sp-9) var(--sp-9)}.login-card .field input{width:100%}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-6);flex-wrap:wrap;margin-bottom:var(--sp-4)}.plan-header-meta{font-size:var(--fs-xs);color:var(--grey);margin-top:var(--sp-1)}.plan-header-actions{display:flex;gap:var(--sp-5);align-items:center;flex-wrap:wrap}.plan-meta-row{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-6)}.log-table tr.plan-day-row td{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--gold);background:var(--accent-wash);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--line)}.log-table td.ex-name .ex-note{font-size:var(--fs-xs);color:var(--grey)}.log-table td.ex-name .ex-label{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--gold);margin-right:var(--sp-2)}.log-table tr.is-grouped td.ex-name{border-left:2px solid var(--accent-line)}.ex-name-link{color:inherit;text-decoration:underline;text-decoration-color:var(--accent-line);text-underline-offset:2px}.ex-name-link:hover{color:var(--accent)}.ex-edit{display:flex;flex-direction:column;gap:var(--sp-1)}.ex-edit input{width:100%;padding:var(--sp-1) var(--sp-2)}.ex-edit-note{font-size:var(--fs-xs)}.ex-edit-target{display:flex;align-items:center;gap:var(--sp-1)}.ex-edit-target input{width:44px;padding:var(--sp-1) var(--sp-2);text-align:center}.ex-edit-target input:nth-of-type(2){width:62px;text-align:left}.ex-edit-target select{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-2xs)}.ex-edit-x{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey)}.plan-edit-link.is-on{color:var(--accent);font-weight:600}.ex-group-chip{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--gold);background:var(--accent-wash);border-radius:var(--r-sm);padding:0 var(--sp-2);display:block;width:max-content;max-width:100%;margin-bottom:var(--sp-1)}.session-filter-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6);flex-wrap:wrap}.session-filter-row label{font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-sm)}.session-filter-row select{background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-4);color:var(--chalk);font-family:var(--font-body);font-size:var(--fs-base);outline:none}.session-filter-count{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey);margin-left:auto}.session-month-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--grey);margin:var(--sp-6) 0 var(--sp-3);padding-bottom:var(--sp-1);border-bottom:1px solid var(--line)}.session-month-label:first-child{margin-top:0}.plan-archive-item{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-4);overflow:hidden}.plan-archive-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-5) var(--sp-6);cursor:pointer}.plan-archive-head:hover{background:var(--surface-2)}.plan-archive-name{font-size:var(--fs-md);font-weight:600}.plan-archive-meta{font-size:var(--fs-xs);color:var(--grey);margin-top:var(--sp-1)}.plan-archive-item .log-table-wrap{padding:0 var(--sp-6) var(--sp-6)}.plan-archive-note{margin:0;padding:0 var(--sp-6) var(--sp-4)}.training-tile:hover{border-color:var(--line-strong)}.training-tile-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-7);align-items:start}@media(max-width:720px){.training-tile-grid{grid-template-columns:1fr}}.training-tile-name{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:var(--track-sm)}.training-tile-note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.plan-day-editor{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-5);margin-top:var(--sp-5)}.plan-day-editor-head{display:flex;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-3)}.plan-day-editor-head input{padding:var(--sp-1) var(--sp-3);flex:1;min-width:0}.plan-ex-row{display:grid;grid-template-columns:26px minmax(120px,1fr) 52px 72px 64px;gap:var(--sp-2);margin-bottom:var(--sp-2);align-items:center}.plan-ex-row .plan-ex-tools{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap}.plan-ex-row input,.plan-ex-row select{width:100%;padding:var(--sp-1) var(--sp-3)}.plan-ex-setcount{grid-column:span 2;font-size:var(--fs-xs);color:var(--grey);white-space:nowrap}.plan-ex-setplan{margin:0 0 var(--sp-4) var(--sp-8);padding-left:var(--sp-4);border-left:1px solid var(--line)}.plan-ex-setplan.is-grouped{margin-left:var(--sp-9)}.plan-ex-set-row{display:flex;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-2)}.plan-ex-set-row input{width:64px;padding:var(--sp-1) var(--sp-3)}.plan-ex-set-label,.plan-ex-set-x{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey)}.plan-ex-set-unit{font-size:var(--fs-xs);color:var(--grey);min-width:28px}.plan-ex-row.is-grouped{margin-left:var(--sp-4);border-left:2px solid var(--accent-line);padding-left:var(--sp-3)}.plan-ex-label{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--gold)}.plan-ex-tools{display:flex;gap:var(--sp-2);align-items:center;justify-content:flex-end}.plan-group-head{display:flex;gap:var(--sp-3);align-items:center;margin:var(--sp-4) 0 var(--sp-2);padding-left:var(--sp-3);border-left:2px solid var(--gold)}.plan-group-head select{background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-1) var(--sp-3);color:var(--chalk);font-family:var(--font-body);font-size:var(--fs-sm);outline:none}.plan-group-head input{padding:var(--sp-1) var(--sp-3);flex:1;min-width:0}@media(max-width:480px){.plan-ex-row{grid-template-columns:26px 46px 58px 54px 1fr}.plan-ex-label{grid-row:1}.plan-ex-name{grid-column:1 / -1;grid-row:2}.plan-ex-setcount{grid-row:1}.plan-ex-row .plan-ex-tools{grid-row:3}.plan-ex-setplan{margin-left:var(--sp-4)}}.plan-ex-note{margin:0 0 var(--sp-4) var(--sp-8)}.plan-ex-note.is-grouped{margin-left:var(--sp-9)}.plan-ex-note input{width:100%;padding:var(--sp-1) var(--sp-3)}.plan-ex-remove,.plan-ex-move{cursor:pointer;color:var(--grey);text-align:center;font-size:var(--fs-xl);line-height:1}.plan-ex-remove:hover{color:var(--warn)}.plan-ex-move:hover{color:var(--gold)}.plan-ex-link{cursor:pointer;color:var(--gold);font-size:var(--fs-xs);white-space:nowrap}.plan-ex-link:hover{text-decoration:underline}.plan-ex-move.is-off,.plan-ex-link.is-off{opacity:.25;cursor:default;pointer-events:none}.plan-ex-link.is-on{color:var(--grey)}.plan-preview{max-height:240px;overflow-y:auto;margin-bottom:var(--sp-4)}.plan-preview-day{margin-bottom:var(--sp-5)}.plan-preview-day-head{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--gold);margin-bottom:var(--sp-1)}.plan-preview-ex{display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-sm);padding:var(--sp-1) 0;border-bottom:1px solid var(--line-soft)}.plan-preview-ex .mono{font-size:var(--fs-xs);color:var(--grey);white-space:nowrap}.goal-start-note{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey);margin:-12px 0 var(--sp-6)}.goal-month{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-6);margin-bottom:var(--sp-4)}.goal-month.is-active{border-color:var(--gold);box-shadow:0 0 0 1px var(--accent-soft)}.goal-month.is-past{opacity:.75}.goal-month.is-future{opacity:.55}.goal-month-head{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-4)}.goal-month-num{font-family:var(--font-display);font-size:var(--fs-base);color:var(--chalk)}.goal-month-dates{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey);flex:1;text-align:right;white-space:nowrap}.goal-target{padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.goal-target:last-child{border-bottom:none}.goal-target.is-main{border-left:2px solid var(--gold);padding-left:var(--sp-4);margin-bottom:var(--sp-1);border-bottom:none}.goal-target-head{display:flex;align-items:flex-start;gap:var(--sp-4)}.goal-target-head input[type=checkbox]{margin-top:var(--sp-1);flex-shrink:0;width:15px;height:15px;accent-color:var(--green);cursor:pointer}.goal-target-head input[type=checkbox]:disabled{cursor:default}.goal-target-dot{width:15px;height:15px;flex-shrink:0;margin-top:var(--sp-1);border-radius:50%;border:1px solid var(--line);font-size:var(--fs-2xs);line-height:13px;text-align:center;color:var(--green)}.goal-target-dot.is-done{border-color:var(--green);background:var(--ok-soft)}.goal-target-text{flex:1;min-width:0}.goal-target-pillar{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--grey)}.goal-target-label{font-size:var(--fs-base);line-height:1.4;color:var(--chalk)}.goal-target.is-done .goal-target-label{color:var(--grey)}.goal-target-value{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--gold);white-space:nowrap;text-align:right}.goal-target-nodata{color:var(--grey);font-style:italic}.goal-target-bar{height:3px;background:var(--surface-4);border-radius:var(--r-sm);overflow:hidden;margin:var(--sp-2) 0 0 25px}.goal-target-bar-fill{height:100%;background:var(--gold);border-radius:var(--r-sm);transition:width var(--ease-slow)}.goal-target-bar-fill.is-done{background:var(--green)}.goal-target-note{font-size:var(--fs-xs);color:var(--grey);margin:var(--sp-1) 0 0 25px}.goal-foundation{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px dashed var(--line)}.goal-foundation-label{font-family:var(--font-mono);font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--gold)}.goal-foundation-hint{font-size:var(--fs-xs);color:var(--grey);font-style:italic;margin:var(--sp-0) 0 var(--sp-2)}.goal-edit-target{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-3);margin-bottom:var(--sp-3)}.goal-edit-row-top{display:flex;gap:var(--sp-2);align-items:center}.goal-edit-row-top>select{flex:0 0 130px;min-width:0}.goal-edit-row-top>input{flex:1 1 120px;min-width:0}.goal-edit-row-bottom{display:flex;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap}.goal-edit-row-bottom>select{flex:2 1 180px;min-width:0}.goal-edit-row-bottom>input{flex:1 1 70px;min-width:0}.goal-edit-target input,.goal-edit-target select{width:100%;padding:var(--sp-1) var(--sp-3)}@media(max-width:480px){.goal-edit-row-top{flex-wrap:wrap}.goal-edit-row-top>select{flex:1 1 100%}}.tabs.sub-tabs{border-bottom:none;margin-bottom:var(--sp-6);gap:var(--sp-0)}.tabs.sub-tabs .tab{font-size:var(--fs-2xs);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-sm);background:var(--surface-2)}.tabs.sub-tabs .tab.active{background:var(--accent-soft);color:var(--chalk)}.suppl-row{display:grid;grid-template-columns:1.2fr .9fr 1fr 1.2fr 24px;gap:var(--sp-2);margin-bottom:var(--sp-2);align-items:center}@media(max-width:720px){.suppl-row{grid-template-columns:1fr 1fr 24px}}.suppl-row input,.suppl-row select{width:100%;padding:var(--sp-2) var(--sp-3)}.installment-row{display:grid;grid-template-columns:1fr 1fr 1.2fr auto auto 24px;gap:var(--sp-2);margin-bottom:var(--sp-2);align-items:center}@media(max-width:720px){.installment-row{grid-template-columns:1fr 1fr 24px}.installment-row>input:nth-child(3){grid-column:1 / -1}.installment-paid-check{grid-column:1 / 2}.installment-row>select{min-width:0}}.installment-row input[type=date],.installment-row input[type=number],.installment-row input[type=text],.installment-row input:not([type]){width:100%;min-width:0;padding:var(--sp-2) var(--sp-3);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-sm);color:var(--chalk);font-family:var(--font-body);font-size:var(--fs-sm)}.installment-row input:focus{border-color:var(--accent);outline:none}.installment-row input[type=number]{-moz-appearance:textfield}.installment-row input[type=number]::-webkit-inner-spin-button,.installment-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.installment-paid-check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);color:var(--grey);cursor:pointer;white-space:nowrap}.installment-opt-in{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-sm);color:var(--chalk)}.installment-opt-in input{width:auto}.lab-picker{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-3)}.lab-picker-slot{width:96px;height:96px;border:2px dashed var(--line);border-radius:var(--r-md);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-1);position:relative;overflow:hidden;transition:border-color var(--ease-fast);flex-shrink:0}.lab-picker-slot:hover{border-color:var(--gold)}.lab-picker-slot.has-image{border-style:solid;border-color:var(--gold);cursor:default}.lab-picker-slot input[type=file]{display:none}.lab-picker-slot img{width:100%;height:100%;object-fit:cover;position:absolute;top:0;right:0;bottom:0;left:0}.lab-item{border-left:3px solid var(--gold);background:var(--surface-2);border-radius:var(--r-md);padding:var(--sp-6) var(--sp-6);margin-bottom:var(--sp-5)}.lab-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);flex-wrap:wrap}.lab-item-label{font-size:var(--fs-md);font-weight:600}.lab-item-date{font-size:var(--fs-xs);color:var(--grey)}.lab-item-note{font-size:var(--fs-base);line-height:1.5;color:var(--chalk);white-space:pre-wrap;margin-top:var(--sp-2)}.lab-thumbs{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}.lab-thumb{width:84px;height:84px;border-radius:var(--r-md);overflow:hidden;cursor:pointer;border:1px solid var(--line);background:var(--scrim-1);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color var(--ease-fast)}.lab-thumb:hover{border-color:var(--gold)}.lab-thumb img{width:100%;height:100%;object-fit:cover}.lab-thumb-pending{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--grey);text-align:center;padding:var(--sp-1)}.lab-lightbox{max-width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;gap:var(--sp-4)}.lab-lightbox-head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-6);color:var(--chalk);font-size:var(--fs-base)}.lab-lightbox img{max-width:100%;max-height:84vh;object-fit:contain;border-radius:var(--r-md);background:var(--board-2)}.lab-item-warn{font-size:var(--fs-xs);color:var(--warn);margin-top:var(--sp-3)}.hub-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-6);margin-bottom:var(--sp-6);flex-wrap:wrap;border-left:3px solid var(--accent);padding-left:var(--sp-6)}.hub-title{font-size:var(--fs-2xl);color:var(--accent)}.hub-subtitle{font-size:var(--fs-sm);color:var(--grey);margin-top:var(--sp-1);max-width:64ch}.hub-action{font-size:var(--fs-xs);color:var(--accent);cursor:pointer;text-decoration:underline;flex-shrink:0}.hub-action:hover{color:var(--chalk)}.hub-action.is-danger{color:var(--grey)}.hub-action.is-danger:hover{color:var(--alert)}.hub-actions{gap:var(--sp-4)}.hub-news{border-left:3px solid var(--line);padding-left:var(--sp-5);margin-bottom:var(--sp-6)}.hub-news.is-expired{opacity:.55}.hub-news:last-child{margin-bottom:0}.hub-news-title{font-size:var(--fs-md);font-weight:600}.hub-news-body{font-size:var(--fs-base);line-height:1.5;white-space:pre-wrap;margin:var(--sp-2) 0}.welcome-title{font-family:var(--font-display);font-size:var(--fs-xl);line-height:1.2;margin-bottom:var(--sp-3)}.welcome-intro{font-size:var(--fs-md);line-height:1.5;color:var(--text-2)}.welcome-sub{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-md);color:var(--text-3);margin:var(--sp-8) 0 var(--sp-3)}.welcome-terms{margin:0;padding-left:var(--sp-7);font-size:var(--fs-base);line-height:1.55}.welcome-terms li{margin-bottom:var(--sp-2)}.welcome-steps{margin-top:var(--sp-4)}.welcome-step{display:flex;align-items:baseline;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base)}.welcome-step:last-child{border-bottom:none}.welcome-step-mark{font-family:var(--font-mono);color:var(--text-3);width:var(--sp-6);flex-shrink:0}.welcome-step.is-done{color:var(--text-3)}.welcome-step.is-done .welcome-step-mark{color:var(--ok)}.welcome-features{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-5)}.welcome-feature{padding:var(--sp-5);border-radius:var(--r-md);background:var(--surface-1)}.welcome-feature.is-clickable{cursor:pointer;transition:background var(--ease-fast)}.welcome-feature.is-clickable:hover{background:var(--surface-2)}.welcome-feature-label{font-weight:600;font-size:var(--fs-base);margin-bottom:var(--sp-2)}.welcome-feature-text{font-size:var(--fs-sm);line-height:1.5;color:var(--text-2)}.welcome-staff-line{font-size:var(--fs-sm);color:var(--text-3);margin-bottom:var(--sp-6)}.hub-scroll{overflow-x:auto}.hub-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.hub-table th{text-align:left;font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey);font-weight:400;padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--line)}.hub-table td{padding:var(--sp-4);border-bottom:1px solid var(--line-soft);vertical-align:top}.hub-table tr:last-child td{border-bottom:none}.hub-table .is-num{text-align:right;white-space:nowrap}.hub-table .is-actions{text-align:right;white-space:nowrap;width:1%}.hub-table tr.is-dim td{opacity:.5}@media(max-width:720px){.hub-table.is-cards thead,.hub-table.is-daylist thead{display:none}.hub-table.is-cards,.hub-table.is-cards tbody,.hub-table.is-daylist,.hub-table.is-daylist tbody{display:block;width:100%}.hub-table.is-cards td[data-label]:before,.hub-table.is-daylist td[data-label]:before{content:attr(data-label);display:block;font-size:var(--fs-2xs);letter-spacing:var(--track-md);text-transform:uppercase;color:var(--grey);font-weight:400;font-style:normal}.hub-table.is-cards tr{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-5);padding:var(--sp-5) 0;border-bottom:1px solid var(--line-soft)}.hub-table.is-cards tr:last-child{border-bottom:none}.hub-table.is-cards td{display:block;padding:0;border:none;min-width:0;width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere}.hub-table.is-cards td[data-label]:before{margin-bottom:var(--sp-1)}.hub-table.is-cards td.is-wide,.hub-table.is-cards td[colspan]{grid-column:1 / -1}.hub-table.is-cards td.is-actions{grid-column:1 / -1;text-align:left}.hub-table.is-cards td.is-actions:empty{display:none}.hub-table.is-cards tr.mg-editor-row{display:block;padding:var(--sp-4)}.hub-table.is-daylist tr{display:block;padding:var(--sp-5) 0;border-bottom:1px solid var(--line)}.hub-table.is-daylist tr:last-child{border-bottom:none}.hub-table.is-daylist td{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:start;column-gap:var(--sp-4);padding:var(--sp-2) var(--sp-3);border:none;min-width:0;text-align:left;white-space:normal}.hub-table.is-daylist td>*{grid-column:2}.hub-table.is-daylist td[data-label]:before{grid-column:1;grid-row:1 / span 40;padding-top:var(--sp-1)}.hub-table.is-daylist td>*+*{margin-top:var(--sp-2)}.hub-table.is-daylist td:first-child{display:block;padding:0 0 var(--sp-3)}.hub-table.is-daylist td.is-today{border-radius:var(--r-sm)}.hub-table.is-daylist.schedule-grid .schedule-cell{min-width:0}}.hub-inactive{font-size:var(--fs-xs);color:var(--grey)}.hub-link-group{margin-bottom:var(--sp-3)}.hub-link-row{padding:var(--sp-2) 0}.hub-link{font-size:var(--fs-base);color:var(--chalk);text-decoration:underline;text-decoration-color:var(--line-strong)}.hub-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.hub-warn{font-size:var(--fs-sm);color:var(--warn);background:var(--surface-2);border-left:3px solid var(--warn);border-radius:var(--r-sm);padding:var(--sp-4) var(--sp-5);margin-top:var(--sp-5);line-height:1.5}.hub-projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--sp-6)}.hub-project{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-4)}.hub-project.is-done{opacity:.55}.hub-project-title{font-size:var(--fs-md);font-weight:600}.hub-project-text{font-size:var(--fs-base);line-height:1.5;white-space:pre-wrap}.hub-project-text.is-note{color:var(--grey)}.hub-project-meta{margin-top:auto}.avail-grid th{text-align:center}.avail-grid th:first-child{text-align:left}.avail-cell{text-align:center;white-space:nowrap}.avail-range{font-family:var(--font-mono);font-size:var(--fs-xs)}.avail-empty{color:var(--text-3)}.avail-th-date{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-3);letter-spacing:0;text-transform:none}.avail-grid th.is-today,.avail-grid th.is-today .avail-th-date{color:var(--accent)}.avail-cell.is-today{background:var(--accent-wash)}.avail-range.is-extra{color:var(--info)}.avail-quarter-cell{white-space:nowrap}.avail-quarter-cell>.pill{margin:var(--sp-1) 0}.approval-panel{border-left:3px solid var(--accent)}.approval-row{padding:var(--sp-4) 0;border-bottom:1px solid var(--line-soft)}.approval-row:last-child{border-bottom:none}.approval-row.is-decided{opacity:.75}.approval-diff{margin-top:var(--sp-3);padding-left:var(--sp-5);border-left:2px solid var(--line)}.approval-day{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-sm)}.approval-day-name{flex:0 0 96px;color:var(--grey);font-size:var(--fs-xs)}.avail-exc-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-2) 0;font-size:var(--fs-base);border-bottom:1px solid var(--line-soft)}.avail-exc-row:last-child{border-bottom:none}.avail-exc-row.is-past,.avail-grid tr.is-away .avail-cell{opacity:.45}.absence-panel.is-away>.section-label{color:var(--warn)}.hub-absence-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-base);border-bottom:1px solid var(--line-soft)}.hub-absence-row:last-child{border-bottom:none}.hub-absence-row.is-now{background:var(--alert-wash);border-left:3px solid var(--alert-line);border-radius:var(--r-md);border-bottom:none}.hub-absence-row.is-past{opacity:.45}.hub-absence-dates{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--warn);white-space:nowrap}.avail-day{display:flex;align-items:flex-start;gap:var(--sp-5);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.avail-day-name{flex:0 0 110px;font-size:var(--fs-sm);color:var(--grey);padding-top:var(--sp-2)}.avail-day-slots{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;flex:1;min-width:0}.avail-slot{display:flex;align-items:center;gap:var(--sp-2)}.avail-slot input{padding:var(--sp-2) var(--sp-3);font-family:var(--font-mono);font-size:var(--fs-sm)}.avail-exc{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.avail-exc input,.avail-exc select{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.avail-exc>input:last-of-type{flex:1 1 140px;min-width:0}.avail-exc-spacer{flex:0 0 0}.avail-exc-warn{flex:1 1 100%;font-size:var(--fs-2xs);color:var(--warn)}@media(max-width:720px){.avail-day{flex-direction:column;gap:var(--sp-2)}.avail-day-name{flex:none}}.sop-doc{border:1px solid var(--line-soft);border-radius:var(--r-md);margin-bottom:var(--sp-4);background:var(--surface-2)}.sop-doc-head{padding:var(--sp-4) var(--sp-5);cursor:pointer}.sop-doc-title{font-size:var(--fs-md);font-weight:600}.sop-doc-chevron{font-size:var(--fs-2xs);color:var(--grey);cursor:pointer}.sop-doc-body{padding:0 var(--sp-5) var(--sp-5)}.sop-items{display:flex;flex-direction:column;gap:var(--sp-1);margin-top:var(--sp-3)}.sop-item{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--fs-base);line-height:1.5;padding:var(--sp-2) 0;cursor:pointer}.sop-item.is-readonly{cursor:default}.sop-item.is-done>span{color:var(--grey);text-decoration:line-through}.sop-item.is-must{cursor:default;color:var(--chalk)}.sop-item input[type=checkbox]{margin-top:var(--sp-1);flex-shrink:0}.sop-stage{border-left:3px solid var(--accent-line);padding-left:var(--sp-5);margin-bottom:var(--sp-7)}.sop-stage.is-done{border-left-color:var(--ok-line)}.sop-stage-name{font-size:var(--fs-md);font-weight:600}.sop-edit-section{border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--sp-5);margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.sop-edit-item{display:flex;align-items:center;gap:var(--sp-3)}.sop-edit-item input[type=text],.sop-edit-item input:not([type]){padding:var(--sp-2) var(--sp-3)}.sop-edit-must{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-2xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-md);flex-shrink:0}.field-note.is-accent{color:var(--accent)}.field-note.is-warn{color:var(--warn)}.loyalty-reward{display:flex;gap:var(--sp-5);align-items:flex-start;background:var(--accent-wash);border:1px solid var(--accent-line);border-radius:var(--r-sm);padding:var(--sp-6);margin-bottom:var(--sp-6)}.loyalty-reward-icon{font-size:var(--fs-2xl);line-height:1}.loyalty-badge-icon{font-size:var(--fs-xl);line-height:1}.loyalty-case{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--sp-5)}.loyalty-badge{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);text-align:center;padding:var(--sp-6) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.loyalty-badge.is-earned,.loyalty-badge.is-issued{border-color:var(--accent-line);background:var(--accent-wash)}.loyalty-badge.is-current{border-color:var(--line-strong)}.loyalty-badge.is-locked,.loyalty-badge.is-missed,.loyalty-badge.is-rejected{opacity:.45}.loyalty-badge-rank{font-family:var(--font-display);font-size:var(--fs-sm)}@media(max-width:480px){.loyalty-case{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--sp-4)}.loyalty-reward{flex-direction:column}}.offer-picker{margin-bottom:var(--sp-4)}.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-3)}.offer-tile{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);cursor:pointer;background:var(--surface-1)}.offer-tile:hover{border-color:var(--line-strong)}.offer-tile.is-on{background:var(--accent-soft);border-color:var(--accent-line)}.offer-tile.is-muted{opacity:.45;cursor:default}.offer-tile.is-muted:hover{border-color:var(--line)}.offer-head{display:flex;align-items:baseline;gap:var(--sp-1)}.offer-price{font-family:var(--font-display);font-size:var(--fs-lg);color:var(--chalk)}.offer-tile.is-on .offer-price{color:var(--accent)}.offer-per{font-size:var(--fs-2xs);color:var(--muted)}.offer-name{font-size:var(--fs-xs);color:var(--chalk);margin-top:var(--sp-1)}.offer-meta{font-size:var(--fs-2xs);color:var(--muted)}.offer-note{font-size:var(--fs-2xs);color:var(--info);margin-top:var(--sp-1)}.offer-tile.is-muted .offer-note{color:var(--muted)}.tag-picker{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tag-chip{padding:var(--sp-2) var(--sp-5);border-radius:var(--r-pill);cursor:pointer;font-size:var(--fs-xs);border:1px solid var(--line);color:var(--grey);transition:background var(--ease-fast),color var(--ease-fast),border-color var(--ease-fast);-webkit-user-select:none;user-select:none}.tag-chip:hover{color:var(--chalk);border-color:var(--line-strong)}.tag-chip.is-on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.hub-board{margin-top:var(--sp-6)}.hub-board .archive-btn{margin:var(--sp-4) 0 0}.hub-task-row{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line-soft);flex-wrap:wrap}.hub-task-row:last-child{border-bottom:none}.hub-task-text{font-size:var(--fs-base);font-weight:600}.hub-task-row.is-done .hub-task-text{color:var(--grey);text-decoration:line-through}.event-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);margin:var(--sp-4) 0 var(--sp-6)}.event-toolbar select{width:auto;min-width:0}.event-list{display:flex;flex-direction:column;gap:var(--sp-5)}.event-card{border-left:3px solid var(--line);padding:var(--sp-2) 0 var(--sp-2) var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.event-card.is-ok{border-left-color:var(--ok)}.event-card.is-warn{border-left-color:var(--warn)}.event-card.is-alert{border-left-color:var(--alert)}.event-card.is-muted{opacity:.55}.event-card-title{font-size:var(--fs-md);font-weight:600;cursor:pointer}.event-card-when{display:flex;flex-wrap:wrap;gap:var(--sp-4);font-size:var(--fs-base)}.event-card-days{font-family:var(--font-mono);color:var(--accent)}.event-card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5)}.event-card-alarm,.event-card-reason.is-alert{color:var(--alert)}.event-card-reason.is-warn{color:var(--warn)}.event-card-body{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-2);padding-top:var(--sp-4);border-top:1px solid var(--line-soft)}.event-card-tasks{display:flex;flex-direction:column;align-items:flex-start}.event-card-tasks .hub-task-row{width:100%}.event-card-status{gap:var(--sp-4)}.event-month{margin-bottom:var(--sp-8)}.event-month-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding-bottom:var(--sp-2);margin-bottom:var(--sp-4);border-bottom:1px solid var(--line-soft)}.event-month-name{font-family:var(--font-display);font-size:var(--fs-md);text-transform:uppercase;letter-spacing:var(--track-sm)}.event-alert-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.event-alert-row:last-child{border-bottom:none}.event-reminder-input{width:90px!important}@media(max-width:720px){.event-toolbar{flex-direction:column;align-items:stretch}.event-toolbar select{width:100%}}.hub-foryou{border-left:3px solid var(--accent)}.hub-foryou-row{display:flex;align-items:flex-start;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line-soft)}.hub-foryou-row:last-child{border-bottom:none}.hub-foryou-title{font-size:var(--fs-base);font-weight:600}.goal-list{display:flex;flex-direction:column;gap:var(--sp-6)}.goal-row{border-left:3px solid var(--line);padding-left:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.goal-row.is-done{border-left-color:var(--ok)}.goal-row-title{font-size:var(--fs-md);font-weight:600}.goal-row-input{gap:var(--sp-3)}.goal-row-input input{width:110px;padding:var(--sp-2) var(--sp-3)}.idea-card{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-md);padding:var(--sp-5);margin-bottom:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2)}.idea-card:last-child{margin-bottom:0}.idea-title{font-size:var(--fs-md);font-weight:600}.idea-body{font-size:var(--fs-base);line-height:1.5;white-space:pre-wrap}.occ-total{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap;font-size:var(--fs-base);padding:var(--sp-4) var(--sp-5);background:var(--surface-2);border-radius:var(--r-md)}.occ-row{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5) 0;border-bottom:1px solid var(--line-soft)}.occ-row:last-child{border-bottom:none}.occ-name{font-size:var(--fs-md);font-weight:600}.occ-detail{margin-top:var(--sp-2);padding-left:var(--sp-5);border-left:2px solid var(--line);display:flex;flex-direction:column;gap:var(--sp-2)}.occ-detail-row{display:flex;align-items:center;gap:var(--sp-4);font-size:var(--fs-base);flex-wrap:wrap}.occ-shared{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base)}.occ-shared:last-of-type{border-bottom:none}.occ-units{font-family:var(--font-mono);font-size:var(--fs-lg);color:var(--chalk)}.intake-form{display:flex;flex-direction:column;gap:var(--sp-5)}.intake-form .field.is-mapped label{color:var(--accent)}.intake-maps-mark{margin-left:var(--sp-2);color:var(--accent);font-size:var(--fs-xs)}.intake-answers{margin:var(--sp-4) 0 0;display:flex;flex-direction:column;gap:var(--sp-4)}.intake-answer{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:var(--sp-5);align-items:baseline}.intake-answer dt{font-size:var(--fs-xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-md)}.intake-answer dd{margin:0;font-size:var(--fs-base);color:var(--chalk);line-height:1.5;white-space:pre-wrap}.intake-decision .btn{margin-right:var(--sp-4)}.add-client-card.is-consult{border-style:solid;border-color:var(--line)}.client-consult-note{margin-top:var(--sp-3);font-size:var(--fs-xs);color:var(--grey);font-family:var(--font-mono)}@media(max-width:720px){.intake-answer{grid-template-columns:1fr;gap:var(--sp-1)}}.schedule-grid .schedule-cell{white-space:normal;text-align:left;vertical-align:top;min-width:120px}.schedule-cell.is-clickable{cursor:pointer}.schedule-cell.is-clickable:hover{background:var(--surface-2)}.schedule-cell.is-free{box-shadow:inset 2px 0 0 var(--ok)}.schedule-cell.is-off{opacity:.5}.booking-chip{display:block;margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-xs);cursor:pointer}.booking-chip-head{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.booking-time{font-family:var(--font-mono);color:var(--grey)}.booking-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.booking-dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--line-strong);flex-shrink:0}.booking-chip.is-zaplanowana{border-left-color:var(--accent)}.booking-chip.is-zaplanowana .booking-dot{background:var(--accent)}.booking-chip.is-odbyta{border-left-color:var(--ok)}.booking-chip.is-odbyta .booking-dot{background:var(--ok)}.booking-chip.is-nieobecnosc{border-left-color:var(--warn)}.booking-chip.is-nieobecnosc .booking-dot{background:var(--warn)}.booking-chip.is-odwolana{opacity:.55}.booking-chip.is-odwolana .booking-who{text-decoration:line-through}.booking-chip.is-over{border-color:var(--warn)}.booking-chip.is-conflict{border-color:var(--alert)}.booking-chip.is-open{background:var(--surface-3);cursor:default}.booking-body{margin-top:var(--sp-4);cursor:default}.booking-body .field input{width:100%}.tag-chip.is-muted{opacity:.5}.schedule-day{table-layout:fixed}.schedule-day th{text-align:center}.schedule-day .schedule-hour-col{width:64px;white-space:nowrap;color:var(--text-3);text-align:right}.schedule-day-cell{vertical-align:top;min-width:150px;border-left:1px solid var(--line-soft);padding:var(--sp-1) var(--sp-3)}.schedule-day-cell.is-off{opacity:.45}.schedule-day-cell.is-clickable{cursor:pointer}.schedule-day-cell.is-clickable:hover{background:var(--surface-3)}.hub-table td.schedule-day-cell.is-booked{position:relative;padding:var(--sp-1) var(--sp-2)}.schedule-span{position:relative;display:flex;flex-direction:column;gap:var(--sp-1)}.schedule-span .booking-chip{margin-top:0}.booking-chip.schedule-fill{position:absolute;inset:var(--sp-1) var(--sp-2);margin:0;padding:0;cursor:default}.schedule-span .booking-chip.is-bare{background:transparent;border-color:transparent}.booking-chip.is-draggable .booking-chip-head{cursor:grab}.booking-chip.is-dragging{opacity:.4}.schedule-day-table.is-moving,.schedule-day-table.is-moving td,.schedule-day-table.is-moving .booking-chip-head{cursor:grabbing}.schedule-drop-label{color:var(--accent);white-space:nowrap}.schedule-month td{width:14.28%}.schedule-month-cell{vertical-align:top;min-width:110px;cursor:pointer}.schedule-month-cell:hover{background:var(--surface-2)}.schedule-month-cell.is-outside{opacity:.4}.schedule-month-cell.is-today{background:var(--accent-wash)}.schedule-month-date{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--grey)}.schedule-month-chip{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-1);font-size:var(--fs-2xs);border-left:2px solid var(--line-strong);padding-left:var(--sp-2)}.schedule-month-chip.is-zaplanowana{border-left-color:var(--accent)}.schedule-month-chip.is-odbyta{border-left-color:var(--ok)}.schedule-month-chip.is-nieobecnosc{border-left-color:var(--warn)}.schedule-month-chip.is-odwolana{opacity:.5}.schedule-month-chip .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-free{margin-top:var(--sp-2);color:var(--ok);line-height:1.35}.month-free-sum{font-weight:700}.month-free.is-full{color:var(--text-3)}.schedule-agenda{display:none}.schedule-agenda-block{margin-bottom:var(--sp-6)}.schedule-month-compact,.schedule-month-compact-note{display:none}@media(max-width:720px){.schedule-day-table{display:none}.schedule-agenda{display:block}.schedule-grid .schedule-cell{min-width:96px}.schedule-month{table-layout:fixed}.schedule-month th{padding:var(--sp-2) 0;text-align:center}.hub-table td.schedule-month-cell{min-width:0;padding:var(--sp-2) var(--sp-1);height:52px;text-align:center}.schedule-month-cell .schedule-month-chip,.schedule-month-cell .schedule-month-more,.schedule-month-cell .month-free{display:none}.schedule-month-compact-note{display:inline}.schedule-month-compact{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1)}.schedule-month-count{min-width:18px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1.6}.schedule-month-freeh{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--ok);white-space:nowrap}.schedule-month-freeh.is-full{color:var(--text-3)}}.team-slot{padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.team-slot:last-of-type{border-bottom:none}.team-slot input[type=time],.team-slot input[type=date]{font-family:var(--font-mono);font-size:var(--fs-sm);padding:var(--sp-2) var(--sp-3)}.booking-chip.is-blokada{border-left-color:var(--line-strong);background:var(--scrim-2);color:var(--grey)}.booking-chip.is-blokada .booking-dot{background:var(--text-3)}.schedule-day-cell.is-selecting{background:var(--accent-soft)}.schedule-day-table{-webkit-user-select:none;user-select:none}.schedule-day.is-dense td{padding-top:0;padding-bottom:0}.schedule-density{gap:var(--sp-2)}.schedule-day.is-week .schedule-day-cell{min-width:120px}.schedule-day.is-week th.is-today{color:var(--accent)}.schedule-day-cell.is-open{background:var(--surface-2)}.schedule-day-cell.is-closed{background:var(--scrim-1)}.schedule-day-cell.is-closed:hover{background:var(--surface-2)}.schedule-day-cell.is-open.is-selecting,.schedule-day-cell.is-closed.is-selecting{background:var(--accent-soft)}.schedule-day-cell.is-open-start{border-top:2px solid var(--ok)}.schedule-day-cell.is-open-end{border-bottom:2px solid var(--ok)}.schedule-legend{gap:var(--sp-3)}.legend-swatch{width:14px;height:14px;border-radius:var(--r-sm);border:1px solid var(--line);display:inline-block}.legend-swatch.is-open{background:var(--surface-2);border-color:var(--ok)}.legend-swatch.is-closed{background:var(--scrim-1)}.legend-swatch.is-block{background:var(--scrim-2);border-color:var(--line-strong)}.schedule-day-cell.is-gbusy{box-shadow:inset 4px 0 0 var(--text-3)}.schedule-gbusy-label{display:block;padding-left:var(--sp-3);color:var(--text-3);pointer-events:none}.legend-swatch.is-gbusy{box-shadow:inset 4px 0 0 var(--text-3)}.legend-swatch.is-now{height:0;border:0;border-top:3px solid var(--accent);border-radius:0}.schedule-now-wrap{position:relative}.schedule-now-line{position:absolute;height:0;border-top:3px solid var(--accent);pointer-events:none;z-index:1}.schedule-now-label{position:absolute;left:0;top:0;transform:translateY(-50%);background:var(--accent);color:var(--on-accent);font-weight:700;padding:0 var(--sp-2);border-radius:var(--r-pill);line-height:1.5}.schedule-hour-col.is-now{color:var(--accent);font-weight:700}.schedule-span .booking-chip.is-open{position:relative;z-index:2}.booking-chip.is-now{border-color:var(--accent-line);border-left-color:var(--accent);box-shadow:0 0 0 1px var(--accent-line)}.schedule-span .booking-chip.is-bare.is-now{border-color:transparent;box-shadow:none}.booking-standing{display:inline-flex;align-items:center;color:var(--info);flex-shrink:0}.booking-kind-mark{flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1;padding:var(--sp-0) var(--sp-2);border-radius:var(--r-pill);font-weight:700}.booking-kind-mark.is-konsultacja{color:var(--text);background:var(--info);border:1px solid var(--info)}.avail-range.is-gbusy{color:var(--text-3);font-style:italic}.client-hits{margin-top:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.client-hit{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-base);cursor:pointer;border-bottom:1px solid var(--line-soft)}.client-hit:last-child{border-bottom:none}.client-hit:hover{background:var(--surface-2)}.client-picked{padding:var(--sp-3) 0;font-size:var(--fs-md)}.schedule-pending{background:var(--board-2);border:1px solid var(--accent-line);border-radius:var(--r-md);padding:var(--sp-3);margin-bottom:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-2);position:relative;z-index:2;white-space:nowrap}.booking-move{gap:var(--sp-2)}.booking-move .btn:disabled{opacity:.35;cursor:not-allowed}.unit-mark{flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-2xs);line-height:1;padding:var(--sp-0) var(--sp-2);border-radius:var(--r-pill);border:1px solid var(--line);white-space:nowrap;text-transform:none;letter-spacing:0}.unit-mark.is-mid{color:var(--text-2);background:transparent;border-color:var(--line)}.unit-mark.is-start{color:var(--text);background:var(--info);border-color:var(--info);font-weight:700}.unit-mark.is-penultimate,.unit-mark.is-last,.unit-mark.is-over{color:var(--text);background:var(--alert);border-color:var(--alert);font-weight:700}.unit-mark-note.is-start{color:var(--info)}.unit-mark-note.is-penultimate,.unit-mark-note.is-last,.unit-mark-note.is-over{color:var(--alert)}.schedule-day-top-unit{margin-top:var(--sp-2);font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-3);text-transform:none;letter-spacing:0;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1)}.week-nav-label.is-clickable{cursor:pointer;border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2)}.week-nav-label.is-clickable:hover,.week-nav-label.is-clickable.is-on{background:var(--surface-2);color:var(--text)}.day-picker{max-width:340px;margin-bottom:var(--sp-6);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--sp-4);background:var(--surface-2)}.day-picker-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.day-picker-title{font-family:var(--font-display);font-size:var(--fs-md);text-transform:capitalize}.day-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--sp-1)}.day-picker-dow{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-3);text-align:center;padding-bottom:var(--sp-1)}.day-picker-day{position:relative;min-height:36px;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);cursor:pointer}.day-picker-day:hover{background:var(--surface-3)}.day-picker-day.is-outside{color:var(--text-3);opacity:.5}.day-picker-day.is-today{border-color:var(--accent)}.day-picker-day.is-selected{background:var(--accent);color:var(--on-accent)}.day-picker-dot{position:absolute;left:50%;bottom:4px;transform:translate(-50%);width:5px;height:5px;border-radius:var(--r-pill);background:var(--accent)}.day-picker-day.is-selected .day-picker-dot{background:var(--on-accent)}.mg-table th.is-num{font-size:var(--fs-2xs)}.mg-name{white-space:nowrap}@media(max-width:720px){.mg-table th:first-child,.mg-table td.mg-name{position:sticky;left:0;z-index:1;background:var(--board-2);box-shadow:inset -1px 0 0 var(--line);white-space:normal;min-width:120px;max-width:140px}.mg-table .mg-editor-row td>*{position:sticky;left:0;max-width:calc(100vw - 2 * var(--sp-9))}}.mg-cell{text-align:center;white-space:nowrap;cursor:pointer;font-family:var(--font-mono);font-size:var(--fs-xs);border-radius:var(--r-sm)}.mg-cell.is-none{color:var(--text-3);cursor:default}.mg-cell.is-paid{background:var(--ok-soft);color:var(--ok)}.mg-cell.is-due{color:var(--chalk)}.mg-cell.is-soon{background:var(--alert-wash);color:var(--warn)}.mg-cell-fv{font-size:var(--fs-2xs);font-family:var(--font-mono);color:var(--info)}.mg-cell.is-overdue{background:var(--alert-soft);color:var(--alert)}.mg-cell.is-waived{color:var(--grey);font-style:italic}.mg-cell.is-partial:after{content:"*";color:var(--warn)}.mg-cell.is-selected{outline:1px solid var(--accent)}.mg-editor-row td{background:var(--surface-2)}.tx-filters{display:flex;flex-wrap:wrap;gap:var(--sp-5);align-items:center;justify-content:space-between}.tx-search{min-width:200px;margin:0}.tx-table-wrap{overflow-x:auto}.tx-client{cursor:pointer;text-decoration:underline;text-decoration-color:var(--line-strong)}.tx-client:hover{color:var(--accent)}.invoice-row{padding:var(--sp-4) 0;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:var(--sp-2)}.invoice-row:last-child{border-bottom:0}.is-warn-text{color:var(--warn)}.count-badge{display:inline-block;margin-left:var(--sp-2);padding:0 var(--sp-3);border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font-size:var(--fs-2xs);font-family:var(--font-mono);line-height:1.6}.tx-sign{color:var(--grey)}.hub-table tr.is-editing td{border-bottom:none}.mg-legend{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-top:var(--sp-3)}.mg-legend-item{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);color:var(--grey)}.mg-legend-item .mg-cell{cursor:default;padding:var(--sp-1) var(--sp-2)}.dues-badge{font-size:var(--fs-2xs);font-family:var(--font-mono);white-space:nowrap;padding:var(--sp-0) var(--sp-2);border-radius:var(--r-pill);border:1px solid var(--line-on-paper);color:var(--ink-accent)}.dues-badge.is-overdue{color:var(--ink-alert);border-color:var(--ink-alert-line)}.team-header .team-meta.dues-team{color:var(--warn)}.team-header .team-meta.dues-team.is-overdue{color:var(--alert)}.dues-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-5);margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--alert-wash);border:1px solid var(--alert-line);border-radius:var(--r-md);font-size:var(--fs-xs)}.dues-strip-label{font-family:var(--font-display);font-size:var(--fs-2xs);letter-spacing:var(--track-lg);text-transform:uppercase;color:var(--warn)}.dues-strip-item{display:inline-flex;align-items:baseline;gap:var(--sp-2)}.dues-strip-name{color:var(--chalk)}.public-form{max-width:720px;margin:0 auto;padding:var(--sp-7) var(--sp-6) var(--sp-10);display:flex;flex-direction:column;gap:var(--sp-6)}.public-form-head{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4)}.public-form-head .brand-logo{height:48px;width:auto}.public-form-head h1{margin:0;font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:var(--track-sm);color:var(--chalk)}.public-form-head p{margin:0;max-width:52ch;line-height:1.6}.public-form-progress{position:sticky;top:0;z-index:5;padding:var(--sp-4) var(--sp-5);background:var(--board-2);border:1px solid var(--line);border-radius:var(--r-sm)}.public-form .field.is-answered label{color:var(--ok)}.public-form .habit-chip.missed{background:transparent;color:var(--grey);border-color:var(--line);text-decoration:none;opacity:1}.public-form .habit-chip{cursor:pointer}.public-form .habit-chip.missed:hover{color:var(--chalk);border-color:var(--grey)}.public-form .field.has-error input,.public-form .field.has-error textarea{border-color:var(--alert)}.field-error{margin-top:var(--sp-1);font-size:var(--fs-2xs);color:var(--alert)}.public-consent{display:flex;gap:var(--sp-4);align-items:flex-start;cursor:pointer;font-size:var(--fs-sm);color:var(--chalk);line-height:1.5}.public-consent input{margin-top:var(--sp-1);flex:none}.public-consent.has-error span{color:var(--alert)}.public-form-error{padding:var(--sp-5);border-radius:var(--r-md);background:var(--alert-wash);border:1px solid var(--alert-line);display:flex;flex-direction:column;gap:var(--sp-2)}.public-form-error strong{color:var(--alert)}.public-form-done h2{margin:0 0 var(--sp-4);font-family:var(--font-display);font-size:var(--fs-xl);color:var(--chalk)}.public-form-done p{margin:0 0 var(--sp-4);line-height:1.6}@media(max-width:480px){.public-form{padding:var(--sp-5) var(--sp-4) var(--sp-9);gap:var(--sp-5)}.public-form-head h1{font-size:var(--fs-xl)}}.submission-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);cursor:pointer}.submission-row:last-child{border-bottom:none}.submission-row:hover .submission-name{color:var(--accent)}.submission-name{font-size:var(--fs-base);color:var(--chalk)}.submission-sub{display:block;font-size:var(--fs-2xs);color:var(--grey);font-family:var(--font-mono)}.notice-row{cursor:default;flex-wrap:wrap}.notice-row.is-urgent{border-left:3px solid var(--warn);padding-left:var(--sp-4)}.notice-row .notice-text{display:block;font-size:var(--fs-sm);color:var(--text)}.count-badge.is-urgent{background:var(--alert);color:var(--text)}.urgent-bar{background:var(--accent-wash);border-bottom:2px solid var(--accent);padding:var(--sp-5) var(--sp-7);display:flex;flex-direction:column;gap:var(--sp-3);font-size:var(--fs-sm);color:var(--text)}.urgent-bar-head{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;color:var(--accent)}.urgent-bar-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap}.urgent-bar-when{font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:600;background:var(--accent);color:var(--on-accent);border-radius:var(--r-pill);padding:0 var(--sp-3)}.urgent-bar-sig{color:var(--grey);font-family:var(--font-mono);font-size:var(--fs-2xs)}.reminders-today-bar{background:var(--accent-wash);border:2px solid var(--accent);border-radius:var(--r-sm);padding:var(--sp-6) var(--sp-7);margin-bottom:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-2)}.reminders-today-bar-head{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;color:var(--accent);margin-bottom:var(--sp-2)}.reminders-today-bar .leaderboard-row{border-bottom:1px solid var(--accent-line)}.reminders-today-bar .leaderboard-row:last-child{border-bottom:none}.reminders-today-bar .lb-name{flex:0 0 auto}.btn.is-on{color:var(--accent);border-color:var(--accent-line)}.push-toggle{white-space:nowrap}@media(max-width:1280px){.push-toggle-label{display:none}.topbar-email{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:1100px){.topbar-email{display:none}}.update-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--sp-5);padding:var(--sp-4) var(--sp-7);background:var(--info-soft);border-bottom:1px solid var(--info-line);color:var(--text);font-size:var(--fs-sm)}.control-meeting-open{display:flex;flex-direction:column;gap:var(--sp-3)}.control-meeting-form{display:flex;flex-direction:column;gap:var(--sp-4);margin-top:var(--sp-3)}.control-meeting-note{white-space:pre-wrap;color:var(--chalk);border-left:2px solid var(--line-strong);padding-left:var(--sp-4)}.control-meeting-invite{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-4)}.control-meeting-past{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.control-meeting-past:last-child{border-bottom:none}.submission-answers{max-height:46vh;overflow-y:auto}.public-privacy{margin-top:var(--sp-5);border-top:1px solid var(--line);padding-top:var(--sp-4)}.public-privacy summary{cursor:pointer;font-size:var(--fs-xs);color:var(--grey);letter-spacing:var(--track-md);text-transform:uppercase}.public-privacy summary:hover{color:var(--chalk)}.public-privacy dl{margin:var(--sp-5) 0 0;display:flex;flex-direction:column;gap:var(--sp-5)}.public-privacy dt{font-size:var(--fs-2xs);color:var(--grey);text-transform:uppercase;letter-spacing:var(--track-md);margin-bottom:var(--sp-1)}.public-privacy dd{margin:0;font-size:var(--fs-sm);color:var(--chalk);line-height:1.6}.modal-wide{max-width:760px}.mealplan-target{font-size:var(--fs-sm);color:var(--text-2);line-height:1.5}.mealplan-detected{margin-top:var(--sp-5);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);background:var(--info-soft);border:1px solid var(--info-line)}.mealplan-detected-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-3);margin-bottom:var(--sp-3)}.mealplan-detected-row{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-2);flex-wrap:wrap}.mealplan-detected-src{font-size:var(--fs-xs);color:var(--text-3)}.mealplan-detected-note{font-size:var(--fs-2xs);color:var(--text-3);margin-top:var(--sp-3);line-height:1.5}.mealplan-preview{margin-top:var(--sp-6);max-height:46vh;overflow-y:auto;padding-right:var(--sp-3)}.mealplan-days{margin-top:var(--sp-5)}.mealplan-day{border:1px solid var(--line);border-radius:var(--r-md);margin-bottom:var(--sp-3);overflow:hidden}.mealplan-day.is-open{border-color:var(--line-strong)}.mealplan-day-head{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5);cursor:pointer;background:var(--surface-2)}.mealplan-day-name{font-family:var(--font-display);font-size:var(--fs-sm);flex:1}.mealplan-day-sum{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent)}.mealplan-meal{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--line-soft)}.mealplan-meal-head{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:baseline}.mealplan-meal-name{font-size:var(--fs-sm);color:var(--text)}.mealplan-meal-macro{font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-3);white-space:nowrap}.mealplan-meal-items{font-size:var(--fs-xs);color:var(--text-2);line-height:1.5;margin-top:var(--sp-2)}.mealplan-meal.has-check{display:flex;gap:var(--sp-4);align-items:flex-start}.mealplan-meal-body{flex:1;min-width:0}.mealplan-check{flex:0 0 auto;width:var(--sp-9);height:var(--sp-9);padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:transparent;color:var(--green);font-size:var(--fs-lg);cursor:pointer;transition:background var(--ease-fast),border-color var(--ease-fast)}.mealplan-check:hover{border-color:var(--ok-line)}.mealplan-check.is-on{background:var(--ok-soft);border-color:var(--ok-line)}.mealplan-meal.is-eaten .mealplan-meal-name,.mealplan-meal.is-eaten .mealplan-meal-items{color:var(--text-3)}.mealplan-day.is-active{border-color:var(--ok-line)}.mealplan-day.is-active .mealplan-day-name{white-space:nowrap}.mealplan-day-badge{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-2);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--line);white-space:nowrap}.mealplan-day-badge.is-full{color:var(--green);border-color:var(--ok-line);background:var(--ok-soft)}.menu-score{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-3)}.menu-dates{display:flex;gap:var(--sp-3);flex-wrap:wrap}.menu-date{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-1);padding:var(--sp-3) var(--sp-5);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text-2);cursor:pointer;font-family:inherit}.menu-date.is-active{border-color:var(--accent-line);background:var(--accent-wash);color:var(--text)}.menu-date-label{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-3)}.menu-date-pts{font-family:var(--font-mono);font-size:var(--fs-md)}.menu-date.is-full .menu-date-pts{color:var(--green)}.menu-summary{font-size:var(--fs-xs);color:var(--text-2);line-height:1.5}.menu-summary b{color:var(--accent);font-weight:600}.menu-conflict{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--warn-line);background:var(--warn-soft);font-size:var(--fs-xs);color:var(--text);line-height:1.5}.menu-full{padding:var(--sp-4) var(--sp-5);border-top:1px solid var(--line-soft);font-size:var(--fs-xs);color:var(--green);background:var(--ok-wash)}.meal-rating{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap}.meal-rating-end{font-size:var(--fs-2xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-3)}.meal-rating-btn{width:var(--sp-8);height:var(--sp-8);padding:0;border-radius:var(--r-sm);border:1px solid var(--line);background:transparent;color:var(--text-2);font-family:var(--font-mono);font-size:var(--fs-xs);cursor:pointer}.meal-rating-btn:hover{border-color:var(--accent-line)}.meal-rating-btn.is-on{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.menu-disliked{font-size:var(--fs-xs);color:var(--text-2);line-height:1.5}.mealplan-shopping{margin-top:var(--sp-5);padding-top:var(--sp-5);border-top:1px solid var(--line)}.mealplan-shopping-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-3);margin-bottom:var(--sp-3)}.mealplan-shopping-list{display:flex;gap:var(--sp-2);flex-wrap:wrap}.lead-filters{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}.lead-list{display:flex;flex-direction:column}.lead-row{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-4);border-bottom:1px solid var(--line);border-left:3px solid transparent;cursor:pointer}.lead-row:last-child{border-bottom:none}.lead-row:hover{background:var(--surface-2)}.lead-row.is-stale{border-left-color:var(--warn);background:var(--warn-soft)}.lead-row-main{display:flex;flex-direction:column;gap:var(--sp-1);flex:1;min-width:180px}.lead-row-name{font-size:var(--fs-md);font-weight:600}.lead-row-meta{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.lead-funnel{display:flex;gap:var(--sp-4);overflow-x:auto;padding-bottom:var(--sp-4);align-items:flex-start}.lead-col{flex:0 0 220px;background:var(--board-2);border:1px solid var(--line);border-top:3px solid var(--line-strong);border-radius:var(--r-md);padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);min-height:120px}.lead-col.is-accent{border-top-color:var(--accent)}.lead-col.is-warn{border-top-color:var(--warn)}.lead-col.is-info{border-top-color:var(--info)}.lead-col.is-ok{border-top-color:var(--ok)}.lead-col.is-neutral{border-top-color:var(--line-strong)}.lead-col.is-over{background:var(--accent-wash);border-color:var(--accent-line)}.lead-col-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.lead-col-title{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--track-sm);color:var(--text-2)}.lead-col-empty{color:var(--text-3);font-size:var(--fs-xs);text-align:center;padding:var(--sp-4) 0}.lead-card{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid transparent;border-radius:var(--r-sm);padding:var(--sp-4);cursor:pointer;display:flex;flex-direction:column;gap:var(--sp-1)}.lead-card:hover{border-color:var(--line-strong)}.lead-card.is-stale{border-left-color:var(--warn)}.lead-card.is-dragging{opacity:.45}.lead-card-name{font-size:var(--fs-base);font-weight:600}.lead-card-idle{font-size:var(--fs-2xs);color:var(--text-3);font-family:var(--font-mono)}.lead-move{margin-top:var(--sp-2);width:100%}.lead-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4)}.lead-facts>div{display:flex;flex-direction:column;gap:var(--sp-1);font-size:var(--fs-base)}.lead-inline-select{max-width:100%}.lead-note-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:var(--sp-4);font-size:var(--fs-base);color:var(--text-2)}.lead-status-picker{display:flex;gap:var(--sp-2);flex-wrap:wrap}.goal-pill.is-filter.is-locked{cursor:default;opacity:.5}.lead-pending{margin-top:var(--sp-4);padding:var(--sp-5);border:1px solid var(--accent-line);border-radius:var(--r-md);background:var(--accent-wash)}.lead-funnel-row{padding:var(--sp-2) 0}.lead-history{display:flex;flex-direction:column}.lead-history-row{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--fs-base)}.lead-history-row:last-child{border-bottom:none}.lead-dot{width:8px;height:8px;border-radius:var(--r-pill);background:var(--line-strong);flex:0 0 auto}.lead-dot.is-ok{background:var(--ok)}.lead-dot.is-info{background:var(--info)}.lead-dot.is-accent{background:var(--accent)}.lead-todo-list{display:flex;flex-direction:column}.lead-todo-row{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap;padding:var(--sp-4) 0;border-bottom:1px solid var(--line)}.lead-todo-row:last-child{border-bottom:none}.lead-todo-main{display:flex;flex-direction:column;gap:var(--sp-2);flex:1;min-width:220px}@media(max-width:720px){.lead-col{flex-basis:180px}.lead-row-meta{gap:var(--sp-3)}}.schedule-policy-note{font-size:var(--fs-sm);font-weight:600;color:var(--accent);line-height:1.5;background:var(--accent-wash);border-radius:var(--r-md);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-5)}.upcoming-item{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);padding:var(--sp-3) 0;border-bottom:1px solid var(--line)}.upcoming-item:last-of-type{border-bottom:none}.upcoming-when{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--accent);white-space:nowrap;min-width:12em}.upcoming-what{font-size:var(--fs-base);color:var(--chalk);flex:1;min-width:0}.upcoming-item.is-cancelled .upcoming-when,.upcoming-item.is-cancelled .upcoming-what{color:var(--text-2);text-decoration:line-through}.upcoming-item-sub{flex-basis:100%;display:flex;flex-direction:column;gap:var(--sp-2);padding-top:var(--sp-2)}
