/* The Cove Training — shared stylesheet
   Extracted from the four FOH modules without changing any rendered value.
   Scoping:
     body.theme-brand            olive/terracotta brand design (modules 2–4, index, admin)
     body.theme-brand.module-N   the few rules that differ between modules 2, 3 and 4
     body.theme-teal             module 1's original teal design, kept intact until it is rebranded
*/

/* ===== Base (all pages) ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

/* ===== Brand theme (modules 2–4) ===== */
body.theme-brand{--olive:#A8AE8E;--olive-dark:#7A8060;--olive-xdark:#4E5240;--olive-pale:#F0F2E8;--olive-xpale:#F7F8F3;--slate:#78898F;--slate-pale:#EEF2F3;--terra:#984216;--terra-pale:#F7EDE6;--terra-dark:#6B2D0E;--cream:#F3E9DC;--cream-dark:#E8D9C4;--sand:#FAF8F5;--sand-mid:#EDE9E2;--white:#FFFFFF;--text-dark:#1A1A1A;--text-mid:#4A4A4A;--text-soft:#767676;--border:#E0DDD7;--border-mid:#C8C4BC;--amber-pale:#FEF3C7;--amber-text:#7A4F0A;--amber-border:#D97706;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 16px rgba(0,0,0,0.08),0 2px 6px rgba(0,0,0,0.04)}
body.theme-brand{font-family:"DM Sans",system-ui,sans-serif;background:var(--sand);color:var(--text-dark);font-size:16px;line-height:1.65;min-height:100vh}
body.theme-brand .site-header{background:var(--olive-xdark);position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,0.18)}
body.theme-brand .site-header-inner{max-width:920px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:58px}
body.theme-brand .header-logo img{height:26px;width:auto;display:block}
body.theme-brand .header-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
body.theme-brand .header-module{font-size:11px;color:rgba(255,255,255,0.45);letter-spacing:0.08em}
body.theme-brand .header-title{font-size:12px;color:rgba(255,255,255,0.72);font-weight:400}
body.theme-brand .hero{background:var(--olive-xdark);padding:2.5rem 1.5rem 3rem;position:relative;overflow:hidden}
body.theme-brand .hero::before{content:"";position:absolute;top:-80px;right:-60px;width:320px;height:320px;border:1px solid rgba(255,255,255,0.05);border-radius:50%}
body.theme-brand .hero::after{content:"";position:absolute;bottom:-120px;right:40px;width:400px;height:400px;border:1px solid rgba(255,255,255,0.03);border-radius:50%}
body.theme-brand .hero-inner{max-width:920px;margin:0 auto;position:relative;z-index:1}
body.theme-brand .hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);border-radius:99px;padding:5px 14px;margin-bottom:1.25rem}
body.theme-brand .hero-badge-dot{width:7px;height:7px;background:var(--olive);border-radius:50%}
body.theme-brand .hero-badge-text{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.65);font-weight:500}
body.theme-brand .hero-title{font-family:"Playfair Display",Georgia,serif;font-size:clamp(24px,4vw,38px);font-weight:500;color:var(--white);line-height:1.15;margin-bottom:.75rem}
body.theme-brand .hero-title em{color:var(--olive);font-style:normal}
body.theme-brand .hero-subtitle{font-size:15px;color:rgba(255,255,255,0.58);font-weight:300;max-width:580px;line-height:1.75;margin-bottom:2rem}
body.theme-brand .hero-stats{display:flex;gap:2rem;flex-wrap:wrap}
body.theme-brand .hero-stat-num{font-family:"Playfair Display",serif;font-size:26px;font-weight:500;color:var(--white);display:block}
body.theme-brand .hero-stat-label{font-size:11px;color:rgba(255,255,255,0.4);text-transform:uppercase;letter-spacing:0.08em}
body.theme-brand .main-wrap{max-width:920px;margin:0 auto;padding:1.75rem 1.5rem 5rem}
body.theme-brand .progress-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm)}
body.theme-brand .progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
body.theme-brand .progress-row span{font-size:13px;color:var(--text-soft)}
body.theme-brand .progress-row strong{font-size:13px;font-weight:500;color:var(--olive-xdark)}
body.theme-brand .progress-track{height:6px;background:var(--sand-mid);border-radius:99px;overflow:hidden}
body.theme-brand .progress-fill{height:100%;background:linear-gradient(90deg,var(--olive-dark),var(--olive));border-radius:99px;transition:width .7s cubic-bezier(.4,0,.2,1);width:0%}
body.theme-brand .progress-steps{display:flex;gap:5px;margin-top:10px}
body.theme-brand .p-step{flex:1;height:3px;background:var(--sand-mid);border-radius:99px;transition:background .4s ease}
body.theme-brand .p-step.done{background:var(--olive)}
body.theme-brand .module-nav{display:flex;gap:7px;margin-bottom:1.5rem;flex-wrap:wrap}
body.theme-brand .mod-tab{padding:8px 15px;border-radius:99px;border:1px solid var(--border-mid);background:var(--white);font-size:12px;font-family:"DM Sans",sans-serif;color:var(--text-soft);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;font-weight:400;box-shadow:var(--shadow-sm);line-height:1.3}
body.theme-brand .mod-tab:hover{border-color:var(--olive);color:var(--olive-xdark)}
body.theme-brand .mod-tab.active{background:var(--olive-xdark);border-color:var(--olive-xdark);color:var(--white);box-shadow:0 2px 8px rgba(78,82,64,.3)}
body.theme-brand .tab-tick{width:15px;height:15px;background:var(--olive);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.theme-brand .tab-tick svg{width:8px;height:8px}
body.theme-brand .content-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
body.theme-brand .section{display:none}
body.theme-brand .section.active{display:block}
body.theme-brand .lesson-hd{padding:1.75rem 1.75rem 1.5rem;position:relative;overflow:hidden}
body.theme-brand .lesson-hd.hd-recap{background:linear-gradient(135deg,#3a3d2e,var(--olive-xdark))}
body.theme-brand .lesson-hd.hd-main{background:var(--olive-xdark)}
body.theme-brand .lesson-hd.hd-culture{background:linear-gradient(135deg,#2a2e20,#3d4330)}
body.theme-brand .lesson-hd::before{content:"";position:absolute;top:-50px;right:-50px;width:220px;height:220px;border:1px solid rgba(255,255,255,0.05);border-radius:50%}
body.theme-brand .lesson-eyebrow{font-size:10px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px;font-weight:500;color:var(--olive)}
body.theme-brand .lesson-eyebrow.ey-cream{color:var(--cream)}
body.theme-brand .lesson-title{font-family:"Playfair Display",Georgia,serif;font-size:clamp(19px,2.8vw,26px);font-weight:500;color:var(--white);margin-bottom:6px;position:relative;z-index:1;line-height:1.2}
body.theme-brand .lesson-meta{font-size:12px;color:rgba(255,255,255,0.35);letter-spacing:.04em}
body.theme-brand .lesson-intro{font-size:14px;color:rgba(255,255,255,0.6);margin-top:10px;line-height:1.7;max-width:600px;font-weight:300;font-style:italic;position:relative;z-index:1}
body.theme-brand .lesson-body{padding:1.75rem}
body.theme-brand .intro-para{font-size:15px;color:var(--text-mid);line-height:1.85;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);font-weight:300}
body.theme-brand .intro-para strong{font-weight:500;color:var(--text-dark)}
body.theme-brand .standard-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:14px;transition:box-shadow .2s,border-color .2s}
body.theme-brand .standard-card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-mid)}
body.theme-brand .standard-card-title{font-size:14px;font-weight:500;margin-bottom:10px;color:var(--text-dark);display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:1.4}
body.theme-brand .tag{font-size:10px;padding:2px 9px;border-radius:99px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
body.theme-brand .tag-olive{background:var(--olive-pale);color:var(--olive-xdark)}
body.theme-brand .tag-terra{background:var(--terra-pale);color:var(--terra-dark)}
body.theme-brand .tag-slate{background:var(--slate-pale);color:#3d5059}
body.theme-brand .standard-card p{font-size:14px;color:var(--text-mid);line-height:1.75;margin-bottom:10px}
body.theme-brand .standard-card p:last-child{margin-bottom:0}
body.theme-brand .script-block{background:var(--olive-xpale);border:1px solid #d0d4b8;border-radius:var(--radius-md);padding:14px 18px;margin:12px 0}
body.theme-brand .script-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--olive-dark);margin-bottom:8px}
body.theme-brand .script-line{font-size:14px;color:var(--olive-xdark);line-height:1.7;font-style:italic;margin-bottom:6px;padding-left:10px;border-left:2px solid var(--olive)}
body.theme-brand .script-line:last-of-type{margin-bottom:0}
body.theme-brand .script-note{font-size:12px;color:var(--olive-dark);margin-top:10px;line-height:1.55;background:rgba(168,174,142,.12);border-radius:6px;padding:8px 10px}
body.theme-brand .dont-block{background:var(--terra-pale);border:1px solid #e8b99a;border-radius:var(--radius-md);padding:14px 18px;margin:10px 0}
body.theme-brand .dont-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--terra-dark);margin-bottom:8px}
body.theme-brand .dont-line{font-size:13px;color:var(--terra-dark);line-height:1.65;font-style:italic;margin-bottom:5px;padding-left:10px;border-left:2px solid var(--terra)}
body.theme-brand .dont-line:last-child{margin-bottom:0}
body.theme-brand .tip-card{background:var(--olive-xpale);border-left:3px solid var(--olive);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--olive-xdark);line-height:1.7}
body.theme-brand .tip-card strong{font-weight:500}
body.theme-brand .culture-card{background:var(--cream);border-left:3px solid var(--terra);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--terra-dark);line-height:1.7}
body.theme-brand .culture-card strong{font-weight:500}
body.theme-brand .info-card{background:var(--slate-pale);border-left:3px solid var(--slate);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:#2d4047;line-height:1.7}
body.theme-brand .info-card strong{font-weight:500}
body.theme-brand.module-2 .hygiene-grid,body.theme-brand.module-3 .hygiene-grid,body.theme-brand.module-4 .hygiene-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:12px 0}
body.theme-brand .hygiene-item{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}
body.theme-brand .hygiene-icon{width:30px;height:30px;background:var(--olive-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}
body.theme-brand .hygiene-text{font-size:13px;color:var(--text-mid);line-height:1.5}
body.theme-brand .hygiene-text strong{display:block;font-weight:500;color:var(--text-dark);margin-bottom:2px;font-size:13px}
body.theme-brand .guest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
body.theme-brand .guest-card{border-radius:var(--radius-md);padding:16px;border:1px solid var(--border)}
body.theme-brand .gc-hotel{background:linear-gradient(135deg,#F0F2E8,#E8EBD9);border-color:#c8ccb0}
body.theme-brand .gc-corp{background:linear-gradient(135deg,var(--slate-pale),#dde4e7);border-color:#b8c4c8}
body.theme-brand .gc-walkin{background:linear-gradient(135deg,var(--terra-pale),#f2e4da);border-color:#e0bba8}
body.theme-brand .guest-card-icon{font-size:20px;margin-bottom:8px;display:block}
body.theme-brand .guest-card-title{font-size:13px;font-weight:500;margin-bottom:6px;color:var(--text-dark)}
body.theme-brand .guest-card p{font-size:12px;color:var(--text-mid);line-height:1.6}
body.theme-brand .guest-card-need{font-size:11px;font-weight:500;margin-top:8px;padding:4px 10px;border-radius:99px;display:inline-block}
body.theme-brand .need-hotel{background:var(--olive-pale);color:var(--olive-xdark)}
body.theme-brand .need-corp{background:var(--slate-pale);color:#3d5059}
body.theme-brand .need-walkin{background:var(--terra-pale);color:var(--terra-dark)}
body.theme-brand .values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:14px 0}
body.theme-brand .value-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;border-top:3px solid var(--olive)}
body.theme-brand .value-card-title{font-size:13px;font-weight:500;color:var(--olive-xdark);margin-bottom:6px}
body.theme-brand .value-card p{font-size:12px;color:var(--text-mid);line-height:1.6}
body.theme-brand .steps-list{margin:12px 0}
body.theme-brand .step-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}
body.theme-brand .step-item:last-child{border-bottom:none}
body.theme-brand .step-num{width:28px;height:28px;background:var(--olive);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:500;color:var(--white);margin-top:2px}
body.theme-brand .step-text{font-size:14px;color:var(--text-mid);line-height:1.65}
body.theme-brand .step-text strong{color:var(--text-dark);font-weight:500}
body.theme-brand .divider{border:none;border-top:1px solid var(--border);margin:1.75rem 0}
body.theme-brand .section-label{font-size:11px;font-weight:500;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;display:flex;align-items:center;gap:8px}
body.theme-brand .section-label::after{content:"";flex:1;height:1px;background:var(--border)}
body.theme-brand .check-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--radius-md);margin-bottom:7px;cursor:pointer;user-select:none;transition:background .15s;border:1px solid transparent}
body.theme-brand .check-item:hover{background:var(--olive-xpale);border-color:var(--border)}
body.theme-brand .check-item.checked{background:var(--olive-pale);border-color:#c0c8a0}
body.theme-brand .check-box{width:22px;height:22px;border:1.5px solid var(--border-mid);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all .2s;background:var(--white)}
body.theme-brand .check-item.checked .check-box{background:var(--olive);border-color:var(--olive)}
body.theme-brand .check-box svg{display:none}
body.theme-brand .check-item.checked .check-box svg{display:block}
body.theme-brand .check-text{font-size:14px;line-height:1.55;color:var(--text-dark)}
body.theme-brand .check-item.checked .check-text{color:var(--text-mid)}
body.theme-brand .quiz-q{margin-bottom:1.75rem}
body.theme-brand .quiz-q-num{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
body.theme-brand .quiz-q-text{font-size:15px;font-weight:500;margin-bottom:12px;line-height:1.5;color:var(--text-dark)}
body.theme-brand .quiz-option{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;font-size:14px;transition:all .15s;background:var(--white);color:var(--text-dark);line-height:1.55}
body.theme-brand .quiz-option:hover{border-color:var(--olive);background:var(--olive-xpale)}
body.theme-brand .quiz-option.correct{border-color:var(--olive);background:var(--olive-pale);color:var(--olive-xdark);cursor:default}
body.theme-brand .quiz-option.wrong{border-color:var(--terra);background:var(--terra-pale);color:var(--terra-dark);cursor:default}
body.theme-brand .quiz-option.locked{cursor:default}
body.theme-brand .quiz-radio{width:18px;height:18px;border:1.5px solid var(--border-mid);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .2s}
body.theme-brand .quiz-option.correct .quiz-radio{border-color:var(--olive);background:var(--olive)}
body.theme-brand .quiz-option.wrong .quiz-radio{border-color:var(--terra);background:var(--terra)}
body.theme-brand .quiz-radio-dot{width:7px;height:7px;background:var(--white);border-radius:50%;display:none}
body.theme-brand .quiz-option.correct .quiz-radio-dot,body.theme-brand .quiz-option.wrong .quiz-radio-dot{display:block}
body.theme-brand .quiz-feedback{font-size:13px;padding:12px 16px;border-radius:var(--radius-md);margin-top:8px;display:none;line-height:1.7}
body.theme-brand .quiz-feedback.visible{display:block}
body.theme-brand .feedback-good{background:var(--olive-pale);color:var(--olive-xdark);border-left:3px solid var(--olive)}
body.theme-brand .feedback-bad{background:var(--terra-pale);color:var(--terra-dark);border-left:3px solid var(--terra)}
body.theme-brand .recap-score{display:none;background:var(--olive-pale);border:1px solid #c0c8a0;border-radius:var(--radius-md);padding:16px 20px;margin-bottom:1.5rem;text-align:center}
body.theme-brand .recap-score.show{display:block}
body.theme-brand .recap-score-num{font-family:"Playfair Display",serif;font-size:32px;font-weight:500;color:var(--olive-xdark);display:block}
body.theme-brand .recap-score-label{font-size:13px;color:var(--olive-dark);margin-top:4px}
body.theme-brand .recap-score-msg{font-size:13px;color:var(--text-mid);margin-top:8px;line-height:1.6}
body.theme-brand .action-row{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:1.25rem 1.75rem;border-top:1px solid var(--border);background:#FAFAF8;flex-wrap:wrap}
body.theme-brand .btn{padding:10px 22px;border-radius:var(--radius-md);font-size:13px;font-family:"DM Sans",sans-serif;font-weight:500;cursor:pointer;border:1px solid var(--border-mid);background:var(--white);color:var(--text-mid);transition:all .15s}
body.theme-brand .btn:hover{background:var(--sand)}
body.theme-brand .btn-primary{background:var(--olive-xdark);border-color:var(--olive-xdark);color:var(--white)}
body.theme-brand .btn-primary:hover{background:var(--olive-dark);border-color:var(--olive-dark)}
body.theme-brand .signoff-body{padding:1.75rem}
body.theme-brand .field-label{display:block;font-size:12px;font-weight:500;color:var(--text-soft);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
body.theme-brand .field-note{font-size:12px;color:var(--text-soft);margin-bottom:8px;margin-top:-2px;line-height:1.55;font-style:italic}
body.theme-brand .field-input{width:100%;padding:11px 14px;border:1px solid var(--border-mid);border-radius:var(--radius-md);font-family:"DM Sans",sans-serif;font-size:14px;background:var(--white);color:var(--text-dark);margin-bottom:1.25rem;transition:border-color .15s,box-shadow .15s}
body.theme-brand .field-input:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px rgba(168,174,142,.2)}
body.theme-brand textarea.field-input{resize:vertical;min-height:110px;line-height:1.65}
body.theme-brand .lock-notice{background:var(--terra-pale);border:1px solid #e8b99a;border-radius:var(--radius-md);padding:12px 16px;font-size:13px;color:var(--terra-dark);margin-bottom:1.5rem;display:none;line-height:1.55}
body.theme-brand .lock-notice.show{display:block}
body.theme-brand .email-preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);margin-bottom:8px;font-weight:500}
body.theme-brand .email-preview{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;font-size:13px;line-height:1.75;color:var(--text-mid);white-space:pre-wrap;font-family:"DM Sans",sans-serif;margin-bottom:1.5rem}
body.theme-brand .completion-banner{text-align:center;padding:3rem 2rem;display:none}
body.theme-brand .completion-banner.show{display:block}
body.theme-brand .completion-ring{width:68px;height:68px;background:var(--olive-pale);border:2px solid var(--olive);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
body.theme-brand .completion-ring svg{width:32px;height:32px}
body.theme-brand .completion-banner h3{font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:500;color:var(--olive-xdark);margin-bottom:10px}
body.theme-brand .completion-banner p{font-size:14px;color:var(--text-soft);line-height:1.7;max-width:440px;margin:0 auto}
body.theme-brand .site-footer{text-align:center;padding:2rem 1.5rem;font-size:12px;color:var(--text-soft);border-top:1px solid var(--border);margin-top:2rem}
body.theme-brand .site-footer img{height:18px;width:auto;opacity:.3;display:block;margin:0 auto 8px}
body.theme-brand .lesson-hd.hd-allergy{background:linear-gradient(135deg,#4a2810,var(--olive-xdark))}
body.theme-brand .lesson-hd.hd-sell{background:linear-gradient(135deg,#2a3820,var(--olive-xdark))}
body.theme-brand .tag-amber{background:var(--amber-pale);color:var(--amber-text)}
body.theme-brand .warning-card{background:var(--terra-pale);border-left:3px solid var(--terra);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--terra-dark);line-height:1.7}
body.theme-brand .warning-card strong{font-weight:500}
body.theme-brand .alert-card{background:var(--amber-pale);border-left:3px solid var(--amber-border);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--amber-text);line-height:1.7}
body.theme-brand .alert-card strong{font-weight:500}
body.theme-brand .allergen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;margin:14px 0}
body.theme-brand .allergen-pill{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dark)}
body.theme-brand .allergen-pill-icon{font-size:16px;flex-shrink:0}
body.theme-brand .allergen-pill span{font-weight:400;line-height:1.3}
body.theme-brand .allergen-pill.hi{background:var(--terra-pale);border-color:#e8b99a}
body.theme-brand .allergen-pill.hi span{color:var(--terra-dark)}
body.theme-brand .comparison-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
body.theme-brand .comp-good{background:var(--olive-xpale);border:1px solid #d0d4b8;border-radius:var(--radius-md);padding:14px 16px}
body.theme-brand .comp-bad{background:var(--terra-pale);border:1px solid #e8b99a;border-radius:var(--radius-md);padding:14px 16px}
body.theme-brand .comp-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:600;margin-bottom:10px}
body.theme-brand .comp-label-good{color:var(--olive-dark)}
body.theme-brand .comp-label-bad{color:var(--terra-dark)}
body.theme-brand .comp-line{font-size:13px;line-height:1.65;margin-bottom:6px;font-style:italic}
body.theme-brand .comp-line:last-child{margin-bottom:0}
body.theme-brand .comp-good .comp-line{color:var(--olive-xdark)}
body.theme-brand .comp-bad .comp-line{color:var(--terra-dark)}
body.theme-brand .pairing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
body.theme-brand .pairing-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}
body.theme-brand .pairing-card-title{font-size:12px;font-weight:500;color:var(--olive-xdark);margin-bottom:8px;text-transform:uppercase;letter-spacing:0.05em}
body.theme-brand .pairing-card p{font-size:13px;color:var(--text-mid);line-height:1.6}
body.theme-brand .pairing-card .example{font-size:12px;color:var(--text-soft);font-style:italic;margin-top:6px}
body.theme-brand .lesson-hd.hd-cocktail{background:linear-gradient(135deg,#2d1a0e,#4a3020)}
body.theme-brand .lesson-hd.hd-wine{background:linear-gradient(135deg,#1a1030,#3a2850)}
body.theme-brand .lesson-hd.hd-coffee{background:linear-gradient(135deg,#1a0e06,#3d2010)}
body.theme-brand .lesson-hd.hd-signoff{background:linear-gradient(135deg,#2a3820,var(--olive-xdark))}
body.theme-brand .lesson-eyebrow.ey-gold{color:#d4a96a}
body.theme-brand .drink-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0}
body.theme-brand .drink-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px}
body.theme-brand .drink-card-name{font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:4px}
body.theme-brand .drink-card-base{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:8px}
body.theme-brand .drink-card-desc{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:8px}
body.theme-brand .drink-card-sell{font-size:12px;color:var(--olive-dark);font-style:italic;border-top:1px solid var(--border);padding-top:7px;line-height:1.55}
body.theme-brand .wine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0}
body.theme-brand .wine-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;border-top:3px solid var(--olive)}
body.theme-brand .wine-card.red{border-top-color:#7a2020}
body.theme-brand .wine-card.rose{border-top-color:#c4607a}
body.theme-brand .wine-card-estate{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px}
body.theme-brand .wine-card-name{font-size:14px;font-weight:500;color:var(--text-dark);margin-bottom:6px}
body.theme-brand .wine-card-desc{font-size:13px;color:var(--text-mid);line-height:1.6}
body.theme-brand .wine-card-pair{font-size:12px;color:var(--olive-dark);font-style:italic;margin-top:6px}
body.theme-brand .coffee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:14px 0}
body.theme-brand .coffee-card{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px}
body.theme-brand .coffee-card-name{font-size:13px;font-weight:500;color:var(--text-dark);margin-bottom:4px}
body.theme-brand .coffee-card-desc{font-size:12px;color:var(--text-mid);line-height:1.55}
@media (max-width:640px){
  body.theme-brand .main-wrap{padding:1.25rem 1rem 3rem}
  body.theme-brand .lesson-body,body.theme-brand .signoff-body{padding:1.25rem}
  body.theme-brand .action-row{padding:1rem 1.25rem}
  body.theme-brand .mod-tab{font-size:11px;padding:7px 11px}
  body.theme-brand .lesson-hd{padding:1.4rem 1.25rem 1.2rem}
  body.theme-brand .hero{padding:2rem 1.25rem 2.5rem}
  body.theme-brand .hero-stats{gap:1.25rem}
  body.theme-brand .guest-grid,body.theme-brand .values-grid,body.theme-brand.module-2 .hygiene-grid,body.theme-brand.module-4 .hygiene-grid{grid-template-columns:1fr}
  body.theme-brand.module-3 .hygiene-grid,body.theme-brand .allergen-grid,body.theme-brand .pairing-grid{grid-template-columns:1fr 1fr}
  body.theme-brand .comparison-row,body.theme-brand .drink-grid,body.theme-brand .wine-grid,body.theme-brand .coffee-grid{grid-template-columns:1fr}
}
@media (max-width:400px){
  body.theme-brand .allergen-grid,body.theme-brand.module-3 .hygiene-grid{grid-template-columns:1fr}
}

/* ===== Teal theme (module 1, legacy) ===== */
body.theme-teal{--teal-dark:#1A3C34;--teal-mid:#2E7D6E;--teal-light:#4AA898;--teal-pale:#E1F5EE;--teal-xpale:#f0faf6;--sand:#F9F6F1;--sand-mid:#EDE8E0;--text-dark:#1a1a1a;--text-mid:#4a5568;--text-soft:#718096;--white:#ffffff;--border:#E2E8F0;--border-mid:#CBD5E0;--coral:#D85A30;--coral-pale:#FAECE7;--coral-text:#7A2E10;--amber-pale:#FEF3C7;--amber-text:#78430A;--amber-border:#F59E0B;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--shadow-sm:0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04)}
body.theme-teal{font-family:"DM Sans", system-ui, sans-serif;background:var(--sand);color:var(--text-dark);font-size:16px;line-height:1.6;min-height:100vh}
body.theme-teal .site-header{background:var(--teal-dark);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,0.2)}
body.theme-teal .site-header-inner{max-width:900px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:56px}
body.theme-teal .site-brand{display:flex;align-items:center;gap:10px}
body.theme-teal .site-logo-mark{width:32px;height:32px;border:1.5px solid rgba(159,225,203,0.4);border-radius:50%;display:flex;align-items:center;justify-content:center}
body.theme-teal .site-logo-mark svg{width:16px;height:16px}
body.theme-teal .site-brand-name{font-family:"Playfair Display", Georgia, serif;font-size:14px;letter-spacing:0.14em;color:#9FE1CB;text-transform:uppercase}
body.theme-teal .site-module-label{font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:0.04em}
body.theme-teal .main-wrap{max-width:900px;margin:0 auto;padding:2rem 1.5rem 5rem}
body.theme-teal .hero{text-align:center;padding:3rem 1rem 2.5rem;border-bottom:1px solid var(--border);margin-bottom:2rem}
body.theme-teal .hero-eyebrow{display:inline-block;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal-mid);font-weight:500;margin-bottom:14px;background:var(--teal-pale);padding:4px 14px;border-radius:99px}
body.theme-teal .hero-title{font-family:"Playfair Display", Georgia, serif;font-size:clamp(26px, 4vw, 38px);font-weight:500;color:var(--teal-dark);margin-bottom:12px;line-height:1.2}
body.theme-teal .hero-intro{font-size:15px;color:var(--text-mid);max-width:560px;margin:0 auto 1.5rem;line-height:1.75;font-weight:300}
body.theme-teal .hero-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}
body.theme-teal .hero-stat{text-align:center}
body.theme-teal .hero-stat-num{font-family:"Playfair Display", serif;font-size:22px;font-weight:500;color:var(--teal-dark);display:block}
body.theme-teal .hero-stat-label{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.07em}
body.theme-teal .progress-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm)}
body.theme-teal .progress-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
body.theme-teal .progress-row span{font-size:13px;color:var(--text-soft)}
body.theme-teal .progress-row strong{font-size:13px;font-weight:500;color:var(--teal-dark)}
body.theme-teal .progress-track{height:7px;background:var(--sand-mid);border-radius:99px;overflow:hidden}
body.theme-teal .progress-fill{height:100%;background:linear-gradient(90deg, var(--teal-mid), var(--teal-light));border-radius:99px;transition:width 0.7s cubic-bezier(0.4,0,0.2,1);width:0%}
body.theme-teal .progress-steps{display:flex;gap:6px;margin-top:10px}
body.theme-teal .p-step{flex:1;height:3px;background:var(--sand-mid);border-radius:99px;transition:background 0.4s ease}
body.theme-teal .p-step.done{background:var(--teal-mid)}
body.theme-teal .module-nav{display:flex;gap:8px;margin-bottom:1.5rem;flex-wrap:wrap}
body.theme-teal .mod-tab{padding:9px 18px;border-radius:99px;border:1px solid var(--border-mid);background:var(--white);font-size:13px;font-family:"DM Sans", sans-serif;color:var(--text-soft);cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;gap:7px;font-weight:400;box-shadow:var(--shadow-sm)}
body.theme-teal .mod-tab:hover{border-color:var(--teal-light);color:var(--teal-dark)}
body.theme-teal .mod-tab.active{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white);box-shadow:0 2px 8px rgba(26,60,52,0.25)}
body.theme-teal .tab-tick{width:16px;height:16px;background:var(--teal-light);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
body.theme-teal .tab-tick svg{width:8px;height:8px}
body.theme-teal .content-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}
body.theme-teal .section{display:none}
body.theme-teal .section.active{display:block}
body.theme-teal .lesson-hd{background:var(--teal-dark);padding:2rem 1.75rem;position:relative;overflow:hidden}
body.theme-teal .lesson-hd::before{content:"";position:absolute;top:-40px;right:-40px;width:200px;height:200px;border:1px solid rgba(255,255,255,0.05);border-radius:50%}
body.theme-teal .lesson-hd::after{content:"";position:absolute;bottom:-70px;right:30px;width:260px;height:260px;border:1px solid rgba(255,255,255,0.03);border-radius:50%}
body.theme-teal .lesson-eyebrow{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#9FE1CB;margin-bottom:8px;font-weight:400}
body.theme-teal .lesson-title{font-family:"Playfair Display", Georgia, serif;font-size:clamp(20px, 3vw, 28px);font-weight:500;color:var(--white);margin-bottom:6px;position:relative;z-index:1}
body.theme-teal .lesson-meta{font-size:12px;color:rgba(255,255,255,0.4);letter-spacing:0.04em}
body.theme-teal .lesson-body{padding:1.75rem}
body.theme-teal .intro-para{font-size:15px;color:var(--text-mid);line-height:1.8;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);font-weight:300}
body.theme-teal .intro-para strong{font-weight:500;color:var(--text-dark)}
body.theme-teal .standard-card{border:1px solid var(--border);border-radius:var(--radius-md);padding:18px 20px;margin-bottom:14px;transition:box-shadow 0.2s}
body.theme-teal .standard-card:hover{box-shadow:var(--shadow-sm)}
body.theme-teal .standard-card-title{font-size:15px;font-weight:500;margin-bottom:10px;color:var(--text-dark);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.theme-teal .tag{font-size:10px;padding:2px 9px;border-radius:99px;font-weight:500;letter-spacing:0.05em;text-transform:uppercase}
body.theme-teal .tag-teal{background:var(--teal-pale);color:#0F6E56}
body.theme-teal .tag-coral{background:var(--coral-pale);color:#993C1D}
body.theme-teal .tag-amber{background:var(--amber-pale);color:var(--amber-text)}
body.theme-teal .standard-card p{font-size:14px;color:var(--text-mid);line-height:1.75;margin-bottom:10px}
body.theme-teal .standard-card p:last-child{margin-bottom:0}
body.theme-teal .script-block{background:var(--teal-xpale);border:1px solid #9FE1CB;border-radius:var(--radius-md);padding:14px 16px;margin:12px 0 4px}
body.theme-teal .script-label{font-size:10px;text-transform:uppercase;letter-spacing:0.1em;font-weight:500;color:var(--teal-mid);margin-bottom:8px}
body.theme-teal .script-line{font-size:14px;color:var(--teal-dark);line-height:1.65;font-style:italic;margin-bottom:6px}
body.theme-teal .script-line:last-child{margin-bottom:0}
body.theme-teal .script-note{font-size:12px;color:var(--teal-mid);margin-top:8px;line-height:1.5;font-style:normal}
body.theme-teal .dont-block{background:var(--coral-pale);border:1px solid #F0997B;border-radius:var(--radius-md);padding:14px 16px;margin:8px 0}
body.theme-teal .dont-label{font-size:10px;text-transform:uppercase;letter-spacing:0.1em;font-weight:500;color:var(--coral-text);margin-bottom:8px}
body.theme-teal .dont-line{font-size:14px;color:var(--coral-text);line-height:1.65;font-style:italic;margin-bottom:4px}
body.theme-teal .dont-line:last-child{margin-bottom:0}
body.theme-teal .tip-card{background:var(--teal-xpale);border-left:3px solid var(--teal-mid);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:#085041;line-height:1.7}
body.theme-teal .tip-card strong{font-weight:500}
body.theme-teal .warning-card{background:var(--amber-pale);border-left:3px solid var(--amber-border);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--amber-text);line-height:1.7}
body.theme-teal .warning-card strong{font-weight:500}
body.theme-teal .hygiene-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:10px;margin:12px 0}
body.theme-teal .hygiene-item{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:flex-start;gap:10px}
body.theme-teal .hygiene-icon{width:28px;height:28px;background:var(--teal-pale);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px}
body.theme-teal .hygiene-text{font-size:13px;color:var(--text-mid);line-height:1.5}
body.theme-teal .hygiene-text strong{display:block;font-weight:500;color:var(--text-dark);margin-bottom:2px;font-size:13px}
body.theme-teal .divider{border:none;border-top:1px solid var(--border);margin:1.75rem 0}
body.theme-teal .section-label{font-size:11px;font-weight:500;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:14px;display:flex;align-items:center;gap:8px}
body.theme-teal .section-label::after{content:"";flex:1;height:1px;background:var(--border)}
body.theme-teal .check-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:var(--radius-md);margin-bottom:7px;cursor:pointer;user-select:none;transition:background 0.15s;border:1px solid transparent}
body.theme-teal .check-item:hover{background:var(--sand);border-color:var(--border)}
body.theme-teal .check-item.checked{background:var(--teal-pale);border-color:#9FE1CB}
body.theme-teal .check-box{width:22px;height:22px;border:1.5px solid var(--border-mid);border-radius:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;transition:all 0.2s;background:var(--white)}
body.theme-teal .check-item.checked .check-box{background:var(--teal-mid);border-color:var(--teal-mid)}
body.theme-teal .check-box svg{display:none}
body.theme-teal .check-item.checked .check-box svg{display:block}
body.theme-teal .check-text{font-size:14px;line-height:1.55;color:var(--text-dark)}
body.theme-teal .check-item.checked .check-text{color:var(--text-mid)}
body.theme-teal .quiz-q{margin-bottom:1.75rem}
body.theme-teal .quiz-q-num{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:6px}
body.theme-teal .quiz-q-text{font-size:15px;font-weight:500;margin-bottom:12px;line-height:1.5;color:var(--text-dark)}
body.theme-teal .quiz-option{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:8px;cursor:pointer;font-size:14px;transition:all 0.15s;background:var(--white);color:var(--text-dark);line-height:1.5}
body.theme-teal .quiz-option:hover{border-color:var(--teal-light);background:var(--teal-xpale)}
body.theme-teal .quiz-option.correct{border-color:var(--teal-mid);background:var(--teal-pale);color:#085041;cursor:default}
body.theme-teal .quiz-option.wrong{border-color:var(--coral);background:var(--coral-pale);color:var(--coral-text);cursor:default}
body.theme-teal .quiz-option.locked{cursor:default}
body.theme-teal .quiz-radio{width:18px;height:18px;border:1.5px solid var(--border-mid);border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all 0.2s}
body.theme-teal .quiz-option.correct .quiz-radio{border-color:var(--teal-mid);background:var(--teal-mid)}
body.theme-teal .quiz-option.wrong .quiz-radio{border-color:var(--coral);background:var(--coral)}
body.theme-teal .quiz-radio-dot{width:7px;height:7px;background:var(--white);border-radius:50%;display:none}
body.theme-teal .quiz-option.correct .quiz-radio-dot,body.theme-teal .quiz-option.wrong .quiz-radio-dot{display:block}
body.theme-teal .quiz-feedback{font-size:13px;padding:10px 14px;border-radius:var(--radius-md);margin-top:6px;display:none;line-height:1.65}
body.theme-teal .quiz-feedback.visible{display:block}
body.theme-teal .feedback-good{background:var(--teal-pale);color:#085041;border-left:3px solid var(--teal-mid)}
body.theme-teal .feedback-bad{background:var(--coral-pale);color:var(--coral-text);border-left:3px solid var(--coral)}
body.theme-teal .action-row{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:1.25rem 1.75rem;border-top:1px solid var(--border);background:#fafaf9;flex-wrap:wrap}
body.theme-teal .btn{padding:10px 22px;border-radius:var(--radius-md);font-size:13px;font-family:"DM Sans", sans-serif;font-weight:500;cursor:pointer;border:1px solid var(--border-mid);background:var(--white);color:var(--text-mid);transition:all 0.15s}
body.theme-teal .btn:hover{background:var(--sand)}
body.theme-teal .btn-primary{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white)}
body.theme-teal .btn-primary:hover{background:var(--teal-mid);border-color:var(--teal-mid)}
body.theme-teal .signoff-body{padding:1.75rem}
body.theme-teal .field-label{display:block;font-size:12px;font-weight:500;color:var(--text-soft);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:6px}
body.theme-teal .field-note{font-size:12px;color:var(--text-soft);margin-bottom:8px;margin-top:-2px;line-height:1.55;font-style:italic}
body.theme-teal .field-input{width:100%;padding:11px 14px;border:1px solid var(--border-mid);border-radius:var(--radius-md);font-family:"DM Sans", sans-serif;font-size:14px;background:var(--white);color:var(--text-dark);margin-bottom:1.25rem;transition:border-color 0.15s, box-shadow 0.15s}
body.theme-teal .field-input:focus{outline:none;border-color:var(--teal-light);box-shadow:0 0 0 3px rgba(78,168,152,0.12)}
body.theme-teal textarea.field-input{resize:vertical;min-height:110px;line-height:1.65}
body.theme-teal .lock-notice{background:var(--coral-pale);border:1px solid #F0997B;border-radius:var(--radius-md);padding:12px 16px;font-size:13px;color:var(--coral-text);margin-bottom:1.5rem;display:none;line-height:1.55}
body.theme-teal .lock-notice.show{display:block}
body.theme-teal .email-preview-label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-soft);margin-bottom:8px;font-weight:500}
body.theme-teal .email-preview{background:var(--sand);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 18px;font-size:13px;line-height:1.75;color:var(--text-mid);white-space:pre-wrap;font-family:"DM Sans", sans-serif;margin-bottom:1.5rem}
body.theme-teal .completion-banner{text-align:center;padding:3rem 2rem;display:none}
body.theme-teal .completion-banner.show{display:block}
body.theme-teal .completion-ring{width:64px;height:64px;background:var(--teal-pale);border:2px solid var(--teal-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem}
body.theme-teal .completion-ring svg{width:30px;height:30px}
body.theme-teal .completion-banner h3{font-family:"Playfair Display", Georgia, serif;font-size:22px;font-weight:500;color:var(--teal-dark);margin-bottom:10px}
body.theme-teal .completion-banner p{font-size:14px;color:var(--text-soft);line-height:1.65;max-width:420px;margin:0 auto}
body.theme-teal .site-footer{text-align:center;padding:2rem 1.5rem;font-size:12px;color:var(--text-soft);border-top:1px solid var(--border);margin-top:2rem}
body.theme-teal .site-footer span{color:var(--teal-mid)}
@media (max-width:600px){
  body.theme-teal .main-wrap{padding:1.25rem 1rem 3rem}
  body.theme-teal .lesson-body,body.theme-teal .signoff-body{padding:1.25rem}
  body.theme-teal .action-row{padding:1rem 1.25rem}
  body.theme-teal .mod-tab{font-size:12px;padding:8px 14px}
  body.theme-teal .lesson-hd{padding:1.5rem 1.25rem}
  body.theme-teal .hero{padding:2rem 0.5rem 1.5rem}
  body.theme-teal .hero-stats{gap:1.25rem}
}

/* ===== Registration panel (all pages) =====
   Uses the brand palette directly so it looks the same over either theme. */
body.reg-open{overflow:hidden}
.reg-overlay{position:fixed;inset:0;z-index:1000;background:rgba(40,43,32,0.72);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1.25rem;overflow-y:auto}
.reg-card{background:#FFFFFF;border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,0.25);max-width:440px;width:100%;padding:2rem 1.75rem 1.5rem;font-family:"DM Sans",system-ui,sans-serif;color:#1A1A1A;line-height:1.6}
.reg-logo{height:28px;width:auto;display:block;margin-bottom:1.25rem;filter:invert(1) brightness(0.35)}
.reg-title{font-family:"Playfair Display",Georgia,serif;font-size:24px;font-weight:500;color:#4E5240;margin-bottom:.5rem;line-height:1.2}
.reg-intro{font-size:14px;color:#4A4A4A;margin-bottom:1.25rem;font-weight:300;line-height:1.7}
.reg-form{display:block}
.reg-label{display:block;font-size:12px;font-weight:500;color:#767676;text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px}
.reg-input{width:100%;padding:11px 14px;border:1px solid #C8C4BC;border-radius:10px;font-family:"DM Sans",sans-serif;font-size:15px;background:#FFFFFF;color:#1A1A1A;margin-bottom:1rem;transition:border-color .15s,box-shadow .15s}
.reg-input:focus{outline:none;border-color:#A8AE8E;box-shadow:0 0 0 3px rgba(168,174,142,0.25)}
.reg-pills{display:flex;gap:8px;margin-bottom:1rem;flex-wrap:wrap}
.reg-pill{flex:1;min-width:90px;cursor:pointer}
.reg-pill input{position:absolute;opacity:0;width:0;height:0}
.reg-pill span{display:block;text-align:center;padding:10px 12px;border:1px solid #C8C4BC;border-radius:99px;font-size:14px;color:#4A4A4A;background:#FFFFFF;transition:all .15s}
.reg-pill:hover span{border-color:#A8AE8E}
.reg-pill.selected span,.reg-pill input:checked+span{background:#4E5240;border-color:#4E5240;color:#FFFFFF}
.reg-pill input:focus-visible+span{box-shadow:0 0 0 3px rgba(168,174,142,0.35)}
.reg-error{background:#F7EDE6;border-left:3px solid #984216;border-radius:0 10px 10px 0;padding:10px 14px;font-size:13px;color:#6B2D0E;margin-bottom:1rem;line-height:1.55}
.reg-btn{width:100%;padding:12px 22px;border-radius:10px;font-size:14px;font-family:"DM Sans",sans-serif;font-weight:500;cursor:pointer;border:1px solid #4E5240;background:#4E5240;color:#FFFFFF;transition:background .15s}
.reg-btn:hover{background:#7A8060;border-color:#7A8060}
.reg-btn:disabled{opacity:.6;cursor:default}
.reg-switch{font-size:13px;color:#767676;text-align:center;margin-top:1.25rem}
.reg-switch a{color:#984216;font-weight:500;text-decoration:none;border-bottom:1px solid rgba(152,66,22,0.35)}
.reg-switch a:hover{border-bottom-color:#984216}
@media (max-width:480px){.reg-card{padding:1.5rem 1.25rem 1.25rem}.reg-overlay{align-items:flex-start;padding:1rem}}

/* ===== Module index (index.html) ===== */
body.theme-brand .who-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.5rem;margin-bottom:1.75rem;box-shadow:var(--shadow-sm)}
body.theme-brand .who-name{font-size:15px;font-weight:500;color:var(--olive-xdark)}
body.theme-brand .who-meta{font-size:13px;color:var(--text-soft)}
body.theme-brand .who-switch{font-size:13px;color:var(--terra);text-decoration:none;border-bottom:1px solid rgba(152,66,22,0.35);cursor:pointer;background:none;border-top:0;border-left:0;border-right:0;font-family:inherit;padding:0}
body.theme-brand .who-switch:hover{border-bottom-color:var(--terra)}
body.theme-brand .index-list{display:grid;gap:14px}
body.theme-brand .index-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:grid;grid-template-columns:auto 1fr;transition:box-shadow .2s}
body.theme-brand .index-card:hover{box-shadow:var(--shadow-md)}
body.theme-brand .index-num{background:var(--olive-xdark);color:var(--white);font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:500;width:72px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}
body.theme-brand .index-num small{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,0.5)}
body.theme-brand .index-card.is-done .index-num{background:var(--olive-dark)}
body.theme-brand .index-body{padding:1.1rem 1.4rem 1.2rem}
body.theme-brand .index-title{font-family:"Playfair Display",Georgia,serif;font-size:19px;font-weight:500;color:var(--olive-xdark);margin-bottom:4px;line-height:1.25}
body.theme-brand .index-desc{font-size:13px;color:var(--text-mid);line-height:1.6;margin-bottom:12px;font-weight:300}
body.theme-brand .index-sections{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
body.theme-brand .index-chip{font-size:11px;padding:4px 10px;border-radius:99px;border:1px solid var(--border);color:var(--text-soft);background:var(--sand);display:inline-flex;align-items:center;gap:5px}
body.theme-brand .index-chip.done{background:var(--olive-pale);border-color:#c8ccb0;color:var(--olive-xdark)}
body.theme-brand .index-chip .tab-tick{width:14px;height:14px}
body.theme-brand .index-chip .tab-tick svg{width:7px;height:7px}
body.theme-brand .index-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body.theme-brand .index-foot .progress-track{flex:1;min-width:120px}
body.theme-brand .index-status{font-size:12px;color:var(--text-soft);white-space:nowrap}
body.theme-brand .index-btn{padding:9px 20px;border-radius:var(--radius-md);font-size:13px;font-family:"DM Sans",sans-serif;font-weight:500;text-decoration:none;border:1px solid var(--olive-xdark);background:var(--olive-xdark);color:var(--white);white-space:nowrap;transition:background .15s}
body.theme-brand .index-btn:hover{background:var(--olive-dark);border-color:var(--olive-dark)}
body.theme-brand .index-btn.is-done{background:var(--white);color:var(--olive-xdark)}
body.theme-brand .index-note{font-size:13px;color:var(--text-soft);text-align:center;margin-top:1.5rem;line-height:1.6}
@media (max-width:640px){body.theme-brand .index-num{width:56px;font-size:22px}body.theme-brand .index-body{padding:1rem 1.1rem}}

/* ===== Admin dashboard (admin/index.html) ===== */
body.theme-brand .admin-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:1.5rem}
body.theme-brand .admin-tile{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-sm)}
body.theme-brand .admin-tile-num{font-family:"Playfair Display",Georgia,serif;font-size:26px;font-weight:500;color:var(--olive-xdark);display:block;line-height:1.1}
body.theme-brand .admin-tile-label{font-size:11px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.08em}
body.theme-brand .admin-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:1rem}
body.theme-brand .admin-bar input{flex:1;min-width:200px;padding:10px 14px;border:1px solid var(--border-mid);border-radius:var(--radius-md);font-family:"DM Sans",sans-serif;font-size:14px;background:var(--white)}
body.theme-brand .admin-bar input:focus{outline:none;border-color:var(--olive);box-shadow:0 0 0 3px rgba(168,174,142,0.25)}
body.theme-brand .admin-who{font-size:12px;color:var(--text-soft);margin-left:auto}
body.theme-brand .admin-table-wrap{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow-x:auto}
body.theme-brand .admin-table{width:100%;border-collapse:collapse;font-size:13px;min-width:760px}
body.theme-brand .admin-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:500;padding:12px 14px;border-bottom:1px solid var(--border);background:var(--sand);white-space:nowrap}
body.theme-brand .admin-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top}
body.theme-brand .admin-table tr:last-child td{border-bottom:0}
body.theme-brand .admin-name{font-weight:500;color:var(--text-dark)}
body.theme-brand .admin-sub{font-size:12px;color:var(--text-soft);line-height:1.5}
body.theme-brand .admin-mod{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
body.theme-brand .admin-mod .dot{width:9px;height:9px;border-radius:50%;background:var(--sand-mid);border:1px solid var(--border-mid);flex-shrink:0}
body.theme-brand .admin-mod.part .dot{background:#E4D6C5;border-color:#d1bea6}
body.theme-brand .admin-mod.done .dot{background:var(--olive);border-color:var(--olive-dark)}
body.theme-brand .admin-mod.signed .dot{background:var(--olive-xdark);border-color:var(--olive-xdark)}
body.theme-brand .admin-score{font-size:11px;color:var(--text-soft)}
body.theme-brand .admin-verify{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;color:var(--text-mid);white-space:nowrap}
body.theme-brand .admin-verify input{width:16px;height:16px;accent-color:var(--olive-dark);cursor:pointer}
body.theme-brand .admin-empty{padding:2rem;text-align:center;color:var(--text-soft);font-size:14px}
body.theme-brand .admin-legend{font-size:12px;color:var(--text-soft);margin-top:12px;display:flex;gap:16px;flex-wrap:wrap}
body.theme-brand .admin-error{background:var(--terra-pale);border-left:3px solid var(--terra);border-radius:0 var(--radius-md) var(--radius-md) 0;padding:14px 18px;margin:1.25rem 0;font-size:14px;color:var(--terra-dark);line-height:1.7}
