.gsi-material-button{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:none;border:1px solid #747775;border-radius:4px;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,Helvetica Neue,arial,sans-serif;font-size:14px;height:40px;letter-spacing:.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;text-decoration:none;transition:background-color .218s,border-color .218s,color .218s,box-shadow .218s;vertical-align:middle;white-space:nowrap;display:block;width:100%;max-width:400px}.gsi-material-button .gsi-material-button-icon{height:20px;min-width:20px;width:20px}.gsi-material-button .gsi-material-button-content-wrapper{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;height:100%;justify-content:space-between;position:relative;width:100%}.gsi-material-button .gsi-material-button-contents{color:#1f1f1f;transition:color .218s;flex-grow:1;font-family:Roboto,Helvetica Neue,arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.gsi-material-button .gsi-material-button-spacer{min-width:20px;width:20px}.gsi-material-button .gsi-material-button-state{inset:0;opacity:0;position:absolute;transition:opacity .218s}.gsi-material-button:hover{box-shadow:0 1px 2px #3c40434d,0 1px 3px 1px #3c404326}.gsi-material-button:hover .gsi-material-button-state{background-color:#303030;opacity:8%}.gsi-material-button:focus-visible .gsi-material-button-state,.gsi-material-button:active .gsi-material-button-state{background-color:#303030;opacity:12%}[data-theme=dark] .gsi-material-button{background-color:#131314;border-color:#8e918f;color:#e3e3e3}[data-theme=dark] .gsi-material-button .gsi-material-button-contents{color:#e3e3e3}[data-theme=dark] .gsi-material-button:hover .gsi-material-button-state{background-color:#fff;opacity:8%}[data-theme=dark] .gsi-material-button:focus-visible .gsi-material-button-state,[data-theme=dark] .gsi-material-button:active .gsi-material-button-state{background-color:#fff;opacity:12%}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--gut)}.auth-card{width:min(440px,100%);background:var(--card);border-radius:28px;box-shadow:var(--shadow-lg);padding:clamp(28px,4vw,40px);display:grid;gap:14px}.auth-card .wordmark{margin-bottom:4px}.auth-card h1.display,.modal-card h2.display{font-size:clamp(26px,4vw,34px);font-weight:600;letter-spacing:-.02em}.auth form{display:grid;gap:14px}.auth form .btn{min-height:48px;font-size:15px}.auth .msg,.form-msg{font-family:var(--f-ui);font-size:13px;min-height:1.2em;margin:0}.auth .msg.error,.form-msg.error{color:var(--danger)}.auth .msg.ok,.form-msg.ok{color:var(--ink-2)}.auth-or{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;margin:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.auth-or:before,.auth-or:after{content:"";height:1px;background:var(--line)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;width:min(240px,calc(100% - 48px));padding:4px;background:var(--paper);border-radius:var(--r-pill)}.auth-tab{font-family:var(--f-ui);font-size:13px;font-weight:600;padding:9px 8px;min-height:40px;background:transparent;color:var(--muted);border:0;border-radius:var(--r-pill);cursor:pointer;transition:color .14s ease,background-color .14s ease}.auth-tab:hover{color:var(--ink)}.auth-tab.is-on{background:var(--ink);color:var(--card)}.auth-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing{background:var(--paper);color:var(--ink)}.landing p{margin:0}.landing .wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}.landing .cap--accent{color:var(--accent)}.landing .lede{font-size:clamp(17px,1.5vw,20px);line-height:1.65;max-width:40ch}.landing h1.display{font-size:clamp(38px,5.4vw,78px)}.landing h2.display{font-size:clamp(30px,3.6vw,48px)}.landing h3.display{font-size:clamp(20px,1.8vw,26px)}.landing .btn--lg{font-size:17px;padding:18px 30px;min-height:56px}.landing header.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.landing .nav-in{display:flex;align-items:center;gap:28px;height:80px}.landing .wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:600;font-size:20px;letter-spacing:.02em}.landing .wordmark .glyph{width:40px;height:32px}.landing .nav-links{display:flex;gap:32px;margin-left:auto;font-family:var(--f-ui);font-size:14.5px;font-weight:500;color:var(--ink-2)}.landing .nav-links a{text-decoration:none}.landing .nav-links a:hover{color:var(--ink)}.landing .nav .btn{padding:11px 20px;min-height:42px;white-space:nowrap}.landing .nav-login{border-color:transparent;background:transparent}@media(max-width:860px){.landing .nav-links,.landing .nav-login{display:none}.landing .theme-toggle{margin-left:auto}}.landing .hero-wrap{padding:8px 24px 0}.landing .hero{position:relative;overflow:hidden;background:var(--slab);color:var(--slab-ink);border-radius:36px;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:end;padding:clamp(48px,6vw,88px) clamp(28px,5vw,72px) 0;max-width:calc(var(--max) + 2 * var(--gut));margin-inline:auto}.landing .hero-mark{position:absolute;right:-8%;top:-12%;width:58%;min-width:420px;opacity:.9;transform:rotate(4deg);pointer-events:none}.landing .hero-copy{position:relative;z-index:1;display:grid;gap:30px;padding-bottom:clamp(48px,6vw,88px)}.landing .hero-copy .display{color:var(--slab-ink)}.landing .hero-copy .em{color:var(--accent)}.landing .hero-copy .lede{color:var(--slab-mut)}.landing .hero-cta{display:grid;gap:14px;justify-items:start}.landing .hero-note{font-family:var(--f-ui);font-size:13.5px;color:var(--slab-mut)}.landing .hero-visual{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;min-height:560px}@media(max-width:940px){.landing .hero{grid-template-columns:1fr;gap:24px}.landing .hero-copy{padding-bottom:0}.landing .hero-visual{min-height:0;margin-top:12px}.landing .hero-mark{width:110%;min-width:0;right:-48%;top:-4%;opacity:.55}}@media(max-width:520px){.landing .nav-in{gap:12px;height:68px}.landing .nav .btn{padding:10px 16px;font-size:13.5px}.landing .wordmark{font-size:18px}.landing .wordmark .glyph{width:32px;height:26px}}.landing .phone{width:300px;background:var(--slab-2);border-radius:40px 40px 0 0;padding:12px 12px 0;transform:translateY(0);font-family:var(--f-ui)}.landing .phone-screen{background:#fff;color:#0b0b0d;border-radius:30px 30px 0 0;padding:38px 16px 22px;display:grid;gap:14px}.landing .ph-who{display:flex;align-items:center;gap:10px}.landing .ph-avatar{width:40px;height:40px;border-radius:999px;background:#f2f1eb;display:grid;place-items:center;font-weight:600;font-size:13px}.landing .ph-who-txt{display:grid}.landing .ph-small{font-size:11.5px;color:#76766c}.landing .ph-name{font-weight:600;font-size:15px}.landing .ph-days{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.landing .ph-day{display:grid;gap:3px;border-radius:12px;background:#f2f1eb;padding:8px 0;text-align:center;font-size:11px}.landing .ph-day .ph-d{color:#76766c}.landing .ph-day .ph-n{font-weight:600;font-size:14px}.landing .ph-day.on{background:#0b0b0d;color:#fff}.landing .ph-day.on .ph-d{color:var(--accent)}.landing .ph-slots{display:grid;gap:7px}.landing .ph-slot{display:flex;justify-content:space-between;border:1.5px solid #e3e1d6;border-radius:14px;padding:10px 12px;font-size:13px}.landing .ph-slot.sel{background:var(--accent);border-color:var(--accent);font-weight:600}.landing .ph-line{display:flex;justify-content:space-between;align-items:center;background:#f2f1eb;border-radius:14px;padding:10px 12px;font-size:13px}.landing .ph-price{font-weight:600}.landing .ph-pay{display:grid;place-items:center;background:#0b0b0d;color:#fff;border-radius:999px;padding:13px;font-size:14px;font-weight:600}.landing .toast-card{position:absolute;left:-4%;top:34%;display:flex;align-items:center;gap:12px;background:#fff;color:#0b0b0d;border-radius:18px;padding:12px 16px 12px 12px;box-shadow:0 12px 32px #0b0b0d3d;font-family:var(--f-ui)}.landing .toast-card .glyph{width:30px;height:24px}.landing .toast-txt{display:grid;gap:1px;font-size:12px;color:#76766c}.landing .toast-txt strong{font-size:14px;color:#0b0b0d}@media(max-width:520px){.landing .toast-card{display:none}.landing .phone{width:260px}}.landing .audience-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-block:28px 8px;font-family:var(--f-ui);font-size:14px;color:var(--ink-2)}.landing .aud{background:var(--card);border-radius:var(--r-pill);padding:8px 16px}.landing .pad{padding-block:clamp(64px,8vw,112px)}.landing .sec-head{display:grid;gap:18px;max-width:60ch;margin-bottom:clamp(32px,5vw,56px)}.landing .sec-head--center{margin-inline:auto;text-align:center;justify-items:center}.landing .sec-head .body{font-size:18px;color:var(--ink-2);max-width:44ch}.landing .promises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:28px}.landing .promise{display:grid;gap:20px;align-content:start;min-height:380px;background:var(--card);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.landing .promise:nth-child(2){transform:translateY(28px)}.landing .promise .ico{width:46px;height:46px;border-radius:15px;background:var(--accent);color:#0b0b0d;display:grid;place-items:center}.landing .promise .ico svg{width:22px;height:22px}.landing .promise p{font-size:16px;line-height:1.65;color:var(--ink-2)}.landing .demo{margin-top:auto;background:var(--paper);border-radius:18px;padding:14px 16px;display:grid;gap:8px;font-family:var(--f-ui);font-size:13px}.landing .demo-row{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.landing .demo-row strong{color:var(--ink);font-weight:600}.landing .demo-list{gap:0}.landing .demo-list .demo-row{padding:7px 0;border-bottom:1px solid var(--line)}.landing .demo-list .demo-row:last-child{border-bottom:none}.landing .demo-bars{display:flex;gap:6px}.landing .demo-bars i{flex:1;height:8px;border-radius:999px;background:var(--line)}.landing .demo-bars i.on{background:var(--ink)}.landing .demo-big{font-family:var(--f-display);font-weight:600;letter-spacing:-.03em;font-size:36px;line-height:1;color:var(--ink)}.landing .demo-sub{color:var(--muted)}@media(max-width:900px){.landing .promises{grid-template-columns:1fr}.landing .promise{min-height:0}.landing .promise:nth-child(2){transform:none}}.landing .how{position:relative;overflow:hidden;background:var(--slab);color:var(--slab-ink)}.landing .how-mark{position:absolute;right:-6%;top:-10%;width:44%;min-width:380px;opacity:.08;transform:rotate(6deg);pointer-events:none}.landing .how-in{position:relative;display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(32px,6vw,80px);align-items:start;padding-block:clamp(64px,8vw,96px)}.landing .how-copy{display:grid;gap:20px;justify-items:start}.landing .how-copy .display{color:var(--slab-ink)}.landing .how-copy p{font-size:17px;line-height:1.65;color:var(--slab-mut)}.landing .steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.landing .step{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;align-items:center;background:var(--slab-2);border-radius:22px;padding:26px 28px}.landing .step .no{font-size:40px;color:var(--accent);line-height:1}.landing .step-txt{display:grid;gap:6px}.landing .step-txt strong{font-family:var(--f-display);font-weight:600;font-size:20px;letter-spacing:-.02em}.landing .step-txt span{font-size:15px;line-height:1.55;color:var(--slab-mut)}@media(max-width:860px){.landing .how-in{grid-template-columns:1fr}}.landing .onlyplan{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);max-width:1040px;margin-inline:auto;border-radius:32px;overflow:hidden;background:var(--card);box-shadow:var(--shadow)}@media(max-width:860px){.landing .onlyplan{grid-template-columns:1fr}}.landing .plan-key{position:relative;overflow:hidden;background:var(--slab);color:var(--slab-ink);padding:clamp(28px,3.5vw,44px);display:grid;gap:18px;align-content:start;justify-items:start}.landing .plan-mark{position:absolute;right:-40px;bottom:-30px;width:260px;opacity:.12;pointer-events:none}.landing .plan-key>*{position:relative}.landing .flag{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--accent);color:#0b0b0d;padding:6px 12px;border-radius:var(--r-pill)}.landing .price{font-family:var(--f-display);font-weight:600;font-size:clamp(56px,7vw,88px);line-height:1;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums;min-height:1em}.landing .price small{font-family:var(--f-ui);font-size:15px;font-weight:500;letter-spacing:0;color:var(--slab-mut);margin-left:10px;white-space:nowrap}.landing .price .was{font-size:.4em;color:var(--slab-mut);text-decoration-thickness:2px;margin-right:.3em;vertical-align:middle;font-weight:500}.landing .plan-key .save{font-family:var(--f-ui);font-size:13.5px;color:var(--slab-ink)}.landing .plan-key .save strong{color:var(--accent);font-weight:600}.landing .plan-key .sub{font-size:16px;line-height:1.6;color:var(--slab-mut);max-width:32ch}.landing .plan-key .fine{font-family:var(--f-ui);font-size:12.5px;color:var(--slab-mut)}.landing .plan-incl{padding:clamp(28px,3.5vw,44px);display:grid;gap:22px;align-content:start}.landing .plan-incl h3{margin:0;font-family:var(--f-display);font-weight:600;font-size:18px;letter-spacing:-.01em}.landing .plan-incl ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;font-family:var(--f-ui);font-size:14.5px;color:var(--ink-2)}@media(max-width:620px){.landing .plan-incl ul{grid-template-columns:1fr}}.landing .plan-incl li{display:flex;gap:10px;line-height:1.4}.landing .plan-incl li svg{flex:none;margin-top:2px}.landing .close-cta{position:relative;overflow:hidden;margin:0 24px 24px;background:var(--accent);color:#0b0b0d;border-radius:36px;max-width:calc(var(--max) + 2 * var(--gut) - 48px);margin-inline:auto}.landing .close-mark{position:absolute;left:46%;top:-60px;width:520px;opacity:.1;transform:rotate(-8deg);pointer-events:none}.landing .close-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;padding:clamp(56px,7vw,88px) clamp(28px,5vw,72px)}.landing .close-copy{display:grid;gap:22px}.landing .close-cta .display{max-width:15ch;font-size:clamp(34px,4.6vw,60px);color:#0b0b0d}.landing .close-cta p{font-size:19px;line-height:1.6;color:#0b0b0db8;max-width:40ch}.landing .close-cta .btn--ink{white-space:nowrap;color:var(--accent)}@media(max-width:860px){.landing .close-in{flex-direction:column;align-items:flex-start}.landing .close-mark{display:none}}@media(max-width:520px){.landing .close-cta,.landing .hero-wrap{margin-inline:12px;padding-inline:0}}.landing footer{padding-block:32px 44px;font-family:var(--f-ui);font-size:13.5px;color:var(--muted)}.landing .foot{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.landing .foot .wordmark .glyph{width:30px;height:24px}.landing .foot-nav{display:flex;flex-wrap:wrap;gap:22px;margin-left:auto}.landing .foot-nav a,.landing .foot-login{color:var(--muted);text-decoration:none;background:none;border:0;padding:0;font:inherit;cursor:pointer}.landing .foot-nav a:hover,.landing .foot-login:hover{color:var(--ink)}.landing .rise{opacity:0;transform:translateY(14px)}.landing .rise.in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.3,1)}@media(prefers-reduced-motion:reduce){.landing .rise,.landing .rise.in{opacity:1;transform:none;transition:none}}.landing .promise.rise.in:nth-child(2){transform:translateY(28px)}@media(max-width:900px){.landing .promise.rise.in:nth-child(2){transform:none}}.landing .modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:var(--gut)}.landing .modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,#0b0b0d 55%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.landing .modal-card{position:relative;width:min(440px,100%);background:var(--card);border-radius:28px;box-shadow:var(--shadow-lg);padding:clamp(26px,4vw,40px);display:grid;gap:14px}.landing .modal-x{position:absolute;top:16px;right:16px;width:40px;height:40px;display:grid;place-items:center;background:var(--chip);border:none;border-radius:var(--r-pill);font-size:24px;line-height:1;color:var(--ink-2);cursor:pointer}.landing .modal-x:hover{background:var(--ink);color:var(--card)}.landing #login-form,.landing .modal-card form{display:grid;gap:14px;margin-top:6px}.landing .modal-card form .btn{justify-content:center;margin-top:4px;min-height:48px;font-size:15px}.legal{min-height:100dvh;background:var(--paper);color:var(--ink)}.legal .wrap{max-width:760px;margin-inline:auto;padding-inline:var(--gut)}.legal-top{display:flex;align-items:center;gap:16px;padding-block:24px;border-bottom:1px solid var(--line)}.legal-top .wordmark{display:inline-flex;align-items:center;text-decoration:none}.legal-top .glyph{width:30px;height:24px}.legal-top .spacer{margin-left:auto}.legal-top .back{font-family:var(--f-ui);font-size:14px;color:var(--muted);text-decoration:none}.legal-top .back:hover{color:var(--ink)}.legal article{padding-block:40px 72px}.legal h1{font-family:var(--f-display);font-size:clamp(30px,5vw,42px);line-height:1.1;letter-spacing:-.02em;margin:0 0 8px}.legal .effective{font-family:var(--f-ui);font-size:13.5px;color:var(--muted);margin:0 0 8px}.legal .draft{font-family:var(--f-ui);font-size:13.5px;line-height:1.5;color:var(--ink-2);background:var(--sunk);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;margin:18px 0 0}.legal h2{font-family:var(--f-display);font-size:20px;letter-spacing:-.01em;margin:40px 0 10px;padding-top:20px;border-top:1px solid var(--line)}.legal h3{font-family:var(--f-display);font-size:16px;margin:24px 0 6px}.legal p,.legal li{font-family:var(--f-body);font-size:16.5px;line-height:1.7;color:var(--ink-2)}.legal p{margin:0 0 14px}.legal ul{margin:0 0 14px;padding-left:22px}.legal li{margin-bottom:8px}.legal strong{color:var(--ink);font-weight:600}.legal a{color:var(--ink);text-underline-offset:3px}.legal .legal-foot{border-top:1px solid var(--line);padding-block:24px 48px;font-family:var(--f-ui);font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap;gap:20px}.legal .legal-foot a{color:var(--muted);text-decoration:none}.legal .legal-foot a:hover{color:var(--ink)}.modal{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px;background:color-mix(in srgb,#0b0b0d 55%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overflow-y:auto}.modal-card{width:100%;max-width:560px;background:var(--card);border-radius:28px;box-shadow:var(--shadow-lg)}.modal-card--lg{max-width:640px}.modal-hd{display:flex;align-items:flex-start;gap:12px;padding:24px 26px 16px}.modal-hd h2{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;font-size:24px;line-height:1.15;margin:0}.modal-hd .sub2{font-family:var(--f-ui);font-size:13px;color:var(--muted);margin:4px 0 0}.modal-x{margin-left:auto;flex:none;background:var(--chip);border:0;border-radius:var(--r-pill);color:var(--ink-2);font-size:22px;line-height:1;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;transition:background-color .12s ease,color .12s ease}.modal-x:hover{background:var(--ink);color:var(--card)}.modal-bd{padding:4px 26px 26px;display:grid;gap:22px}@media(max-width:520px){.modal{padding:0;align-items:stretch}.modal-card{border-radius:0;min-height:100dvh}}.sec-h{font-family:var(--f-ui);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:600}.empty-note{color:var(--muted);font-size:13.5px}.mini{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed;font-family:var(--f-ui)}.mini th{text-align:left;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 6px;border-bottom:none}.mini td{padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink-2);overflow-wrap:anywhere}.mini tr:last-child td{border-bottom:none}.mini td.r,.mini th.r{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}.kv-row{display:flex;flex-wrap:wrap;gap:8px 22px}.kv{display:grid;gap:2px}.kv .k{font-family:var(--f-ui);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.kv .v{font-family:var(--f-ui);font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums}.note-item{display:grid;gap:3px;padding:10px 0;border-bottom:1px solid var(--line)}.note-item:last-child{border-bottom:none}.note-item .who{font-family:var(--f-ui);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.note-item .body{font-size:15px;color:var(--ink-2)}.note-compose{display:grid;gap:8px}.note-compose textarea{width:100%;box-sizing:border-box;min-height:80px;resize:vertical;font-family:var(--f-body);font-size:16px;padding:12px 14px;background:var(--paper);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-ctl)}.note-compose textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.note-compose .row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.note-compose .status{font-family:var(--f-ui);font-size:12.5px;color:var(--muted)}.page-h{font-family:var(--f-display);font-size:32px;font-weight:500;letter-spacing:-.03em;margin:6px 0}.page-sub{color:var(--ink-2);max-width:56ch;margin:0 0 22px;line-height:1.6}.sched-card{padding:20px 22px 22px;margin-bottom:18px}.tz-pick{display:inline-flex;align-items:center;gap:8px}.tz-pick span{font-family:var(--f-ui);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tz-pick select,.exc-form select,.exc-form input,.de-times input,.de-times select{background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:7px 14px;font-family:var(--f-ui);font-size:14px;min-height:40px}.tz-pick select:focus-visible,.de-times input:focus-visible,.de-times select:focus-visible,.exc-form input:focus-visible,.exc-form select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.exc-list{list-style:none;margin:10px 0 14px;padding:0;display:grid;gap:6px}.exc{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--paper);border-radius:var(--r-ctl)}.exc.extra{background:color-mix(in srgb,var(--accent) 16%,var(--card))}.exc-date{font-family:var(--f-ui);font-weight:600;font-size:13px;min-width:140px}.exc-what{color:var(--ink-2);font-size:14px}.exc .ex-x{margin-left:auto}.exc-form{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.exc-form .fld{gap:4px}.slot-picker{display:grid;gap:18px}.slot-day-h{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.slot-chips{display:flex;flex-wrap:wrap;gap:8px}.slot-chip{font-family:var(--f-ui);font-size:14px}.slot-confirm{display:inline-flex;gap:6px;align-items:center}.booked-note{text-align:center;padding:26px 12px}.booked-h{font-family:var(--f-display);font-size:21px;font-weight:600;margin:0 0 4px}.booked-when{font-family:var(--f-ui);font-weight:600;font-size:14px;color:var(--ink);background:var(--accent);display:inline-block;padding:4px 12px;border-radius:var(--r-pill);margin:0 0 16px}.feed-blurb{max-width:62ch;margin:0 0 12px;line-height:1.6}.feed-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.feed-url{flex:1;min-width:220px;background:var(--paper);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:9px 14px;font-family:var(--f-code);font-size:12px;min-height:42px}.feed-url:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.linkish{background:none;border:none;padding:0;font:inherit;color:var(--ink);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow)}.card .sec-h{margin-bottom:12px}.booking-terms{font-family:var(--f-ui);font-size:13.5px;color:var(--ink-2);background:var(--sunk);border-radius:var(--r-ctl);padding:10px 14px;margin:0 0 14px}.wk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.wk-nav{display:flex;align-items:center;gap:6px}.wk-range{font-family:var(--f-ui);font-weight:600;font-size:14px;margin-left:8px}.wk-scroll{overflow-x:auto}.wk{--wk-gut: 52px;min-width:0}.wk-head,.wk-body{display:grid;grid-template-columns:var(--wk-gut) repeat(var(--wk-cols),minmax(0,1fr))}.wk-head{position:sticky;top:0;z-index:2;background:var(--card);border-bottom:1.5px solid var(--line)}.wk-day-h{display:grid;justify-items:center;gap:1px;padding:6px 2px 8px;background:none;border:none;border-radius:var(--r-sm);cursor:pointer;color:var(--ink)}.wk-day-h:hover{background:var(--chip)}.wk-dow{font-family:var(--f-ui);font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.wk-dom{font-family:var(--f-display);font-size:20px;font-weight:500;line-height:1.2;width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.wk-day-h.today .wk-dom{background:var(--accent);color:var(--on-accent)}.wk-sum{font-family:var(--f-ui);font-size:11px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wk-body{position:relative}.wk-body>.wk-gutter{position:relative}.wk-hour{position:absolute;right:8px;transform:translateY(-50%);font-family:var(--f-ui);font-size:10.5px;color:var(--muted);white-space:nowrap}.wk-hour:first-child{transform:none}.wk-col{position:relative;border-left:1px solid var(--line);cursor:pointer}.wk-col:focus{outline:none}.wk-col:hover{background:color-mix(in srgb,var(--chip) 60%,transparent)}.wk-line{position:absolute;left:0;right:0;border-top:1px solid var(--line)}.wk-block{position:absolute;left:3px;right:3px;border-radius:8px;overflow:hidden;font-family:var(--f-ui);font-size:11px;line-height:1.25;padding:3px 6px}.wk-open{background:color-mix(in srgb,var(--accent) 22%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 60%,var(--card));color:var(--ink-2)}.wk-open span{font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:9.5px}.wk-busy{background:repeating-linear-gradient(135deg,var(--sunk) 0 6px,color-mix(in srgb,var(--sunk) 55%,var(--card)) 6px 12px);border:1px solid var(--line);color:var(--muted);left:12px}.wk-session{background:var(--slab);color:var(--slab-ink);left:8px;display:grid;align-content:start;gap:1px;cursor:default;z-index:1}.wk-session.held{background:var(--slab-2);outline:1.5px dashed var(--accent);outline-offset:-2px}.wk-s-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-s-meta{color:var(--slab-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wk-chips{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:10px}.wk-chip{display:grid;justify-items:center;gap:2px;padding:6px 0;background:var(--paper);border:1.5px solid transparent;border-radius:var(--r-ctl);font-family:var(--f-ui);font-size:11px;color:var(--muted);cursor:pointer}.wk-chip b{font-size:15px;color:var(--ink);font-weight:600}.wk-chip.on{border-color:var(--ink);background:var(--card)}.wk-legend{list-style:none;display:flex;flex-wrap:wrap;gap:14px;margin:12px 0 0;padding:0;font-family:var(--f-ui);font-size:12px;color:var(--ink-2)}.wk-legend li{display:inline-flex;align-items:center;gap:6px}.sw{width:14px;height:14px;border-radius:4px;display:inline-block}.sw.open{background:color-mix(in srgb,var(--accent) 22%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 60%,var(--card))}.sw.session{background:var(--slab)}.sw.busy{background:repeating-linear-gradient(135deg,var(--sunk) 0 3px,var(--card) 3px 6px);border:1px solid var(--line)}@media(max-width:640px){.wk{--wk-gut: 44px}.wk-block{font-size:12px}}.day-editor{display:grid;gap:18px}.de-sec{display:grid;gap:10px;justify-items:start}.de-sec+.de-sec{border-top:1.5px solid var(--line);padding-top:16px}.de-h{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0}.de-toggle{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-ui);font-weight:500;font-size:15px;cursor:pointer}.de-toggle input{width:18px;height:18px;accent-color:var(--ink)}.de-times{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.de-times .to{font-family:var(--f-ui);font-size:12px;color:var(--muted)}.day-count{font-family:var(--f-ui);font-size:12px;font-weight:600;color:var(--ink);margin-left:2px}.day-editor .exc-list{margin:0;width:100%}.sync-options{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.sync-opt{display:grid;gap:8px;align-content:start;justify-items:start;background:var(--paper);border-radius:var(--r-ctl);padding:14px 16px}.sync-opt .hint{margin:0;line-height:1.55}.sync-opt .feed-row{width:100%;margin:0}.sync-opt-h{font-family:var(--f-ui);font-weight:600;font-size:15px;margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sync-pill{font-size:11px;font-weight:600;padding:2px 9px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent) 35%,var(--card))}.sync-pill.warn{background:color-mix(in srgb,var(--danger) 16%,var(--card));color:var(--danger)}.sync-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sync-notice{font-family:var(--f-ui);font-size:13.5px;padding:10px 14px;border-radius:var(--r-ctl);margin:0 0 12px;background:color-mix(in srgb,var(--danger) 12%,var(--card));color:var(--danger)}.sync-notice.ok{background:color-mix(in srgb,var(--accent) 25%,var(--card));color:var(--ink)}.bill-price{font-family:var(--f-display);font-weight:600;letter-spacing:-.03em;font-size:32px;color:var(--ink);margin:10px 0 2px}.bill-status{color:var(--ink-2);font-size:14.5px;margin:0 0 12px}.bill-warn{border-radius:var(--r-ctl);padding:12px 16px;background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--ink);font-size:14px;margin:0 0 12px}.offering-list{margin:0}.offering-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.offering-main{display:flex;align-items:baseline;gap:10px;flex:1 1 auto;min-width:0}.offering-main .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.offering-controls{display:flex;gap:6px;flex:none}.offering-controls .btn{font-size:12.5px;padding:6px 12px;min-height:36px}.offering-list--retired{opacity:.55}.offering-retired-hd{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:16px 0 4px}.offering-form{display:flex;flex-direction:column;gap:12px;padding:12px 0;width:100%}.offering-price{display:flex;gap:12px;flex-wrap:wrap}.offering-price .fld{flex:1 1 120px}.offering-preview{font-size:14px;color:var(--ink-2);margin:0}.offering-preview strong{color:var(--ink);font-family:var(--f-ui)}.offering-actions{display:flex;gap:8px}.form-error{color:var(--danger);font-family:var(--f-ui);font-size:13px;margin:0}.pay-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pay-row .btn{flex:none;font-size:12.5px;padding:6px 12px;min-height:36px}.plan-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:6px 0}.plan-main{display:flex;flex-direction:column;gap:2px;flex:1 1 200px;min-width:0}.plan-desc{font-size:13.5px;color:var(--ink-2)}.plan-row .btn{flex:none}.plan-methods{font-size:13.5px;color:var(--muted);margin:12px 0 0}.plan-skip{margin:18px 0 64px;font-size:14.5px}.plan-skip a{color:var(--ink-2)}.protect-choice{border:0;padding:0;margin:0;display:grid;gap:8px}.protect-choice legend{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.protect-option{display:flex;align-items:flex-start;gap:10px;font-family:var(--f-ui);font-size:14px;color:var(--ink);cursor:pointer}.protect-option input{margin-top:3px;accent-color:var(--accent);width:18px;height:18px;flex:none}.protect-option span{display:grid;gap:2px}.protect-option small{color:var(--muted);font-size:12.5px}.tabs{display:flex;gap:6px;margin:0 0 22px;overflow-x:auto;padding:4px;background:var(--sunk);border-radius:var(--r-pill);width:fit-content;max-width:100%}.tab{font-family:var(--f-ui);font-size:13.5px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:var(--r-pill);padding:10px 18px;cursor:pointer;transition:color .14s ease,background-color .14s ease;white-space:nowrap;min-height:42px}.tab:hover{color:var(--ink)}.tab[aria-selected=true]{color:var(--ink);background:var(--card);box-shadow:var(--shadow)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wo-section+.wo-section{margin-top:28px}.wo-section>.sec-title{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;display:flex;align-items:center;gap:8px}.wo-section>.sec-title .count{color:var(--ink-2)}.wo-grid{display:grid;gap:12px}.wo-card{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);padding:16px 18px;display:flex;align-items:center;gap:16px;cursor:pointer;border:1.5px solid transparent;transition:border-color .12s ease,transform .12s ease}.wo-card:hover{border-color:var(--ink)}.wo-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wo-card .when{flex:none;width:60px;height:60px;border-radius:18px;background:var(--paper);display:grid;place-content:center;text-align:center}.wo-card .when .d{font-family:var(--f-display);font-weight:600;font-size:24px;line-height:1;color:var(--ink)}.wo-card .when .mo{font-family:var(--f-ui);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:3px}.wo-card .body{flex:1;min-width:0;display:grid;gap:4px}.wo-card .title{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;font-size:17px;color:var(--ink)}.wo-card .meta{font-family:var(--f-ui);font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:6px 12px}.wo-card .meta .dot{color:var(--muted)}.wo-empty{color:var(--muted);font-size:14px;padding:6px 0}.wo-card .go{flex:none;display:flex;align-items:center;gap:10px}.wo-note-btn{font-family:var(--f-ui);font-size:12px;font-weight:600;padding:6px 12px;min-height:36px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .12s ease,color .12s ease}.wo-note-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.wo-card .chev{color:var(--muted);font-size:18px}@media(max-width:520px){.wo-card .when{width:50px;height:50px}.wo-note-btn .lbl{display:none}.wo-card{padding:12px;gap:10px}}.panel-link{cursor:pointer;border:1.5px solid transparent;transition:border-color .12s ease}.panel-link:hover{border-color:var(--ink)}.panel-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel-hd .when{margin-left:auto;text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:500}.panel-hd .chev{font-size:16px;color:var(--muted)}.next-title{font-family:var(--f-display);font-weight:600;letter-spacing:-.01em;font-size:18px;color:var(--ink);margin:10px 0 2px}.ov-actions{display:flex;justify-content:flex-end;margin:0 0 16px}.builder{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:18px;padding-bottom:64px;align-items:start}@media(max-width:820px){.builder{grid-template-columns:1fr}}.side{display:grid;gap:18px;align-content:start}.library .panel-bd,.templates .panel-bd{display:grid;gap:8px;padding:12px 22px 20px}.tpl{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 14px;background:var(--paper);border-radius:var(--r-ctl)}.tpl .tpl-name{flex:1;font-family:var(--f-ui);font-weight:500;font-size:13.5px;color:var(--ink);background:none;border:none;text-align:left;cursor:pointer;padding:0;min-height:36px}.tpl .tpl-name:hover{text-decoration:underline;text-underline-offset:3px}.tpl .tpl-meta{font-family:var(--f-ui);font-size:11px;color:var(--muted)}.tpl .tpl-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;min-width:36px;min-height:36px;border-radius:var(--r-pill)}.tpl .tpl-x:hover{color:var(--ink);background:var(--chip)}.hint{font-size:12.5px;color:var(--muted);margin:0 0 4px}.chip{display:flex;align-items:center;gap:10px;padding:11px 16px;background:var(--card);border:1.5px solid var(--line);border-radius:var(--r-pill);cursor:grab;font-family:var(--f-ui);font-size:14px;font-weight:500;color:var(--ink);-webkit-user-select:none;user-select:none;text-align:left;width:100%;min-height:44px;transition:border-color .12s ease,transform .12s ease}.chip:hover{border-color:var(--ink)}.chip:active{cursor:grabbing;transform:scale(.98)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip .grip{color:var(--muted);font-size:13px;letter-spacing:-1px}.chip.blank{border-style:dashed;color:var(--ink-2);background:transparent}.work-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:14px}.work-head input.title{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;font-size:22px;background:transparent;color:var(--ink);border:none;border-bottom:1.5px solid var(--line);border-radius:0;padding:6px 2px;min-width:220px;flex:1}.work-head input.title:focus-visible{outline:none;border-bottom-color:var(--ink)}.work-head .count{font-family:var(--f-ui);font-size:12.5px;color:var(--muted)}.dropzone{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);min-height:320px;padding:16px;display:grid;gap:12px;align-content:start;border:1.5px solid transparent;transition:border-color .12s ease,background-color .12s ease}.dropzone.over{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--card))}.empty{text-align:center;color:var(--muted);font-family:var(--f-ui);font-size:13.5px;padding:80px 20px;border:1.5px dashed var(--line);border-radius:var(--r-ctl)}.ex-card{background:var(--paper);border-radius:var(--r-ctl);padding:14px 14px 16px;display:grid;gap:10px}.ex-card.dragging{opacity:.4}.ex-top{display:flex;align-items:center;gap:10px}.ex-top .grip{cursor:grab;color:var(--muted);letter-spacing:-1px}.ex-name{flex:1;font-family:var(--f-ui);font-size:16px;font-weight:600;background:transparent;color:var(--ink);border:none;border-bottom:1.5px solid transparent;border-radius:0;padding:3px 2px}.ex-name:focus-visible{outline:none;border-bottom-color:var(--ink)}.ex-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:20px;line-height:1;min-width:36px;min-height:36px;border-radius:var(--r-pill)}.ex-x:hover{color:var(--ink);background:var(--chip)}.fields{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}@media(max-width:560px){.fields{grid-template-columns:repeat(2,1fr)}}.fields .fld{gap:4px}.fields .fld span{font-size:10px;letter-spacing:.1em}.fields .fld input{font-size:15px;padding:8px 10px;min-height:40px;border-radius:var(--r-sm)}.set-list{display:grid;gap:6px}.set-hd,.set-row{display:grid;grid-template-columns:22px 1fr 1.15fr .8fr .9fr 30px;gap:8px;align-items:center}.set-hd span{font-family:var(--f-ui);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.set-no{font-family:var(--f-ui);font-size:12px;color:var(--muted);text-align:right}.set-row input{width:100%;font-family:var(--f-ui);font-size:15px;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:7px 10px;min-height:38px}.set-row input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.set-x{font-size:17px;min-width:30px;min-height:34px}.set-add{justify-self:start;margin-top:2px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%) translateY(20px);background:var(--slab);color:var(--slab-ink);font-family:var(--f-ui);font-size:13.5px;font-weight:600;padding:12px 20px;border-radius:var(--r-pill);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.composer{display:grid;gap:16px}.composer-title{display:grid;gap:6px}.composer-title span{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.composer-title input{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;font-size:20px;background:transparent;color:var(--ink);border:none;border-bottom:1.5px solid var(--line);border-radius:0;padding:6px 2px;width:100%}.composer-title input:focus-visible{outline:none;border-bottom-color:var(--ink)}.composer-tpl .sec-h{margin:0 0 8px}.tpl-chips{display:flex;flex-wrap:wrap;gap:8px}.tpl-chips .chip{width:auto;cursor:pointer}.composer-rows{display:grid;gap:12px}.composer-foot{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center}.composer-err{margin:0;color:var(--danger);font-family:var(--f-ui);font-size:13px}.assign-list{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-family:var(--f-ui)}.assign-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line);min-height:52px}.assign-list li:last-child{border-bottom:none}.assign-list .name{flex:1;color:var(--ink);font-weight:600}.assign-list .mono{font-size:12.5px;color:var(--ink-2)}.assign-err{flex-basis:100%;color:var(--danger);font-size:12.5px}.qr-panel{margin-bottom:20px}.qr-body{display:flex;flex-wrap:wrap;gap:24px;align-items:center;padding:16px 0 6px}.qr-box{background:#fff;padding:12px;line-height:0;flex:none;border-radius:var(--r-ctl);border:1.5px solid var(--line)}.qr-box img{display:block;width:160px;height:160px}.qr-box .qr-ph{width:160px;height:160px}.qr-info{flex:1;min-width:240px;display:grid;gap:14px}.qr-hint{margin:0;color:var(--ink-2);font-size:15px;max-width:46ch}.qr-linkrow{display:flex;gap:8px;flex-wrap:wrap}.qr-linkrow input{flex:1;min-width:200px;font-family:var(--f-code);font-size:12.5px;padding:10px 14px;min-height:42px;background:var(--paper);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-pill)}.qr-linkrow input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.name-btn{font:inherit;font-family:var(--f-ui);color:var(--ink);font-weight:600;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-underline-offset:3px}.name-btn:hover{text-decoration:underline}.name-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.list li.client-row{cursor:pointer;align-items:center;padding-inline:12px;margin-inline:-12px;border-radius:var(--r-ctl);transition:background-color .12s ease;min-height:48px}.list li.client-row:hover{background:var(--chip)}.list li.client-row .chev{color:var(--muted)}.cl-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;padding-bottom:64px;align-items:start}@media(max-width:760px){.cl-grid{grid-template-columns:1fr}}.picker{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-family:var(--f-ui)}.picker li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--r-ctl);cursor:pointer;transition:background-color .12s ease;min-height:48px}.picker li:hover{background:var(--chip)}.picker li[aria-selected=true]{background:var(--slab);color:var(--slab-ink)}.picker .name{color:inherit;font-weight:600}.picker .mono{font-size:12px;color:var(--muted)}.picker li[aria-selected=true] .mono{color:var(--slab-mut)}.detail-empty{color:var(--muted);padding:40px 20px;text-align:center;font-family:var(--f-ui);font-size:13px}.detail-name{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;font-size:26px;margin:0}.detail-email{font-family:var(--f-ui);font-size:13px;color:var(--muted);margin:2px 0 0}.cl-detail .kv-row{padding:16px 0;gap:10px 26px}.wk-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-family:var(--f-ui)}.wk-list li{display:flex;align-items:center;gap:12px;padding:13px 14px;margin-inline:-14px;border-radius:var(--r-ctl);cursor:pointer;transition:background-color .12s ease;min-height:48px}.wk-list li:hover{background:var(--chip)}.wk-title{color:var(--ink);font-weight:600;flex:1}.wk-meta{font-size:12px;color:var(--muted);white-space:nowrap}.wk-list .chev{color:var(--muted)}.ex{border:1.5px solid var(--line);border-radius:var(--r-ctl);overflow:hidden;margin-bottom:10px}.ex:last-child{margin-bottom:0}.ex-hd{padding:10px 14px;background:var(--chip);font-family:var(--f-ui);font-weight:600;font-size:14px}.settable{width:100%;border-collapse:collapse;font-size:13px}.settable th{text-align:left;font-family:var(--f-ui);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 14px;border-bottom:1px solid var(--line)}.settable td{padding:8px 14px;border-bottom:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums}.settable tr:last-child td{border-bottom:none}.settable td.setno{color:var(--muted);width:44px}.note{background:var(--chip);border-radius:var(--r-ctl);padding:12px 16px;margin-bottom:10px}.note:last-child{margin-bottom:0}.note.post{background:color-mix(in srgb,var(--accent) 14%,var(--card))}.note-hd{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.note-who{font-family:var(--f-ui);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill)}.note-who.trainer{background:var(--accent);color:var(--on-accent)}.note-who.client{background:var(--card);color:var(--ink)}.note-phase{font-family:var(--f-ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.note-body{font-size:15px;color:var(--ink)}.note-vis{font-family:var(--f-ui);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);border:1.5px solid var(--line);color:var(--muted)}.note-vis.shared{border-color:var(--accent-dim);color:var(--ink)}.note-publish{margin-left:auto}.note .publish-confirm{margin-top:8px}.note-form{margin-top:14px;display:grid;gap:10px;border-top:1px solid var(--line);padding-top:14px}.note-form textarea{width:100%;min-height:72px;resize:vertical;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-ctl);padding:12px 14px;font-family:var(--f-body);font-size:16px;line-height:1.5}.note-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.note-form-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.note-form select{background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;font-family:var(--f-ui);font-size:13px;min-height:40px}.publish-confirm{border:1.5px solid var(--accent);border-radius:var(--r-ctl);background:color-mix(in srgb,var(--accent) 10%,var(--card));padding:12px 16px;display:grid;gap:10px}.publish-confirm p{margin:0;font-size:14px;line-height:1.5;color:var(--ink)}.publish-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.note-form-row .btn+.btn{margin-left:0}.note-form-row>.btn:first-of-type{margin-left:auto}.form-note{font-size:12px;color:var(--muted);margin:0}.wk-roster{margin-bottom:18px}.roster-chips{display:flex;flex-wrap:wrap;gap:8px}.roster-chip{width:auto;font-size:13px;min-height:0;padding:7px 13px;cursor:default;border-radius:var(--r-pill)}button.roster-chip{cursor:pointer}button.roster-chip:hover{border-color:var(--ink)}.sec-h-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sec-h-row .sec-h{margin-bottom:8px}.edit-notice{margin:0 0 10px}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}header.dash-nav{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.dash-nav-in{display:flex;align-items:center;gap:14px;height:72px;position:relative}.nav-center{position:absolute;left:50%;transform:translate(-50%)}@media(max-width:720px){.dash-nav-in{flex-wrap:wrap;height:auto;padding-block:12px 8px;row-gap:8px}.nav-center{position:static;transform:none;order:10;flex-basis:100%;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut)}.nav-center::-webkit-scrollbar{display:none}.dash-nav .nav-links{gap:2px}.dash-nav .nav-links .btn{flex:none;padding:8px 11px;min-height:36px;font-size:13px}.dash-nav .role-badge,.dash-nav .who{display:none}}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:600;font-size:19px;letter-spacing:.02em}.wordmark .glyph{width:34px;height:28px}.dash-nav .spacer{margin-left:auto}.who{font-family:var(--f-ui);font-size:13px;color:var(--muted)}.dash-nav .btn{padding:9px 16px;min-height:38px;font-size:13.5px}.nav-links{display:flex;gap:6px}.nav-links .btn{border-color:transparent;background:transparent}.nav-links .btn:hover{background:var(--card);border-color:var(--line)}.nav-links .btn--fill{background:var(--accent);border-color:var(--accent)}.nav-links .btn--fill:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.nav-links .btn[aria-current=page],.nav-links .btn.active{background:var(--slab);border-color:var(--slab);color:var(--slab-ink)}.page-head{padding-block:clamp(28px,5vw,56px) 8px;display:grid;gap:12px}h1.display{font-size:clamp(32px,4.4vw,48px)}.sub{color:var(--ink-2);margin:0;max-width:60ch;font-size:17px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-block:28px}.stat{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);padding:22px 24px;display:grid;gap:8px}.stat .k{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.stat .v{font-family:var(--f-display);font-weight:600;letter-spacing:-.03em;font-size:38px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}.stat .m{font-family:var(--f-ui);font-size:13px;color:var(--muted)}.stat:first-child{background:var(--slab);color:var(--slab-ink)}.stat:first-child .v{color:var(--accent)}.stat:first-child .k,.stat:first-child .m{color:var(--slab-mut)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;padding-bottom:64px}.panel{background:var(--card);border-radius:var(--r-card);box-shadow:var(--shadow);overflow:hidden}.panel-hd{padding:16px 22px 0;font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:8px}.panel-bd{padding:10px 22px 20px}.panel-hd--action{justify-content:space-between;padding-top:12px}.panel-hd--action .btn{font-size:12.5px;padding:7px 13px;min-height:34px}table{width:100%;border-collapse:collapse;font-size:14px;font-family:var(--f-ui)}th{text-align:left;font-family:var(--f-ui);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 8px;border-bottom:1px solid var(--line)}td{padding:12px 8px;border-bottom:1px solid var(--line);color:var(--ink-2)}tr:last-child td{border-bottom:none}td .name{color:var(--ink);font-weight:600}.list{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-family:var(--f-ui)}.list li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px}.list li:last-child{border-bottom:none}.list .mono{font-family:var(--f-ui);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:500}.loading{padding:64px;text-align:center;color:var(--muted);font-family:var(--f-ui);font-size:13px}.sub2,.empty-note,.hint,.form-note{font-family:var(--f-ui)}body[data-loading] main{display:none}body:not([data-loading]) .boot{display:none}.theme-toggle{display:inline-grid;place-items:center;width:38px;height:38px;padding:0;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);cursor:pointer;transition:background-color .14s ease,border-color .14s ease}.theme-toggle:hover{background:var(--chip);border-color:var(--ink-2)}.theme-toggle svg{width:17px;height:17px;display:block}.theme-toggle .ico-sun{display:none}:root[data-theme=dark] .theme-toggle .ico-moon{display:none}:root[data-theme=dark] .theme-toggle .ico-sun{display:block}.ci-btn{font-family:var(--f-ui);font-size:12px;font-weight:600;padding:6px 12px;min-height:36px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--ink-2);cursor:pointer;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.ci-btn:hover:not(:disabled){background:var(--chip);border-color:var(--ink-2)}.ci-btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.ci-btn:disabled{opacity:.55;cursor:default}.list li.session-row{display:grid;gap:8px}.session-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.session-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.session-note{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0;font-family:var(--f-ui);font-size:13px;color:var(--ink-2)}.code-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;align-items:end;padding:12px 0}.code-form .btn{min-height:44px;justify-content:center}.code-list li{flex-wrap:wrap;align-items:center}.code-list .name{flex:1 1 160px}a.stat{text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}a.stat:hover{transform:translateY(-2px)}a.stat:focus-visible{outline:2px solid var(--accent);outline-offset:2px}tr.row-link{cursor:pointer}tr.row-link:hover td{background:var(--chip)}.list li.row-link{cursor:pointer;padding-inline:12px;margin-inline:-12px;border-radius:var(--r-ctl)}.list li.row-link:hover{background:var(--chip)}.panel-hd a{color:var(--ink-2);text-transform:none;letter-spacing:0;font-size:13px}.seg{display:flex;gap:6px;padding:4px;background:var(--sunk);border-radius:var(--r-pill);width:fit-content;max-width:100%;overflow-x:auto;margin:0 0 18px}.seg button{font-family:var(--f-ui);font-size:13.5px;font-weight:600;color:var(--muted);background:transparent;border:0;border-radius:var(--r-pill);padding:9px 16px;cursor:pointer;min-height:40px;white-space:nowrap}.seg button[aria-pressed=true]{color:var(--ink);background:var(--card);box-shadow:var(--shadow)}.pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;font-family:var(--f-ui);font-size:13px;color:var(--muted)}.pager .btn{min-height:36px;padding:7px 13px}.group-hd td{background:var(--sunk);color:var(--ink);font-weight:600;font-size:12.5px}.table-scroll{overflow-x:auto}.admin-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:18px}.admin-toolbar .seg{margin:0}.admin-toolbar select{min-height:40px}.admin-page{padding-bottom:64px;display:grid;gap:18px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:root{--paper: #f2f1eb;--sunk: #e9e7df;--card: #ffffff;--ink: #0b0b0d;--ink-2: #46463f;--muted: #76766c;--line: #e3e1d6;--line-hard: #0b0b0d;--accent: #ffd400;--accent-dim: #f0c400;--on-accent: #0b0b0d;--chip: #f2f1eb;--slab: #0b0b0d;--slab-2: #1e1e23;--slab-ink: #f5f4ef;--slab-mut: rgba(245,244,239,.62);--shadow: 0 1px 2px rgba(11,11,13,.04), 0 8px 24px rgba(11,11,13,.05);--shadow-lg: 0 24px 60px rgba(11,11,13,.18);--danger: #c0392b;--f-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;--f-ui: "Montserrat", "Helvetica Neue", Arial, sans-serif;--f-body: "Lora", Georgia, "Times New Roman", serif;--f-mono: "Montserrat", "Helvetica Neue", Arial, sans-serif;--f-code: ui-monospace, "SF Mono", Menlo, monospace;--r-pill: 999px;--r-card: 22px;--r-ctl: 14px;--r-sm: 10px;--gut: clamp(20px, 4vw, 56px);--max: 1200px;color-scheme:light}:root[data-theme=dark]{--paper: #0d0d0f;--sunk: #141417;--card: #16161a;--ink: #f5f4ef;--ink-2: #c3c2b8;--muted: #8b8b82;--line: #2a2a30;--line-hard: #3a3a42;--accent-dim: #e0bb00;--chip: #1e1e23;--slab: #1e1e23;--slab-2: #26262c;--shadow: 0 1px 0 rgba(255,255,255,.03);--shadow-lg: 0 24px 60px rgba(0,0,0,.5);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%}button,input,select,textarea{font-family:var(--f-ui)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.glyph{display:inline-block;width:30px;height:24px;flex:none;background:currentColor;-webkit-mask:url(/logo-light.svg) center / contain no-repeat;mask:url(/logo-light.svg) center / contain no-repeat}.display,h1.display,h2.display,h3.display{font-family:var(--f-display);font-weight:500;letter-spacing:-.03em;line-height:1.1;margin:0;text-wrap:balance}h3.display{font-weight:600;letter-spacing:-.02em;line-height:1.2}.em{font-family:var(--f-body);font-style:italic;font-weight:400;letter-spacing:-.01em}.eyebrow,.cap{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.ui{font-family:var(--f-ui)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-ui);font-size:14px;font-weight:600;letter-spacing:0;text-decoration:none;padding:11px 18px;min-height:42px;border:1.5px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);cursor:pointer;transition:transform .14s ease,background-color .14s ease,color .14s ease,border-color .14s ease}.btn:hover{background:var(--chip);border-color:var(--ink-2)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn--fill{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn--fill:hover{background:var(--accent-dim);border-color:var(--accent-dim)}.btn--ink{background:var(--slab);border-color:var(--slab);color:var(--slab-ink)}.btn--ink:hover{background:var(--slab-2);border-color:var(--slab-2)}.btn--ink .arw{color:var(--accent)}.btn--ghost{background:transparent}.btn--sm{padding:6px 12px;min-height:34px;font-size:13px}.btn .arw{transition:transform .14s ease}.btn:hover .arw{transform:translate(3px)}@media(prefers-reduced-motion:reduce){.btn,.btn .arw{transition:none}.btn:hover .arw{transform:none}}.tag,.role-badge{display:inline-flex;align-items:center;font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);background:var(--chip);color:var(--ink-2)}.tag.good,.role-badge{background:var(--accent);color:var(--on-accent)}.field,.fld{display:grid;gap:6px}.field>span,.fld>span{font-family:var(--f-ui);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.field input,.field select,.field textarea,.fld input,.fld select,.fld textarea{width:100%;font-family:var(--f-ui);font-size:15px;padding:11px 14px;min-height:44px;background:var(--card);color:var(--ink);border:1.5px solid var(--line);border-radius:var(--r-ctl);transition:border-color .14s ease}.field input:hover,.fld input:hover,.fld select:hover{border-color:var(--ink-2)}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--ink)}.field input::placeholder,.fld input::placeholder{color:var(--muted)}
