[hidden]{display:none!important}
:root{--bg:#eef1f4;--ink:#172129;--muted:#68747d;--nav:#111a20;--nav2:#1a252c;--panel:#fff;--line:#dce2e6;--teal:#0d8f83;--teal-dark:#08736a;--teal-soft:#dff3ef;--coral:#e96a5f;--coral-soft:#fff0ee;--amber:#e6a643;--blue:#4b7bec;--shadow:0 18px 50px rgba(22,33,41,.10);--radius:18px}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px 1fr}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--nav);color:#f6f9fa;padding:24px 16px 18px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:10px;align-items:center;font-weight:800;font-size:19px;padding:0 8px 22px}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(145deg,#15b4a5,#0a796f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}.workspace{display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:10px;padding:12px;margin-bottom:20px;background:var(--nav2);border:1px solid #2b3941;border-radius:14px}.workspace-logo{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#dff3ef;color:#08736a;font-weight:800;font-size:13px}.workspace small,.account small{display:block;color:#93a1a9;font-size:12px;margin-top:2px}.icon-button,.mobile-menu{border:0;background:transparent;color:inherit}.sidebar nav{display:grid;gap:4px}.nav-item{width:100%;border:0;background:transparent;color:#a9b4bb;border-radius:11px;padding:10px 12px;display:grid;grid-template-columns:24px 1fr auto;text-align:left;align-items:center;font-weight:650}.nav-item:hover,.nav-item.active{background:#213039;color:#fff}.nav-item em,.nav-item i{font-style:normal;font-size:12px;padding:2px 7px;border-radius:999px;background:#2c3d46;color:#c8d1d6}.nav-item i{background:var(--coral);color:#fff}.sidebar-spacer{flex:1}.trial-card{background:#17272d;border:1px solid #294049;border-radius:14px;padding:13px;margin:18px 4px}.trial-card p{font-size:12px;color:#9fb0b7;margin:5px 0 0}.account{display:flex;gap:10px;align-items:center;padding:8px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#f3be79;color:#54320b;font-weight:800;font-size:12px}main{grid-column:2;min-width:0}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;position:sticky;top:0;z-index:6}.crumb{display:flex;gap:12px;align-items:center}.crumb span{color:var(--muted)}.crumb span:after{content:"/";margin-left:12px;color:#bcc4c8}.top-actions{display:flex;gap:10px}.primary,.ghost,.soft,.portal-primary,.filter,.text-button,.link-button,.device-toggle button,.portal-footer button{border:0;border-radius:10px;padding:10px 15px;font-weight:700}.primary,.portal-primary{background:var(--teal);color:#fff;box-shadow:0 6px 14px rgba(13,143,131,.2)}.primary:hover,.portal-primary:hover{background:var(--teal-dark)}.ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.soft{background:var(--teal-soft);color:var(--teal-dark)}.view{display:none;padding:30px 34px 48px;max-width:1500px;margin:auto}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.page-heading.compact{align-items:center}.page-heading h1{font-size:30px;letter-spacing:-.03em;margin:3px 0 2px}.page-heading p{margin:0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:11px;color:var(--teal)!important}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.metrics article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 4px 12px rgba(22,33,41,.03)}.metrics article>span{display:block;color:var(--muted);font-size:14px}.metrics strong{display:block;font-size:30px;letter-spacing:-.04em;margin:8px 0 2px}.metrics small{color:var(--muted)}.metrics .metric-alert{background:var(--coral-soft);border-color:#ffd7d3}.metrics .metric-alert strong,.metrics .metric-alert small b{color:#b74036}.good{color:var(--teal-dark)}.dashboard-grid{display:grid;grid-template-columns:1.35fr .85fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 4px 12px rgba(22,33,41,.03)}.panel h2{font-size:20px;margin:2px 0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.text-button,.link-button{padding:6px;background:transparent;color:var(--teal-dark)}.attention-row{display:grid;grid-template-columns:38px 1fr auto;gap:12px;align-items:center;padding:15px 0;border-top:1px solid var(--line)}.attention-row:first-of-type{margin-top:10px}.attention-row small,.activity-item small{display:block;color:var(--muted);margin-top:3px}.status-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-weight:900}.status-icon.coral{background:var(--coral-soft);color:var(--coral)}.status-icon.amber{background:#fff4dc;color:#b77813}.status-icon.blue{background:#eaf0ff;color:var(--blue)}.status-icon.green{background:var(--teal-soft);color:var(--teal)}.chart{height:220px;display:flex;align-items:flex-end;gap:12px;padding-top:32px}.chart span{flex:1;position:relative;background:#cbe8e4;border-radius:8px 8px 3px 3px;min-height:28px}.chart span.latest{background:var(--teal)}.chart i{position:absolute;bottom:-25px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);font-style:normal}.activity-item{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;padding:13px 0;border-top:1px solid var(--line)}.activity-item time{font-size:12px;color:var(--muted)}.plan-price{display:flex;align-items:baseline;gap:5px;margin:14px 0}.plan-price strong{font-size:34px}.plan-price span{color:var(--muted)}.mini-stat{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line)}.mini-stat span{color:var(--muted)}.wide{width:100%;margin-top:14px}.pill{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.pill.live{background:var(--teal-soft);color:var(--teal-dark)}.mobile-menu{display:none;font-size:22px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px}.search{flex:1;background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 13px;color:var(--muted)}.search input{border:0;outline:0;width:90%;margin-left:8px}.filter{background:#fff;border:1px solid var(--line);color:var(--muted);padding:9px 12px}.filter.active{background:#e6f5f2;border-color:#a9dcd5;color:var(--teal-dark)}.table-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.table-card table{width:100%;border-collapse:collapse;min-width:820px}.table-card th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb}.table-card th,.table-card td{padding:14px 16px;border-bottom:1px solid var(--line)}.member-name{display:flex;gap:10px;align-items:center}.member-name span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e9eef1;font-weight:800;font-size:12px}.member-name small{display:block;color:var(--muted)}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.status.active{background:var(--teal-soft);color:var(--teal-dark)}.status.past_due{background:var(--coral-soft);color:#b74036}.row-action{border:0;background:transparent;font-size:18px}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.plan-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}.plan-card.featured{border:2px solid var(--teal)}.plan-card h2{margin:14px 0 2px}.plan-card ul{padding:0;list-style:none}.plan-card li{padding:8px 0;border-top:1px solid var(--line)}.plan-card li:before{content:"✓";color:var(--teal);font-weight:900;margin-right:8px}.activity-layout{display:grid;grid-template-columns:1fr 300px;gap:16px}.recovery{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid var(--line)}.recovery b{font-size:24px}.reports{margin-bottom:16px}.report-row{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:12px;padding:16px 0;border-top:1px solid var(--line)}.report-row span{color:var(--muted)}.portal-frame{max-width:1000px;margin:auto;background:#f7f9f9;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.portal-brand{display:flex;align-items:center;gap:12px;background:#fff;padding:18px 24px;border-bottom:1px solid var(--line)}.portal-brand div{flex:1}.portal-brand small{display:block;color:var(--muted)}.portal-brand button,.portal-section button{border:0;background:transparent;color:var(--teal-dark);font-weight:700}.portal-welcome{padding:28px;background:linear-gradient(120deg,#123139,#0d766d);color:#fff;display:flex;align-items:center;justify-content:space-between}.portal-welcome .eyebrow{color:#8be0d7!important}.portal-welcome h2{font-size:28px;margin:4px 0}.portal-welcome p{margin:0;color:#d1e7e5}.portal-primary{background:#fff;color:var(--teal-dark);box-shadow:none}.portal-grid{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:14px;padding:20px}.portal-grid article,.portal-section{background:#fff;border:1px solid var(--line);border-radius:15px;padding:18px}.portal-grid span,.portal-grid small{display:block;color:var(--muted)}.portal-grid strong{font-size:23px;display:block;margin:8px 0}.progress{height:8px;border-radius:999px;background:#e3e9eb;overflow:hidden;margin:12px 0}.progress i{display:block;width:50%;height:100%;background:var(--teal)}.portal-section{margin:0 20px 16px}.portal-section h3{margin-top:0}.benefit{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.benefit>span{width:38px;height:38px;border-radius:10px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-weight:800}.benefit small{display:block;color:var(--muted)}.portal-history{display:grid;grid-template-columns:90px 1fr auto;padding:12px 0;border-top:1px solid var(--line)}.portal-history span,.portal-history em{color:var(--muted);font-style:normal}.portal-footer{display:flex;gap:8px;padding:4px 20px 22px}.portal-footer button{background:#fff;border:1px solid var(--line)}.device-toggle{background:#fff;border:1px solid var(--line);padding:3px;border-radius:12px}.device-toggle button{background:transparent;color:var(--muted);padding:7px 12px}.device-toggle button.active{background:var(--nav);color:#fff}.settings-grid{display:grid;grid-template-columns:200px 1fr;gap:16px}.settings-grid>nav{display:grid;align-content:start;gap:4px}.settings-grid>nav button{border:0;background:transparent;text-align:left;padding:11px 13px;border-radius:10px;color:var(--muted);font-weight:700}.settings-grid>nav button.active{background:#fff;color:var(--ink)}.settings-form{max-width:720px}.settings-form label,.modal label{display:block;font-size:13px;font-weight:750;margin:15px 0}.settings-form input,.settings-form select,.modal input,.modal select{display:block;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;margin-top:6px;background:#fff;color:var(--ink)}.connection{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;padding:13px;margin:18px 0}.connection div{flex:1}.connection small{display:block;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:rgba(5,13,17,.7);z-index:30;display:grid;place-items:center;padding:20px;backdrop-filter:blur(4px)}.modal-backdrop[hidden]{display:none}.modal{width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:26px;box-shadow:0 28px 100px rgba(0,0,0,.35);position:relative}.modal h2{font-size:25px;letter-spacing:-.025em;margin:5px 0}.modal>p{color:var(--muted)}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#eef1f3;border-radius:50%;width:32px;height:32px;font-size:20px}.onboarding{width:min(650px,100%)}.modal-step{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em}.setup-step{display:none;text-align:center;padding:16px 10px}.setup-step.active{display:block}.setup-icon{margin:0 auto 16px;width:54px;height:54px;border-radius:17px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-weight:900}.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.industry{padding:13px;border-radius:11px;border:1px solid var(--line);background:#fff;font-weight:750}.industry:hover,.industry.active{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}.custom-industry{margin-top:10px}.onboarding footer,.plan-builder footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:18px}.stripe-card,.sample-plan{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:14px;padding:16px;margin:22px 0}.stripe-card>b{font-size:22px;color:#6555e8}.stripe-card span{flex:1}.stripe-card small,.sample-plan small{display:block;color:var(--muted)}.stripe-card i{font-style:normal;color:var(--muted);font-size:12px}.sample-plan{display:grid}.sample-plan strong{font-size:24px}.check-row{display:flex!important;gap:8px;justify-content:center;align-items:center}.check-row input{width:auto!important;margin:0!important}.member-preview{padding:12px;background:#f5f8f8;border-radius:12px}.member-preview small{display:block;color:var(--muted)}.plan-builder{width:min(960px,100%)}.builder-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}.builder-grid aside{background:#f4f8f7;border-radius:18px;padding:20px;align-self:start}.builder-grid aside li{margin:10px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.included-editor{display:grid;grid-template-columns:38px 1fr 30px;gap:10px;align-items:center;border:1px solid var(--line);padding:11px;border-radius:12px;margin:8px 0}.included-editor>span{width:34px;height:34px;border-radius:9px;background:var(--teal-soft);color:var(--teal-dark);display:grid;place-items:center;font-weight:800}.included-editor small{display:block;color:var(--muted)}.included-editor button{border:0;background:transparent}.member-detail .profile-head{display:flex;gap:12px;align-items:center;margin-bottom:18px}.member-detail .profile-head .avatar{width:48px;height:48px}.detail-balance{padding:16px;background:#f4f8f7;border-radius:14px;margin:12px 0}.detail-balance strong{font-size:26px;display:block}.toast{position:fixed;right:24px;bottom:24px;background:#142126;color:#fff;border-radius:12px;padding:13px 17px;box-shadow:var(--shadow);transform:translateY(120px);opacity:0;transition:.25s;z-index:50}.toast.show{transform:translateY(0);opacity:1}
@media(max-width:1050px){.metrics{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.plan-grid{grid-template-columns:1fr 1fr}.portal-grid{grid-template-columns:1fr 1fr}.balance-card{grid-column:span 2}}
@media(max-width:760px){.app-shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}main{width:100%}.mobile-menu{display:block}.topbar{height:66px;padding:0 16px}.crumb span,.top-actions .ghost{display:none}.top-actions .primary{padding:9px 11px}.view{padding:22px 16px}.page-heading{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:16px}.metrics strong{font-size:25px}.plan-grid,.activity-layout,.settings-grid,.builder-grid{grid-template-columns:1fr}.toolbar{overflow:auto}.toolbar .search{min-width:230px}.portal-grid{grid-template-columns:1fr}.balance-card{grid-column:auto}.portal-welcome{align-items:flex-start;gap:18px;flex-direction:column}.portal-history{grid-template-columns:70px 1fr}.portal-history em{grid-column:2}.portal-footer{flex-direction:column}.industry-grid{grid-template-columns:1fr 1fr}.report-row{grid-template-columns:1fr 1fr}.sidebar-spacer{min-height:40px}}
@media(max-width:440px){.metrics{grid-template-columns:1fr}.attention-row{grid-template-columns:34px 1fr}.attention-row button{grid-column:2;justify-self:start}.top-actions .primary{font-size:13px}.industry-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}}

