/* ===========================================================================
   The 21-Day Sleep Reset, Multiply edition
   BRAND TOKENS: every colour is below. Swap these when Multiply send their
   brand guide; nothing else in this file needs touching.
   =========================================================================== */
:root{
  --mm-red:#E01B22;      /* Momentum primary, actions, today chip */
  --mm-powder:#C1E6ED;   /* Momentum secondary, card quotes */
  --mm-ink:#1A1A1A;      /* Momentum dark neutral */
  --mp-purple:#6B2C91;   /* Multiply accent, wordmark, personalised chip */
  --shc-navy:#1F3864;    /* Sleep Health Centre, clinical surfaces */
  --paper:#F6F7F9; --line:#E4E7EC; --muted:#6B7280; --r:18px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Helvetica,Arial,sans-serif;
 background:var(--paper);color:var(--mm-ink);font-size:16px;line-height:1.55;min-height:100vh}
a{color:inherit}
main{display:block}

/* ---------- co-brand bar ---------- */
.brandbar{background:#26272B;padding:10px 18px;display:flex;align-items:center;gap:14px;position:fixed;left:0;right:0;top:0;z-index:40}
body{padding-top:62px;background:#EEF0F3}
.brandbar .mp-mark{color:#fff}
.brandbar .tie{color:#8E93A0}
.brandbar .sep{background:#3C3E44}
.hdrlogo{height:30px;width:auto;display:block;filter:brightness(0) invert(1)}
.hdr-greet{font-size:13.5px;color:#B9BDC7;white-space:nowrap}
.hdr-greet b{color:#fff;font-weight:700}
.hdr-greet .dd{color:var(--mm-red);font-weight:800;margin:0 6px}
.brandbar .btn-g{background:transparent;color:#fff;border-color:#4A4D55}
.brandbar .btn-g:hover{background:rgba(255,255,255,.1)}
.lockup{display:flex;align-items:center;gap:12px}
.mp-mark{font-weight:800;font-size:19px;letter-spacing:-.6px;color:var(--mp-purple)}
.mp-mark.sm{font-size:15px}
.mp-mark .x{color:var(--mm-red)}
.tie{font-size:10px;color:var(--muted);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.shc-mark{font-weight:700;font-size:13px;color:var(--shc-navy);line-height:1.15}
.shc-mark.sm{font-size:12px}
.shc-mark span{display:block;font-weight:500;font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sep{width:1px;height:26px;background:var(--line);display:inline-block}
.spacer{flex:1}
.flash{background:#EAF6EF;border-bottom:1px solid #CFE8DA}
.flash .w{max-width:760px;margin:0 auto;padding:11px 22px;font-size:14.5px;color:#14663C}
.flash-error{background:#FDECEC;border-bottom-color:#F5CFCF}
.flash-error .w{color:#A31217}

/* ---------- buttons ---------- */
.btn{border:0;border-radius:999px;padding:11px 22px;font-size:14.5px;font-weight:660;cursor:pointer;
 font-family:inherit;transition:.15s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn.sm{padding:9px 17px;font-size:13.5px}
.btn-p{background:var(--mm-red);color:#fff}.btn-p:hover{filter:brightness(.93)}
.btn-n{background:var(--shc-navy);color:#fff}.btn-n:hover{filter:brightness(1.15)}
.btn-g{background:#fff;color:var(--mm-ink);border:1px solid var(--line)}.btn-g:hover{background:var(--paper)}
.btn-w{background:#fff;color:var(--shc-navy)}.btn-w:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.22)}

/* ---------- greeting ---------- */
.greet{max-width:760px;margin:0 auto;padding:26px 22px 8px}
.greet h1{font-size:25px;letter-spacing:-.6px;font-weight:750}
.greet .today{font-size:16.5px;color:var(--muted);margin-top:2px}
.greet .today b{color:var(--mm-ink);font-weight:650}
.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mm-red);margin:0 8px 3px}

/* ---------- deck ---------- */
.deck{max-width:880px;margin:0 auto;padding:22px 22px 6px}
.rail{position:relative}
.arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
 border:1px solid var(--line);background:#fff;z-index:6;box-shadow:0 4px 14px rgba(16,24,40,.12);
 display:flex;align-items:center;justify-content:center;transition:.15s;text-decoration:none;font-size:15px;color:var(--mm-ink)}
.arr-l{left:-22px}.arr-r{right:-22px}
.arrow:hover{background:var(--mm-ink);color:#fff;border-color:var(--mm-ink)}
.arrow.off{opacity:.25;pointer-events:none}
.cardhold{width:100%}
.card{background:#fff;border-radius:var(--r);border:1px solid var(--line);
 box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px -8px rgba(16,24,40,.10);overflow:hidden;
 animation:in .3s cubic-bezier(.22,.7,.3,1)}
@keyframes in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cardtop{padding:15px 22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#FCFCFD)}
.daychip{background:var(--mm-ink);color:#fff;font-size:12px;font-weight:750;letter-spacing:.04em;padding:5px 11px;border-radius:999px}
.daychip.now{background:var(--mm-red)}
.focuschip{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mp-purple);background:#F3EBF8;padding:4px 10px;border-radius:999px}
.focuschip.environment{color:#0E6E7D;background:#E3F3F6}
.focuschip.activeskills{color:#8A5A00;background:#FBF0DC}
.focuschip.close{color:var(--shc-navy);background:#E8EEF7}
.pers{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--mp-purple);padding:4px 10px;border-radius:999px}

.mcband{background:linear-gradient(100deg,var(--shc-navy),#33518A);color:#fff;padding:15px 22px;
 display:flex;align-items:center;gap:14px;text-decoration:none;transition:.15s}
.mcband:hover{filter:brightness(1.12)}
.mcplay{flex:0 0 40px;height:40px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:13px}
.mcmeta{display:block}
.mcband .lbl{display:block;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.72;font-weight:700}
.mcband .ttl{display:block;font-size:17px;font-weight:730;letter-spacing:-.2px;margin-top:1px}
.mcband .meta{display:block;font-size:12px;opacity:.72;margin-top:1px}
.mcband .go{margin-left:auto;font-size:12.5px;opacity:.85;white-space:nowrap}

.cardbody{padding:22px 24px}
.cardbody h2{font-size:23px;letter-spacing:-.5px;margin-bottom:12px;font-weight:730}
.cardbody p{margin-bottom:12px;font-size:15.5px}
.cardbody p:last-child{margin-bottom:0}
.stats{display:flex;gap:12px;margin:4px 0 16px;flex-wrap:wrap}
.stat{flex:1;min-width:150px;background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:13px 15px}
.stat .k{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}
.stat .v{display:block;font-size:19px;font-weight:750;margin-top:3px;letter-spacing:-.3px}
.stat .s{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}
.quote{margin:18px 24px 0;background:linear-gradient(135deg,var(--mm-powder),#DCEEF3);border-radius:14px;padding:20px 22px;text-align:center}
.quote p{font-size:17px;font-weight:670;letter-spacing:-.25px;color:#0C3A45;line-height:1.4}
.quote .tag{display:block;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:#4A7C89;margin-top:9px;font-weight:700}
.actions{padding:20px 24px 24px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.done{font-size:13.5px;color:#0A7B44;font-weight:650}
.done.muted{color:var(--muted)}

.dots{display:flex;gap:5px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.dt{width:7px;height:7px;border-radius:50%;background:var(--line);display:block}
a.dt{background:#C3C8D0}a.dt:hover{background:var(--mm-ink)}
.dt.cur{background:var(--mm-red);transform:scale(1.5)}
.dt.locked{background:#EDEFF2}

/* ---------- masterclass page ---------- */
.mcpage{max-width:820px;margin:0 auto;padding:22px 22px 6px}
.mcpage .back{display:inline-block;margin-bottom:14px;font-size:14px;color:var(--muted);text-decoration:none}
.mcpage .back:hover{color:var(--mm-ink)}
.vtop{background:linear-gradient(100deg,var(--shc-navy),#33518A);color:#fff;padding:20px 24px}
.vtop .lbl{font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;opacity:.72;font-weight:700}
.vtop h1{font-size:23px;font-weight:730;letter-spacing:-.4px;margin:3px 0 2px}
.vtop p{font-size:13px;opacity:.75}
.player{background:#0B1017;aspect-ratio:16/9}
.player video{width:100%;height:100%;display:block;background:#0B1017}
.vfoot{padding:18px 24px;font-size:14.5px;color:#4B5563}

/* ---------- consult banner + footer ---------- */
.consult{max-width:880px;margin:34px auto 0;padding:0 22px}
.consultbox{background:linear-gradient(112deg,var(--shc-navy),#2E4C81 55%,#3A5D96);border-radius:var(--r);
 padding:24px 26px;display:flex;align-items:center;gap:22px;color:#fff;position:relative;overflow:hidden}
.consultbox:before{content:"";position:absolute;right:-60px;top:-70px;width:230px;height:230px;border-radius:50%;background:rgba(255,255,255,.05)}
.consultbox .t{flex:1;min-width:0;position:relative}
.consultbox h3{font-size:19px;font-weight:730;letter-spacing:-.3px;margin-bottom:5px}
.consultbox p{font-size:14px;opacity:.84}
.consultbox .disc{font-size:11.5px;opacity:.62;margin-top:9px}
.consultbox .cta{position:relative;flex:0 0 auto}
footer{background:#fff;border-top:1px solid var(--line);margin-top:40px;padding:34px 22px 26px}
.fw{max-width:880px;margin:0 auto}
.frow{display:flex;gap:26px;flex-wrap:wrap;align-items:flex-start}
.fcol{flex:1;min-width:126px}
.fcol.brand{flex:1.5;min-width:210px}
.fcol h4{font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:750;margin-bottom:10px;cursor:default;position:relative;padding-right:16px}
.fcol.menu h4:after{content:"\203A";position:absolute;right:0;top:-1px;transform:rotate(90deg);transition:.2s;color:#B9C4D4;font-size:12px}
.fcol.menu:hover h4:after{transform:rotate(-90deg);color:var(--mm-red)}
.fcol.menu .fl{max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .25s ease}
.fcol.menu:hover .fl,.fcol.menu:focus-within .fl{max-height:220px;opacity:1}
.fcol a{display:block;color:var(--mm-ink);text-decoration:none;font-size:13.5px;margin-bottom:7px}
.fcol a:hover{color:var(--mm-red);text-decoration:underline}
.fcol p{font-size:13px;color:var(--muted);line-height:1.6}
.flock{display:flex;align-items:center;gap:11px;margin-bottom:12px}
.fbase{border-top:1px solid var(--line);margin-top:26px;padding-top:18px}
.fbase p{font-size:12px;color:var(--muted);text-align:center;margin-top:14px}
.fbase .med{font-size:12px;color:var(--muted);background:var(--paper);border-radius:8px;padding:10px 14px;width:100%}
.fbase .med b{color:var(--mm-ink)}

@media(max-width:640px){
  .greet{padding:20px 14px 6px}.greet h1{font-size:21px}.greet .today{font-size:15px}
  .deck{padding:12px 12px 4px}.arrow{width:36px;height:36px}.arr-l{left:4px}.arr-r{right:4px}
  .cardbody{padding:18px 17px}.cardbody h2{font-size:20px}.quote{margin:15px 17px 0}
  .actions{padding:17px}.brandbar{padding:9px 13px;gap:9px}.tie{display:none}.hdr-greet{display:none}.hdrlogo{height:24px}
  .consult{padding:0 12px;margin-top:26px}
  .consultbox{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}
  .mcpage{padding:16px 12px 4px}
}

/* ===========================================================================
   Legacy-page coverage, consent, intake, check-in, login, register.
   These pages keep their original markup; this block dresses it.
   =========================================================================== */
main > .card{max-width:680px;margin:26px auto;background:#fff;border:1px solid var(--line);
 border-radius:var(--r);box-shadow:0 1px 2px rgba(16,24,40,.04),0 12px 32px -8px rgba(16,24,40,.09);
 padding:26px;animation:in .3s cubic-bezier(.22,.7,.3,1)}
main > .card.narrow{max-width:440px}
main > .card h1{font-size:24px;letter-spacing:-.6px;font-weight:750;margin-bottom:8px}
main > .card h2{font-size:18px;letter-spacing:-.3px;font-weight:720;margin:18px 0 8px}
.lead{color:var(--muted);font-size:15.5px;margin-bottom:16px}
.preamble{color:var(--muted);font-size:14px;margin-bottom:14px}
.help{font-size:13px;color:var(--muted);margin:-4px 0 10px}
.muted{color:var(--muted)} .small{font-size:12.5px} .center{text-align:center}
.alert{border-radius:10px;padding:11px 14px;font-size:14px;margin-bottom:14px;background:#EEF1F5}
.alert-error{background:#FDECEC;color:#A31217}
.alert-ok{background:#EAF6EF;color:#14663C}

/* forms */
main > .card label{display:block;font-size:13px;font-weight:650;color:var(--mm-ink);margin:14px 0 5px}
main > .card input[type=text],main > .card input[type=email],main > .card input[type=tel],
main > .card input[type=password],main > .card input[type=time],main > .card input[type=number],
main > .card select,main > .card textarea{width:100%;padding:11px 13px;border:1px solid var(--line);
 border-radius:10px;font-size:15px;font-family:inherit;background:#fff;margin-top:4px}
main > .card input:focus,main > .card select:focus,main > .card textarea:focus{
 outline:2px solid var(--mp-purple);outline-offset:-1px;border-color:transparent}
main > .card small{display:block;color:var(--muted);font-size:12px;margin-top:4px;font-weight:400}

/* legacy buttons → Multiply */
.btn-primary{background:var(--mm-red);color:#fff;border:0;border-radius:999px;padding:12px 24px;
 font-size:15px;font-weight:680;cursor:pointer;font-family:inherit;transition:.15s;text-decoration:none;display:inline-block}
.btn-primary:hover{filter:brightness(.93)}
.btn-ghost{background:#fff;color:var(--mm-ink);border:1px solid var(--line);border-radius:999px;
 padding:11px 21px;font-size:14px;font-weight:640;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-block}
.btn-ghost:hover{background:var(--paper)}
.btn-block{display:block;width:100%;text-align:center;margin-top:18px}

/* quiz / intake questions */
.quizmeta{margin-bottom:16px}
.quizmeta .step{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.progress{height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin-top:8px}
.progress .bar{display:block;height:100%;background:var(--mm-red);border-radius:99px;transition:width .35s}
fieldset.qitem{border:0;padding:15px 0;border-top:1px solid var(--line);margin:0}
fieldset.qitem:first-of-type{border-top:0}
fieldset.qitem legend{font-size:15.5px;font-weight:640;margin-bottom:10px;display:block;width:100%;float:left}
fieldset.qitem legend + *{clear:both}
.qnum{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--shc-navy);color:#fff;
 font-size:11px;font-weight:750;align-items:center;justify-content:center;margin-right:8px;vertical-align:2px}
.opts{display:flex;flex-wrap:wrap;gap:7px;clear:both}
.opt{position:relative}
.opt input{position:absolute;opacity:0;width:0;height:0}
.opt span{display:block;border:1px solid var(--line);border-radius:11px;padding:9px 15px;font-size:14px;
 cursor:pointer;background:#fff;transition:.12s;font-weight:560}
.opt span:hover{border-color:#B9C4D4;background:#FAFBFC}
.opt input:checked+span{background:var(--shc-navy);border-color:var(--shc-navy);color:#fff;font-weight:640}
.opt input:focus-visible+span{outline:2px solid var(--mp-purple);outline-offset:2px}
fieldset.has-error legend{color:#C0201F}

/* consent + checkbox rows */
.consent-body{font-size:14.5px}
.consent-body h1,.consent-body h2,.consent-body h3{color:var(--shc-navy);margin:16px 0 6px;font-size:16px}
.consent-body p,.consent-body li{margin-bottom:9px;color:#333}
.consent-body ul{padding-left:20px}
label.check{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;
 padding:13px 15px;margin:10px 0;cursor:pointer;font-weight:500;font-size:14.5px;transition:.12s}
label.check:hover{background:#FAFBFC}
label.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--mm-red);flex:0 0 18px}
label.check.big{align-items:center}
label.check.big strong{font-weight:660}
label.check.big small{color:var(--muted);font-weight:400}
.logcheck{margin:6px 0 4px}

/* Day-0 results screen */
.dash-grid{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
.dash-grid .card.stat{flex:1;min-width:150px;background:var(--paper);border:1px solid var(--line);
 border-radius:13px;padding:13px 15px;box-shadow:none;margin:0;max-width:none}
.stat-num{display:block;font-size:19px;font-weight:750;letter-spacing:-.3px}
.stat-label{display:block;font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}
.goal{border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin:9px 0}
.goal-main strong{font-weight:660}
.goal-main p{font-size:13.5px;color:var(--muted);margin-top:3px}
.consult-cta{background:linear-gradient(112deg,var(--shc-navy),#2E4C81);border-radius:14px;color:#fff;
 padding:20px 22px;margin:18px 0}
.consult-cta h2{color:#fff;margin:0 0 6px;font-size:17px}
.consult-cta p{font-size:14px;opacity:.87;margin-bottom:12px}
.consult-cta .btn-primary{background:#fff;color:var(--shc-navy)}
.result-next{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
@media(max-width:640px){main > .card{margin:14px 12px;padding:19px}}

/* ---------- the sticky habit checklist ---------- */
.sidecheck{position:fixed;top:86px;right:max(18px, calc(50% - 440px - 262px));width:238px;
 background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 17px;z-index:30;
 box-shadow:0 1px 2px rgba(16,24,40,.04),0 10px 26px -10px rgba(16,24,40,.12);font-size:13px}
.sc-head{font-weight:800;font-size:15px;letter-spacing:-.2px;margin-bottom:6px}
.sc-meta{color:var(--muted);border-bottom:1px dashed var(--line);padding-bottom:10px;margin-bottom:10px;line-height:1.7}
.sc-meta b{color:var(--mm-ink);font-weight:700;float:right}
.sc-list{list-style:none;margin:0;padding:0}
.sc-list li{display:flex;gap:8px;align-items:flex-start;padding:5px 0;line-height:1.45;color:#333}
.sc-box{flex:0 0 16px;height:16px;border-radius:4px;background:#12925A;color:#fff;font-size:10px;
 display:flex;align-items:center;justify-content:center;margin-top:1px}
.sc-weekend{margin-top:11px;background:#FDECEC;color:#A31217;border-radius:9px;padding:8px 11px;
 font-weight:700;font-size:12.5px;line-height:1.35}
@media(max-width:1420px){.sidecheck{position:static;width:auto;max-width:880px;margin:14px auto 0;order:2}
 main{display:flex;flex-direction:column}}

/* ---------- v6: logo links, legal page, pulse ratings ---------- */
a.lgo{display:inline-flex;align-items:center;text-decoration:none;color:inherit}
a.lgo:hover{opacity:.85}

/* legal / privacy page */
.legal{max-width:880px;margin:26px auto 34px;padding:0 18px;font-size:15px;line-height:1.65;color:#333}
.legal h1{font-size:24px;letter-spacing:-.4px;color:var(--mm-ink);margin:30px 0 4px}
.legal h1:first-child{margin-top:6px}
.legal h2{font-size:16.5px;color:var(--shc-navy);margin:20px 0 6px}
.legal p{margin-bottom:10px}
.legal .sub{color:var(--muted);font-size:13.5px}
.legal a{color:var(--shc-navy);font-weight:600}

/* pulse ratings (energy / mood 1-5) */
.quality{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.quality .qstar{position:relative}
.quality .qstar input{position:absolute;opacity:0;width:0;height:0}
.quality .qstar span{display:flex;width:44px;height:44px;align-items:center;justify-content:center;
 border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700;font-size:15px;
 cursor:pointer;transition:.12s}
.quality .qstar span:hover{border-color:#B9C4D4;background:#FAFBFC}
.quality .qstar input:checked+span{background:var(--shc-navy);border-color:var(--shc-navy);color:#fff}
.quality .qstar input:focus-visible+span{outline:2px solid var(--mp-purple);outline-offset:2px}
main > .card hr{border:0;border-top:1px solid var(--line);margin:22px 0 4px}
.btn-danger{color:#A31217;border-color:#EBC3C3}
.btn-danger:hover{background:#FDECEC}

/* ---------- v7: admin under the Multiply chrome ---------- */
.adminnav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:62px;z-index:20}
.adminnav .w{max-width:1100px;margin:0 auto;padding:0 18px;display:flex;gap:4px}
.adminnav a{display:block;padding:12px 14px;font-size:13.5px;font-weight:650;color:var(--muted);
 text-decoration:none;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.adminnav a:hover{color:var(--mm-ink)}
.adminnav a.on{color:var(--mm-ink);border-bottom-color:var(--mm-red)}

main > .card.wide{max-width:1100px}

/* admin tables + bits (shared classes from the original admin pages) */
table.grid{width:100%;border-collapse:collapse;background:#fff;font-size:13.5px;margin:10px 0 4px}
table.grid th{background:var(--shc-navy);color:#fff;font-size:10.5px;letter-spacing:.06em;
 text-transform:uppercase;padding:9px 10px;text-align:left}
table.grid td{padding:9px 10px;border-top:1px solid #EEF0F3;vertical-align:middle}
table.grid.narrowtable{max-width:420px}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.badge{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700}
.badge.band-high{background:#FDECEC;color:#A31217}
.badge.band-mid{background:#FBF0DC;color:#8A5A00}
.badge.band-low{background:#EAF6EF;color:#14663C}
.tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:11px;font-weight:700;
 background:#EEF1F5;color:#3A4353}
.tag-amber{background:#FBF0DC;color:#8A5A00}
.tag-red{background:#FDECEC;color:#A31217}
.fdot{display:inline-block;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:700;margin:1px 2px 1px 0}
.fdot.red{background:#FDECEC;color:#A31217}
.fdot.amber{background:#FBF0DC;color:#8A5A00}
.fdot.done{opacity:.45}
form.inline{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
form.inline input{margin:0}
.grid-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 14px;
 align-items:end;margin:8px 0 18px}
.grid-form button{grid-column:1 / -1;justify-self:start}
.codeout{width:100%;font-family:ui-monospace,Menlo,monospace;font-size:13px;margin-top:8px;
 border:1px solid var(--line);border-radius:9px;padding:9px}
.btn-sm{padding:7px 14px;font-size:13px}
.btn-tiny{padding:5px 11px;font-size:12px}
main > .card.wide input[type=date],main > .card.wide input[type=number]{width:auto;display:inline-block}

/* ---- WhatsApp edition: registration, payment, welcome, admin queue ---- */
.alert-info{background:#EAF3FB;color:#1F3864}
details.consent-body{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:12px 0 8px;background:#FAFBFC}
details.consent-body summary{cursor:pointer;font-weight:650;color:var(--shc-navy)}
.wa-box{text-align:center;margin:18px 0}
.wa-box .qr{display:inline-block;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:14px 0}
.wa-box .num{font-size:20px;font-weight:750;letter-spacing:.3px}
.tag-ok{background:#EAF6EF;color:#14663C}
.tag-grey{background:#EEF1F5;color:#555}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.tabs a{padding:6px 12px;border-radius:99px;border:1px solid var(--line);font-size:13px;text-decoration:none}
.tabs a.on{background:var(--shc-navy);color:#fff;border-color:var(--shc-navy)}
.inline{display:inline}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;word-break:break-all}