/* ───── MemberRoute production additions (on top of the approved prototype system) ───── */
a{color:var(--teal-dark)}
a.nav-item,a.primary,a.ghost,a.soft,a.portal-primary,a.text-button,a.link-button,a.filter{text-decoration:none;display:inline-block}
a.nav-item{display:grid}
.primary[disabled],.soft[disabled],.ghost[disabled]{opacity:.55;cursor:not-allowed}
.danger{background:var(--coral);color:#fff;border:0;border-radius:10px;padding:10px 15px;font-weight:700}
.danger-soft{background:var(--coral-soft);color:#b74036;border:0;border-radius:10px;padding:10px 15px;font-weight:700}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip-link{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;border-radius:8px;z-index:100}
.skip-link:focus{left:8px}
:focus-visible{outline:3px solid #6fd3c8;outline-offset:2px}
.muted{color:var(--muted)}
.small{font-size:13px}
.mt0{margin-top:0}.mt8{margin-top:8px}.mt16{margin-top:16px}.mt24{margin-top:24px}.mb0{margin-bottom:0}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.between{justify-content:space-between}
.stack>*+*{margin-top:12px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.inline-form{display:inline}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.nowrap{white-space:nowrap}
.pill.draft{background:#fff4dc;color:#8a5a0d}
.pill.archived{background:#eef1f3;color:var(--muted)}
.pill.warn{background:var(--coral-soft);color:#b74036}
.status.grace{background:#fff4dc;color:#8a5a0d}
.status.restricted,.status.canceled{background:var(--coral-soft);color:#b74036}
.status.canceling{background:#fff4dc;color:#8a5a0d}
.status.trialing{background:#eaf0ff;color:#3a5fc4}
.status.paused,.status.incomplete{background:#eef1f3;color:var(--muted)}

/* Flash + alerts */
.flash{border-radius:12px;padding:12px 14px;margin:0 0 16px;border:1px solid var(--line);background:#fff}
.flash.ok{background:var(--teal-soft);border-color:#a9dcd5;color:#08584f}
.flash.err{background:var(--coral-soft);border-color:#ffd7d3;color:#8f2f27}
.flash.warn{background:#fff8e8;border-color:#f5dfae;color:#6d4a0c}
.banner{display:flex;gap:12px;align-items:center;justify-content:space-between;background:#fff8e8;border:1px solid #f5dfae;color:#6d4a0c;padding:12px 16px;border-radius:14px;margin-bottom:16px}
.banner.err{background:var(--coral-soft);border-color:#ffd7d3;color:#8f2f27}
.field-error{color:#b74036;font-size:12px;font-weight:700;margin-top:4px;display:block}

/* Forms (outside modals too) */
.form label{display:block;font-size:13px;font-weight:750;margin:15px 0}
.form label>span.hint{display:block;font-weight:500;color:var(--muted);font-size:12px;margin-top:2px}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{display:block;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;margin-top:6px;background:#fff;color:var(--ink);font:inherit}
.form textarea{min-height:110px;resize:vertical}
.form .check{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.form .check input{margin-top:3px;width:18px;height:18px;flex:none}
fieldset{border:0;padding:0;margin:0}
legend{font-weight:800;margin:18px 0 4px}

/* Auth / public pages */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:linear-gradient(160deg,#111a20,#123139 55%,#0d766d)}
.auth-card{width:min(460px,100%);background:#fff;border-radius:22px;padding:28px;box-shadow:0 28px 100px rgba(0,0,0,.35)}
.auth-card.wide{width:min(680px,100%)}
.auth-card h1{font-size:26px;letter-spacing:-.03em;margin:8px 0 6px}
.auth-card .brand{color:var(--ink);padding:0 0 8px}
.auth-foot{margin-top:18px;font-size:14px;color:var(--muted)}
.otp-input{font-size:24px!important;letter-spacing:.3em;text-align:center}
.qr{display:flex;justify-content:center;margin:12px 0}
.qr svg{width:200px;height:200px;border-radius:12px;border:1px solid var(--line)}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f5f8f8;border-radius:12px;padding:14px;font-family:ui-monospace,Menlo,monospace}

/* Marketing */
.site-header{display:flex;justify-content:space-between;align-items:center;padding:18px 28px;max-width:1180px;margin:auto}
.site-header .brand{color:var(--ink);padding:0}
.hero{max-width:1180px;margin:auto;padding:48px 28px 32px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero h1{font-size:48px;line-height:1.05;letter-spacing:-.04em;margin:10px 0 14px}
.hero p.lead{font-size:19px;color:var(--muted);max-width:560px}
.section{max-width:1180px;margin:auto;padding:36px 28px}
.section h2{font-size:30px;letter-spacing:-.03em}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px}
.price-card.featured{border:2px solid var(--teal)}
.price-card ul{padding-left:18px;color:var(--muted)}
.site-footer{max-width:1180px;margin:auto;padding:30px 28px 50px;color:var(--muted);font-size:14px;display:flex;gap:18px;flex-wrap:wrap}
.legal{max-width:780px;margin:auto;padding:30px 24px 60px}
.legal h1{font-size:32px;letter-spacing:-.03em}

/* Onboarding checklist */
.checklist{list-style:none;padding:0;margin:10px 0 0}
.checklist li{display:grid;grid-template-columns:30px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.checklist .dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);font-size:13px;font-weight:900}
.checklist .done .dot{background:var(--teal);border-color:var(--teal);color:#fff}
.checklist .done b{color:var(--muted);text-decoration:line-through}
.steps{display:flex;gap:6px;margin:0 0 18px;flex-wrap:wrap}
.steps span{font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:#eef1f3;color:var(--muted)}
.steps span.on{background:var(--teal-soft);color:var(--teal-dark)}
.industry-grid label.industry{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;margin:0;text-align:center}
.industry-grid input{position:absolute;opacity:0;pointer-events:none}
.industry-grid label.industry:has(input:checked){border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}
.industry-grid label.industry:focus-within{outline:3px solid #6fd3c8}

/* Tables */
.table-card td small{display:block;color:var(--muted)}
.table-card tr:last-child td{border-bottom:0}
.table-card a.rowlink{color:inherit;text-decoration:none}
.pager{display:flex;justify-content:space-between;align-items:center;padding:12px 4px}
.empty{padding:36px 20px;text-align:center;color:var(--muted)}
.empty h3{color:var(--ink);margin:0 0 6px}

/* Balances / progress */
progress.bar{appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:999px;background:#e3e9eb;overflow:hidden;display:block;margin:10px 0}
progress.bar::-webkit-progress-bar{background:#e3e9eb;border-radius:999px}
progress.bar::-webkit-progress-value{background:var(--teal);border-radius:999px}
progress.bar::-moz-progress-bar{background:var(--teal);border-radius:999px}
.balances{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0}
.balance{background:#f4f8f7;border-radius:14px;padding:14px}
.balance strong{font-size:22px;display:block;margin:4px 0}
.balance small{color:var(--muted);display:block}
.balance form{margin-top:10px}

/* Redemption */
.redeem-search{display:flex;gap:10px;margin-bottom:16px}
.redeem-search input{flex:1;font-size:18px;padding:14px 16px;border:1px solid var(--line);border-radius:12px}
.redeem-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:12px}
.redeem-card .who{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.svc-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}
.svc-btn{display:block;text-align:left;border:2px solid #a9dcd5;background:var(--teal-soft);color:var(--teal-dark);border-radius:14px;padding:14px;font-weight:800;text-decoration:none}
.svc-btn small{display:block;font-weight:600;color:#2d6e67;margin-top:4px}
.svc-btn.none{border-color:var(--line);background:#f4f6f7;color:var(--muted);pointer-events:none}
.confirm-box{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center;background:#f4f8f7;border-radius:16px;padding:20px;margin:16px 0}
.confirm-box strong{font-size:34px;display:block}
.confirm-box .arrow{font-size:26px;color:var(--muted)}
.success-card{text-align:center;padding:28px}
.success-card .big{width:64px;height:64px;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;font-size:30px;margin:0 auto 12px}

/* History lists */
.history{list-style:none;padding:0;margin:0}
.history li{display:grid;grid-template-columns:110px 1fr auto;gap:12px;padding:11px 0;border-top:1px solid var(--line);align-items:center}
.history li time{color:var(--muted);font-size:13px}
.history li em{font-style:normal;color:var(--muted);font-size:13px}
.history li.reversed b{text-decoration:line-through;color:var(--muted)}

/* Plan builder (page form) */
.svc-row,.perk-row{display:grid;grid-template-columns:2fr 1.1fr .8fr 1.2fr 1fr .8fr auto;gap:8px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;background:#fff}
.perk-row{grid-template-columns:1.2fr .8fr 2.5fr auto}
.svc-row label,.perk-row label{margin:0!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.svc-row input,.svc-row select,.perk-row input,.perk-row select{margin-top:4px!important;padding:9px 10px!important}
.remove-row{border:0;background:#eef1f3;border-radius:8px;width:34px;height:38px;font-size:18px}
.builder-page{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;align-items:start}
.builder-page aside{position:sticky;top:96px}
.preview-card{background:#f4f8f7;border-radius:18px;padding:20px}
.preview-card ul{padding-left:18px}
details.more summary{cursor:pointer;font-weight:800;margin:14px 0 6px}

/* Join page (customer facing) */
.join-shell{min-height:100vh;background:#f4f7f8}
.join-head{background:#fff;border-bottom:1px solid var(--line)}
.join-head .inner{max-width:1000px;margin:auto;padding:16px 20px;display:flex;align-items:center;gap:12px}
.join-hero{background:linear-gradient(120deg,#123139,#0d766d);color:#fff}
.join-hero .inner{max-width:1000px;margin:auto;padding:38px 20px}
.join-hero h1{font-size:34px;letter-spacing:-.03em;margin:4px 0}
.join-hero p{color:#d1e7e5;margin:0}
.join-main{max-width:1000px;margin:auto;padding:24px 20px 60px}
.join-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.terms-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 16px;max-height:260px;overflow:auto;font-size:14px;color:#39464f}
.join-form{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;align-items:start}
.powered{text-align:center;color:var(--muted);font-size:12px;margin-top:30px}

/* Portal (live) */
.portal-shell{min-height:100vh;background:#f4f7f8}
.portal-main{max-width:1000px;margin:auto;padding:0 0 50px}
.portal-main .portal-frame{border-radius:0 0 24px 24px;box-shadow:none;border-top:0}
@media(min-width:761px){.portal-main{padding:24px 20px 50px}.portal-main .portal-frame{border-radius:24px;border-top:1px solid var(--line)}}
.portal-footer form{display:inline}
.portal-footer a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 15px;font-weight:700;text-decoration:none;color:var(--ink)}

/* Admin */
.admin-top{background:#2b1b1b;color:#fff;padding:10px 20px;font-size:13px;font-weight:700}
.kv{display:grid;grid-template-columns:200px 1fr;gap:8px 16px}
.kv dt{color:var(--muted)}
.kv dd{margin:0}

/* Chart bars (height classes, CSP-safe) */
.chart span.h0{height:0%}.chart span.h5{height:5%}.chart span.h10{height:10%}.chart span.h15{height:15%}.chart span.h20{height:20%}.chart span.h25{height:25%}.chart span.h30{height:30%}.chart span.h35{height:35%}.chart span.h40{height:40%}.chart span.h45{height:45%}.chart span.h50{height:50%}.chart span.h55{height:55%}.chart span.h60{height:60%}.chart span.h65{height:65%}.chart span.h70{height:70%}.chart span.h75{height:75%}.chart span.h80{height:80%}.chart span.h85{height:85%}.chart span.h90{height:90%}.chart span.h95{height:95%}.chart span.h100{height:100%}
.chart span{min-height:6px}
.chart b{position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);white-space:nowrap}

@media(max-width:1050px){.builder-page{grid-template-columns:1fr}.builder-page aside{position:static}.hero{grid-template-columns:1fr}.price-grid{grid-template-columns:1fr}.join-form{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .grid2,.grid3{grid-template-columns:1fr}
  .svc-row{grid-template-columns:1fr 1fr}.svc-row>label:first-child{grid-column:1/-1}
  .perk-row{grid-template-columns:1fr 1fr}.perk-row>label:nth-child(3){grid-column:1/-1}
  .hero h1{font-size:36px}
  .history li{grid-template-columns:1fr auto}.history li time{grid-column:1/-1}
  .confirm-box strong{font-size:26px}
  .kv{grid-template-columns:1fr}
  .site-header{padding:14px 16px}.hero,.section{padding-left:16px;padding-right:16px}
  .sidebar.open{box-shadow:0 0 0 100vmax rgba(5,13,17,.45)}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.trial-link{color:#8be0d7}.sidebar-link{color:#93a1a9}.flex1{flex:1}.block{display:block}.admin-main{max-width:1200px}
.center{text-align:center}.mb16{margin-bottom:16px}
.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea,.settings-form input,.settings-form select{font-weight:500}
.svc-row{grid-template-columns:2.2fr 1.5fr .9fr 1.6fr 1.3fr 1fr auto}
.svc-row select,.perk-row select{font-size:13px}
.portal-grid .status{display:inline-block}
@media(max-width:1250px) and (min-width:761px){.svc-row{grid-template-columns:1fr 1fr 1fr}.svc-row>label:first-child{grid-column:1/-1}.svc-row .remove-row{justify-self:end}}
.banner{flex-wrap:wrap}.banner>span{min-width:0;flex:1 1 220px;overflow-wrap:anywhere}
.flash,.mono,.page-heading p,.member-name small,.redeem-card small{overflow-wrap:anywhere}
.page-heading>div{min-width:0}
@media(max-width:760px){.metrics .metric-alert,.metrics article{min-width:0}.top-actions .primary{white-space:nowrap}}
.activity-layout>*,.settings-grid>*,.dashboard-grid>*,.builder-page>*,.join-form>*{min-width:0}
.auth-card{overflow-wrap:anywhere}
@media(max-width:760px){
  .settings-grid>nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:4px}
  .settings-grid>nav a{white-space:nowrap}
  .table-card{overflow:visible;background:transparent;border:0}
  .table-card table{min-width:0}
  .table-card thead{display:none}
  .table-card table,.table-card tbody,.table-card tr,.table-card td{display:block;width:100%}
  .table-card tr{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:10px;padding:6px 4px}
  .table-card td{border:0;padding:6px 12px}
  .table-card td:empty{display:none}
  .toolbar{flex-wrap:wrap;overflow:visible}.toolbar .search{flex:1 1 100%;min-width:0}
}
.settings-grid>nav a{display:block;text-decoration:none;padding:11px 13px;border-radius:10px;color:var(--muted);font-weight:700}
.settings-grid>nav a.active{background:#fff;color:var(--ink)}
.settings-form .table-card table{min-width:0}
.svc-row{grid-template-columns:repeat(6,minmax(0,1fr))}
.svc-row>:nth-child(1){grid-column:span 3}.svc-row>:nth-child(2){grid-column:span 2}.svc-row>:nth-child(3){grid-column:span 1}
.svc-row>:nth-child(4){grid-column:span 2}.svc-row>:nth-child(5){grid-column:span 2}.svc-row>:nth-child(6){grid-column:span 1}.svc-row>:nth-child(7){grid-column:span 1;justify-self:end}
@media(max-width:760px){.svc-row{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-row>*{grid-column:span 1!important}.svc-row>:nth-child(1){grid-column:1/-1!important}}

/* ───── v1.1 brand: logo + wordmark ───── */
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-logo{flex:none;display:block;border-radius:9px;box-shadow:0 4px 12px rgba(8,106,97,.28)}
.brand-word{font-weight:800;letter-spacing:-.025em;color:var(--ink)}
.brand-word b{font-weight:800;color:var(--teal-dark)}
.sidebar .brand-word{color:#fff}.sidebar .brand-word b{color:#5fd4c7}
.powered-by{display:inline-flex;align-items:center;gap:5px}.powered-by .brand-logo{border-radius:4px;box-shadow:none}

/* ───── v1.1 customer portal & join themes ───── */
:root{--hero-a:#123139;--hero-b:#0d766d;--hero-eyebrow:#8be0d7;--hero-sub:#d1e7e5;--page:#f4f7f8;--card:#ffffff;--card-2:#f7f9f9}
.join-hero{background:linear-gradient(120deg,var(--hero-a),var(--hero-b))}
.portal-welcome{background:linear-gradient(120deg,var(--hero-a),var(--hero-b))}
.join-hero .eyebrow,.portal-welcome .eyebrow{color:var(--hero-eyebrow)!important}
.join-hero p,.portal-welcome p{color:var(--hero-sub)}
.join-shell,.portal-shell{background:var(--page)}
.join-shell .workspace-logo,.portal-shell .workspace-logo{background:var(--teal-soft);color:var(--teal-dark)}
.join-shell .primary,.portal-shell .primary{box-shadow:0 6px 14px color-mix(in srgb,var(--teal) 25%,transparent)}
.theme-ember{--teal:#d9480f;--teal-dark:#b23a0b;--teal-soft:#ffe9dd;--hero-a:#2b140b;--hero-b:#b8400f;--hero-eyebrow:#ffc49b;--hero-sub:#f7ddd0;--page:#faf6f3}
.theme-evergreen{--teal:#2f8a3e;--teal-dark:#236d30;--teal-soft:#e2f3e4;--hero-a:#10251a;--hero-b:#2a7a37;--hero-eyebrow:#a9e3b1;--hero-sub:#d6ecd9;--page:#f4f8f3}
.theme-orchid{--teal:#9336b0;--teal-dark:#76288e;--teal-soft:#f5e6fa;--hero-a:#26102f;--hero-b:#7a2c93;--hero-eyebrow:#e8b8f5;--hero-sub:#ecd9f2;--page:#f9f5fa}
.theme-graphite{--teal:#27333c;--teal-dark:#1a232a;--teal-soft:#e7ecef;--hero-a:#0e1418;--hero-b:#3a4853;--hero-eyebrow:#c9d4db;--hero-sub:#d9e0e4;--page:#f3f4f5}
.theme-midnight{--teal:#4c7dff;--teal-dark:#8fb0ff;--teal-soft:#1b2750;--hero-a:#0c1330;--hero-b:#2d4fcf;--hero-eyebrow:#a9c1ff;--hero-sub:#cbd7ff;--page:#0b1020;--card:#131a33;--card-2:#0f1530;--ink:#e6ebff;--muted:#9aa6cc;--line:#26305a;--panel:#131a33;--coral-soft:#3a1d27;color-scheme:dark;color:var(--ink)}
.theme-midnight .join-head,.theme-midnight .panel,.theme-midnight .plan-card,.theme-midnight .terms-box,.theme-midnight .portal-grid article,.theme-midnight .portal-section,.theme-midnight .portal-brand,.theme-midnight .portal-footer a,.theme-midnight .portal-footer button,.theme-midnight .ghost{background:var(--card);color:var(--ink);border-color:var(--line)}
.theme-midnight .portal-frame{background:var(--card-2);border-color:var(--line)}
.theme-midnight .form input:not([type=checkbox]):not([type=radio]),.theme-midnight .form select,.theme-midnight .form textarea{background:var(--card-2);color:var(--ink);border-color:var(--line)}
.theme-midnight .primary,.theme-midnight .portal-primary{color:#fff}
.theme-midnight .portal-primary{background:#fff;color:#1d2f7a}
.theme-midnight .flash.warn{background:#2a2412;border-color:#4c4020;color:#f3dea6}
.theme-midnight .flash.err,.theme-midnight .banner.err{background:#3a1d27;border-color:#5a2a38;color:#ffc2cc}
.theme-midnight .flash.ok{background:#15254f;border-color:#2a3f7a;color:#cfdcff}
.theme-midnight .status.active,.theme-midnight .pill.live{background:#1b2750;color:#a9c1ff}
.theme-midnight progress.bar{background:#26305a}.theme-midnight progress.bar::-webkit-progress-bar{background:#26305a}
.theme-midnight a{color:#a9c1ff}.theme-midnight .muted,.theme-midnight small,.theme-midnight .hint{color:var(--muted)}
.theme-midnight .text-button,.theme-midnight .portal-brand button,.theme-midnight .portal-section button{color:#a9c1ff}

/* Branding settings */
.theme-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin:14px 0}
.theme-option{position:relative;display:block;margin:0!important;border:2px solid var(--line);border-radius:14px;padding:10px;cursor:pointer;background:#fff}
.theme-option input{position:absolute;opacity:0;pointer-events:none}
.theme-option:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-soft)}
.theme-option:focus-within{outline:3px solid #6fd3c8;outline-offset:2px}
.theme-option b{display:block;margin-top:8px}.theme-option small{display:block;color:var(--muted);font-weight:500;font-size:12px}
.swatch{border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--page)}
.swatch-hero{height:40px;background:linear-gradient(120deg,var(--hero-a),var(--hero-b));padding:8px 10px}
.swatch-hero i{display:block;width:60%;height:7px;border-radius:9px;background:var(--hero-eyebrow);opacity:.85}
.swatch-hero em{display:block;width:40%;height:5px;border-radius:9px;background:var(--hero-sub);opacity:.6;margin-top:6px}
.swatch-body{display:flex;gap:6px;align-items:center;padding:8px 10px;background:var(--card)}
.swatch-body span{flex:1;height:6px;border-radius:9px;background:var(--teal-soft)}
.swatch-body span::before{content:"";display:block;width:55%;height:100%;border-radius:9px;background:var(--teal)}
.swatch-body button{border:0;border-radius:7px;background:var(--teal);width:34px;height:14px;padding:0;pointer-events:none}
.theme-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--page);margin-top:10px}
.theme-preview .portal-welcome{padding:22px}
.theme-preview .portal-grid{padding:14px}
/* ── v1.1 card-required trial & cancellation ── */
.price-card{position:relative}
.price-badge{position:absolute;top:-11px;right:18px;background:var(--teal);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.price-card form.row{flex-wrap:wrap}
.trial-note{display:grid;gap:4px;margin:14px 0 4px;padding:14px 16px;border-radius:14px;background:var(--teal-soft);border:1px solid #a9dcd5;color:#08584f}
.trial-note span{font-size:14px;line-height:1.5}
.trial-promise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 6px}
.trial-promise div{background:#f6f9f9;border:1px solid var(--line);border-radius:14px;padding:14px}
.trial-promise b{display:block;font-size:15px}
.trial-promise small{display:block;color:var(--muted);margin-top:3px;line-height:1.4}
.trial-promise i{font-style:normal;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--teal-soft);color:var(--teal-dark);font-weight:900;margin-bottom:8px}
.cancel-outcome{border-radius:14px;padding:16px 18px;margin:16px 0;border:1px solid}
.cancel-outcome b{font-size:17px}
.cancel-outcome p{margin:6px 0 0;line-height:1.5}
.cancel-outcome.good{background:var(--teal-soft);border-color:#a9dcd5;color:#08584f}
.cancel-outcome.warn{background:#fff8e8;border-color:#f5dfae;color:#6d4a0c}
.cancel-notes{padding-left:18px;color:var(--muted);line-height:1.55}
.cancel-notes li{margin:6px 0}
.trial-card b small{display:block;font-weight:600;color:#9fb0b7;font-size:12px;margin-top:2px}
@media(max-width:760px){.trial-promise{grid-template-columns:1fr}}
a.danger-soft,a.primary,a.ghost,a.soft{text-decoration:none;display:inline-block}
/* ── v1.3 plan lapse ── */
.lapse-banner{align-items:center}
.lose-panel{border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin:16px 0;background:#fbfcfc}
.lose-panel h3{margin:0 0 10px}
.lose-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}
.lose-stats div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.lose-stats b{display:block;font-size:24px;letter-spacing:-.02em}
.lose-stats span{color:var(--muted);font-size:13px}
.lose-list{list-style:none;padding-left:0}
/* pricing: where the money goes */
.fee-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 18px}
.fee-explainer div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.fee-explainer span{display:block;color:var(--muted);font-size:13px}
.fee-explainer b{display:block;font-size:22px;margin:4px 0}
.fee-explainer small{color:var(--muted);font-size:12px;line-height:1.4}
.block{display:block}.center{text-align:center}
@media(max-width:760px){.fee-explainer{grid-template-columns:1fr}}
/* ── v1.4 scheduler ── */
.booking-modes{border:0;padding:0;margin:18px 0;display:grid;gap:10px}
.booking-modes legend{font-weight:800;margin-bottom:8px}
.mode-option{display:flex!important;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:14px!important;margin:0!important;background:#fff;cursor:pointer}
.mode-option input{width:auto!important;margin:3px 0 0!important}
.mode-option small{display:block;color:var(--muted);font-weight:500;margin-top:3px;line-height:1.45}
.mode-option:has(input:checked){border-color:var(--teal);background:var(--teal-soft)}
.mode-url{margin:0 0 4px 34px!important}
.sched-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:14px}
.sched-head .row{flex-wrap:wrap}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.day-col{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;min-height:140px;min-width:0}
.day-col.today{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal-soft)}
.day-col.closed{background:#f6f8f9}
.day-col h3{font-size:13px;margin:0 0 8px;display:flex;justify-content:space-between;gap:6px}
.day-col h3 a{color:inherit;text-decoration:none}
.day-col h3 small{color:var(--muted);font-weight:600}
.appt{border-left:4px solid var(--teal);background:var(--teal-soft);border-radius:8px;padding:7px 8px;margin:0 0 6px;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
.appt b{display:block;font-size:13px}
.appt.completed{border-color:#7a8a93;background:#eef1f3;color:var(--muted)}
.appt.no_show{border-color:var(--coral);background:var(--coral-soft)}
.appt.needs{border-color:#e6a643;background:#fff4dc}
.blk{background:repeating-linear-gradient(135deg,#eef1f3,#eef1f3 6px,#e3e8eb 6px,#e3e8eb 12px);border-radius:8px;padding:6px 8px;font-size:12px;margin:0 0 6px;color:#44525b}
.day-list .appt{font-size:14px;padding:12px 14px}
.appt-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.appt-actions form{margin:0}
.appt-actions button,.appt-actions a{font-size:12px;padding:6px 10px}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:12px 0}
.slot-grid button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 6px;font-weight:700;color:var(--ink)}
.slot-grid button:hover{border-color:var(--teal);background:var(--teal-soft);color:var(--teal-dark)}
.date-chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px}
.date-chips a{flex:none;text-decoration:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;text-align:center;color:var(--ink);min-width:78px}
.date-chips a small{display:block;color:var(--muted);font-size:11px}
.date-chips a.on{border-color:var(--teal);background:var(--teal);color:#fff}
.date-chips a.on small{color:#dff3ef}
.svc-choice{display:grid;gap:8px;margin:10px 0}
.svc-choice a,.svc-choice span.disabled{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink);background:#fff}
.svc-choice a.on{border-color:var(--teal);background:var(--teal-soft)}
.svc-choice span.disabled{color:var(--muted);background:#f6f8f9}
.hours-table{width:100%;border-collapse:collapse}
.hours-table td,.hours-table th{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.hours-table input[type=time]{width:auto!important;display:inline-block!important;margin:0!important;padding:7px 8px!important}
.hours-table .closed-toggle{white-space:nowrap}
.upcoming .appt{background:#fff;border:1px solid var(--line);border-left:4px solid var(--teal)}
.contact-row{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1100px){.week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.week-grid{grid-template-columns:1fr}.hours-table td,.hours-table th{padding:6px 2px}}
.table-card table.hours-table{min-width:680px}
.hours-table th{white-space:nowrap}
/* ── v1.5 service location ── */
.place-box{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff;margin:6px 0 10px}
.place-box b{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.place-choice{border:0;padding:0;margin:6px 0 10px;display:grid;gap:8px}
.place-choice legend{font-weight:800;margin-bottom:6px}
.place-tag{display:inline-block;margin-top:2px;font-weight:700}
.place-tag a{color:inherit}
.place-tag.shop{font-weight:600;color:var(--muted)}
.join-where{display:inline-flex;gap:6px;align-items:center;background:rgba(255,255,255,.14);border-radius:999px;padding:5px 12px;font-size:13px;margin-top:10px}
/* ── v1.6 add-ons & extras ── */
.addon-list{display:grid;gap:8px;margin:12px 0}
.addon-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto auto;gap:10px;align-items:end;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.addon-row label{margin:0!important}
.addon-row.inactive{opacity:.6}
.addon-row .check{white-space:nowrap;padding-bottom:10px}
.addon-pick{display:grid;gap:8px}
.addon-pick .mode-option{align-items:center}
.addon-pick .mode-option span{flex:1}
.addon-pick select{width:auto!important;margin:0!important}
.receipt{border:1px solid var(--line);border-radius:12px;padding:6px 14px;margin:14px 0;background:#fff}
.receipt div{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.receipt div:first-child{border-top:0}
.receipt .disc{color:var(--teal-dark)}
.receipt .total{font-size:18px}
.mode-option.disabled{opacity:.6;cursor:not-allowed}
.consent-toggle{margin-top:10px}
.consent-toggle .check{margin:6px 0 10px!important}
@media(max-width:760px){.addon-row{grid-template-columns:1fr 1fr}.addon-row .check{white-space:normal}}
