:root{
  --navy:#071522; --navy2:#0B1B2B; --navy3:#102B3F;
  --green:#A8D36D; --teal:#2FA6A1; --gold:#C9A24A;
  --cream:#F7F4EC; --light:#F3F7F5; --ink:#111827; --muted:#667085; --line:#D9E4DF;
  --white:#FFFFFF; --danger:#B42318;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Aptos,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.55}
a{color:inherit}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}.narrow{max-width:900px;margin:0 auto}.topbar{position:sticky;top:0;z-index:40;background:rgba(247,244,236,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(7,21,34,.08)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);min-width:max-content}.brand img{width:48px;height:48px;object-fit:cover;border-radius:12px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.10)}.brand strong{font-size:14px;text-transform:none;letter-spacing:.02em;font-weight:950;white-space:nowrap}.navlinks{display:flex;gap:12px;align-items:center;flex-wrap:nowrap}.navlinks a{color:var(--navy);text-decoration:none;font-weight:850;font-size:12.5px;white-space:nowrap}.navlinks a:hover{color:#587D3B}.navlinks .nav-pill{background:#78964B;color:#fff;border-radius:999px;padding:10px 16px}.navlinks .nav-pill:hover{color:#fff;background:#617E38}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 18px;border-radius:999px;text-decoration:none;font-weight:900;border:0;cursor:pointer}.btn.primary{background:var(--green);color:var(--navy)}.btn.secondary{color:white;border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.07)}.btn.dark{background:var(--navy);color:white}.btn.gold{background:var(--gold);color:#071522}.btn.light{background:#fff;color:var(--navy);border:1px solid var(--line)}.btn.muted{background:#E9EEE9;color:#394C3B;border:1px solid #D2DCD2}
.hero{background:radial-gradient(circle at 80% 15%,rgba(168,211,109,.22),transparent 34%),linear-gradient(135deg,var(--navy) 0%,var(--navy2) 58%,#123A45 100%);color:#fff;padding:90px 0 76px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-120px;top:30px;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 80px rgba(255,255,255,.025),0 0 0 160px rgba(255,255,255,.018)}.hero .wrap{position:relative;z-index:1}.eyebrow{display:inline-block;color:var(--green);font-weight:950;letter-spacing:.13em;text-transform:uppercase;font-size:13px;margin-bottom:18px}.hero h1{font-size:clamp(40px,6vw,74px);line-height:.98;margin:0 0 20px;letter-spacing:-.045em;max-width:980px}.lead{font-size:21px;color:#E4EFEA;max-width:820px}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.hero-note{margin-top:24px;color:#CFE0DA;font-size:14px;max-width:760px}.section{padding:72px 0}.light{background:var(--light)}.cream{background:var(--cream)}h2{font-size:clamp(30px,4vw,42px);line-height:1.08;margin:0 0 18px;color:var(--navy);letter-spacing:-.03em}h3{font-size:21px;margin:0 0 10px;color:var(--navy)}p{margin:0 0 14px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(11,27,43,.06)}.card.soft{background:#FBFDFC}.darkcard{background:var(--navy);color:white;border-radius:26px;padding:30px}.darkcard h2,.darkcard h3{color:white}.darkcard p,.darkcard li{color:#DDE9E5}.pill{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;border-radius:999px;background:#EAF2EF;color:var(--navy);font-size:13px;font-weight:900;margin-bottom:14px}.pill.gold{background:#FFF4D6}.pill.lock{background:#FFF2E2;color:#633A00}.stat{padding:18px;border-radius:18px;background:#fff;border:1px solid var(--line)}.stat b{display:block;font-size:24px;color:var(--navy)}ul,ol{padding-left:20px;margin:10px 0 0}li{margin:7px 0}.authority{border-left:5px solid var(--gold);background:#FFF9EB;padding:18px 20px;border-radius:14px}.restricted{border-left:5px solid var(--danger);background:#FFF4F2;padding:18px 20px;border-radius:14px}.video-box{background:#061321;border-radius:24px;padding:16px;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 42px rgba(0,0,0,.22)}.poster{width:100%;border-radius:16px;display:block;background:#000;opacity:.86}.steps{counter-reset:step}.step{display:grid;grid-template-columns:48px 1fr;gap:16px;margin:16px 0}.step:before{counter-increment:step;content:counter(step);width:48px;height:48px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;font-weight:950;color:var(--navy)}
.module-nav{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:28px}.module-nav a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;font-weight:900;color:var(--navy);text-align:center}.module-nav a:hover{background:#EAF2EF}.download{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:18px;padding:18px;background:white;margin:12px 0}.download span{color:var(--muted);display:block;font-size:14px}.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.price{background:white;border:1px solid var(--line);border-radius:20px;padding:20px}.price strong{display:block;color:var(--navy);font-size:22px;margin-top:8px}.form-wrap{max-width:920px;margin:0 auto}.form-card{background:white;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:0 16px 36px rgba(11,27,43,.08)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}label{font-weight:850;color:var(--navy);font-size:14px}input,select,textarea{width:100%;border:1px solid #CFDCD7;border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:120px;resize:vertical}.small{font-size:13px;color:var(--muted)}.check{display:flex;gap:10px;align-items:flex-start;margin:12px 0}.check input{width:auto;margin-top:5px}.radio-group{display:grid;gap:8px;margin-top:8px}.radio{display:flex;gap:10px;align-items:flex-start;background:#F7FAF8;border:1px solid var(--line);border-radius:14px;padding:12px}.radio input{width:auto;margin-top:4px}.foot{background:var(--navy);color:#D8E0DD;padding:36px 0;font-size:13px}.foot a{color:#E9F5EF}.notice{background:#EBF6F4;border:1px solid #CAE4DE;border-radius:18px;padding:18px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}.breadcrumb a{color:var(--navy);font-weight:900;text-decoration:none}.locked-list{display:grid;gap:12px}.locked-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;justify-content:space-between;gap:20px}.locked-item strong{color:var(--navy)}.locked-item span{color:var(--muted);font-size:14px}
@media(max-width:980px){.grid,.grid.two,.grid.four,.pricing,.form-grid,.module-nav{grid-template-columns:1fr}.navlinks{display:none}.hero{padding:68px 0 54px}.brand img{width:46px;height:46px}.nav{height:68px}.download,.locked-item{display:block}.download .btn,.locked-item .btn{margin-top:10px}.hero h1{font-size:42px}.lead{font-size:18px}}

/* Private Academy delivery room */
.private-hero{background:radial-gradient(circle at 75% 20%,rgba(201,162,74,.18),transparent 36%),linear-gradient(135deg,#06131F 0%,#0A2333 62%,#123A45 100%)}
.private-gate{max-width:760px;margin:24px 0 0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:22px}.private-gate label{color:#fff}.private-gate input{background:rgba(255,255,255,.96)}
.academy-shell{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}.side-rail{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 12px 26px rgba(11,27,43,.05)}.side-rail a{display:block;text-decoration:none;color:var(--navy);font-weight:900;padding:11px 12px;border-radius:12px}.side-rail a:hover{background:#EAF2EF}.side-rail .mutedlink{color:var(--muted);font-weight:800;font-size:13px}.academy-content{min-width:0}.callout{border:1px solid #CCE3DE;background:#F1FAF8;border-radius:18px;padding:18px}.exercise{background:#FFF9EB;border:1px solid #F2DCA5;border-radius:18px;padding:18px;margin:16px 0}.rubric{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}.rubric th,.rubric td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:top}.rubric th{background:#EAF2EF;color:var(--navy)}.rubric tr:last-child td{border-bottom:0}.video-player{width:100%;border-radius:18px;background:#000;border:1px solid rgba(255,255,255,.1)}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.progress-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.progress-strip div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;font-weight:900;color:var(--navy)}.access-badge{display:inline-flex;align-items:center;gap:8px;background:#EAF2EF;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-weight:900;color:var(--navy);font-size:13px}.certificate-box{background:#fff;border:2px solid #D9C48F;border-radius:24px;padding:30px;text-align:center}.question{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0}.question label{display:block;margin:8px 0;font-weight:700;color:var(--ink)}.question input{width:auto;margin-right:9px}.hidden-note{font-size:13px;color:#DDE9E5;margin-top:12px}
@media(max-width:980px){.academy-shell{grid-template-columns:1fr}.side-rail{position:relative;top:auto}.mini-grid,.progress-strip{grid-template-columns:1fr}}

.priority-download{border:2px solid rgba(123,146,78,.45);background:linear-gradient(180deg,#fff,#f6f3ea)}
.priority-download strong{color:#0b2231}

/* Online workbook additions */
.online-workbook h3{margin-top:8px}
.form-sep{border:0;border-top:1px solid var(--line);margin:28px 0}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.check-grid label{display:flex;gap:10px;align-items:flex-start;background:#F7FAF8;border:1px solid var(--line);border-radius:14px;padding:12px;font-weight:750;color:var(--ink)}
.check-grid input{width:auto;margin-top:4px}
@media(max-width:980px){.check-grid{grid-template-columns:1fr}}


/* Online module simulators */
.simulator-panel{margin:28px 0;background:linear-gradient(180deg,#ffffff,#F9FBF8);border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 18px 42px rgba(11,27,43,.08)}
.sim-head{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}.sim-head h3{font-size:28px;letter-spacing:-.02em}.sim-scenario{background:#071522;color:#EAF2EF;border-radius:18px;padding:18px;margin:16px 0;border-left:5px solid var(--gold)}.sim-form{box-shadow:none;background:#fff;margin-top:18px}.sim-result{background:#F3F7F5;border:1px dashed #B7C8BF;border-radius:18px;padding:18px;margin-top:18px}.sim-score{display:flex;gap:16px;align-items:flex-start}.sim-score span{width:58px;height:58px;border-radius:50%;background:var(--gold);color:#071522;font-size:22px;font-weight:950;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.sim-score p{margin:4px 0 0}.sim-actions{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 12px 12px 32px}.form-sep{border:0;border-top:1px solid var(--line);margin:28px 0}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-grid label{background:#F7FAF8;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--ink);font-weight:700}.check-grid input{width:auto;margin-right:8px}@media(max-width:780px){.check-grid{grid-template-columns:1fr}.sim-score{display:block}.sim-score span{margin-bottom:10px}}


/* Standalone simulator rooms */
.sim-room-hero{background:linear-gradient(135deg,#071728 0%,#0B1B2B 58%,#1D2B21 100%);color:#fff}
.sim-room-hero .lead{color:#F4EFE4}
.sim-launch-panel{margin:28px 0;background:linear-gradient(135deg,#0B1B2B,#163025);color:#fff;border-radius:28px;padding:28px;border:1px solid rgba(212,176,102,.38);box-shadow:0 24px 58px rgba(11,27,43,.16)}
.sim-launch-panel h3{color:#fff;margin-top:8px}.sim-launch-panel p{color:#F4EFE4}.sim-launch-panel .btn.light{background:#fff;color:#0B1B2B}
.sim-path{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.sim-path div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(11,27,43,.05)}
.sim-path strong{display:block;color:var(--navy);margin-bottom:6px}
.simulator-room-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:0 24px 60px rgba(11,27,43,.10)}
.simulator-room-card .simulator-panel{margin:0;box-shadow:none;border-radius:22px;background:#F9FBF8}
.simulator-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.simulator-dashboard .card{position:relative;overflow:hidden}.simulator-dashboard .card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(var(--gold),var(--green))}
@media(max-width:860px){.sim-path,.simulator-dashboard{grid-template-columns:1fr}}


/* Coherent Academy flow additions */
.route-map{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 24px}
.route-map div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(11,27,43,.04)}
.route-map span{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-weight:950;margin-bottom:8px}.route-map strong{display:block;color:var(--navy)}.route-map small{display:block;color:var(--muted);font-weight:750}
.case-file{background:linear-gradient(180deg,#fff,#F7F4EC);border:1px solid #E7DCC0;border-radius:26px;padding:24px;margin:22px 0;box-shadow:0 18px 42px rgba(11,27,43,.06)}.case-file h3{margin-top:4px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.case-grid div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.case-grid strong{color:var(--navy)}
.carry-forward{background:#EEF7F4;border:1px solid #CFE5DE;border-radius:24px;padding:22px;margin:22px 0}.saved-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.saved-grid>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}.saved-grid>div.has-result{border-color:#BFA35C;box-shadow:0 0 0 2px rgba(201,162,74,.16)}.saved-grid strong{color:var(--navy);display:block;margin-bottom:6px}.saved-grid p{margin:6px 0}.saved-grid ul{font-size:13px;color:var(--muted)}
.handoff-panel{background:#FFF9EB;border:1px solid #F2DCA5;border-left:5px solid var(--gold);border-radius:18px;padding:18px;margin:18px 0}.handoff-panel p{margin:4px 0 0;font-weight:750;color:var(--navy)}.continuity-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin:22px 0}.coherent-start{margin-bottom:24px}.sim-path div p{margin-bottom:0}
@media(max-width:980px){.route-map,.case-grid,.saved-grid{grid-template-columns:1fr}}


/* Participant authentication additions */
.participant-state{display:inline-flex;align-items:center;gap:8px;margin:10px 0 8px;background:#FFF9EB;border:1px solid #E7DCC0;border-radius:999px;padding:7px 11px;color:var(--navy);font-weight:850;font-size:12px}
.auth-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:start}.auth-panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:28px;box-shadow:0 18px 42px rgba(11,27,43,.08)}.auth-helper{background:linear-gradient(180deg,#071522,#102B3F);color:#EAF2EF;border-radius:26px;padding:28px}.auth-helper h2,.auth-helper h3{color:#fff}.auth-helper p,.auth-helper li{color:#DDE9E5}.auth-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.auth-links a{font-weight:900;color:var(--navy);text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:999px;padding:10px 14px}.auth-links a:hover{background:#EAF2EF}.secure-note{background:#F3F7F5;border:1px solid #D9E4DF;border-radius:16px;padding:14px;margin-top:16px;color:var(--navy)}.auth-step{display:grid;grid-template-columns:34px 1fr;gap:12px;margin:12px 0}.auth-step span{width:34px;height:34px;border-radius:50%;background:var(--gold);display:flex;align-items:center;justify-content:center;color:var(--navy);font-weight:950}.logout-card{text-align:center;background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:0 18px 42px rgba(11,27,43,.08)}.logout-card h2{margin-bottom:10px}.request-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px}.request-panel .authority,.request-panel .restricted{margin-top:16px}.navlinks a[data-admin-only]{background:#E9EFE2;border:1px solid rgba(120,150,75,.32);border-radius:999px;padding:9px 13px}.navlinks a[data-admin-only]:hover{background:#DEE8D2;color:#35531E}
.navlinks a[data-logout-link]{color:#7A3D21}.side-rail a[data-logout-link]{color:#7A3D21;background:#FFF4F2}
@media(max-width:980px){.auth-grid{grid-template-columns:1fr}}

/* Participant results dashboard */
.results-hero-card{background:linear-gradient(180deg,#fff,#F7F4EC);border:1px solid #E7DCC0;border-radius:28px;padding:28px;margin:0 0 22px;box-shadow:0 20px 46px rgba(11,27,43,.08)}
.score-ring{width:132px;height:132px;border-radius:50%;background:#0B1B2B;color:#fff;display:flex;align-items:center;justify-content:center;gap:3px;margin:18px 0;border:6px solid #C9A24A;box-shadow:0 14px 34px rgba(11,27,43,.18)}
.score-ring strong{font-size:42px;letter-spacing:-.05em}.score-ring span{font-weight:900;color:#F4EFE4}.result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.result-metrics div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}.result-metrics strong{display:block;color:var(--navy);font-size:26px}.result-metrics span{display:block;color:var(--muted);font-weight:850;font-size:13px}.result-section{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin:22px 0;box-shadow:0 14px 34px rgba(11,27,43,.05)}.practice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.practice-grid div{background:#F7FAF8;border:1px solid #D9E4DF;border-radius:18px;padding:16px}.practice-grid strong{display:block;color:var(--navy);margin-bottom:6px}.answer-card{border:1px solid var(--line);border-left-width:7px;border-radius:20px;padding:18px;margin:16px 0;background:#fff}.answer-card.status-correct{border-left-color:#6F8D55;background:#FBFEFA}.answer-card.status-partial{border-left-color:#C9A24A;background:#FFFCF4}.answer-card.status-practice{border-left-color:#9B4A32;background:#FFF7F4}.answer-status{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.answer-status span{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0B1B2B;color:#fff;font-weight:950}.answer-status strong{color:var(--navy)}.answer-status em{font-style:normal;color:var(--muted);font-weight:850}.your-answer,.expected-answer,.explanation{background:#F7FAF8;border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0}.expected-answer{background:#FFF9EB;border-color:#E7DCC0}.your-answer p,.expected-answer p,.explanation p{margin:4px 0 0}.small[data-quiz-message][data-tone="error"],.small[data-access-message][data-tone="error"],.small[data-auth-message][data-tone="error"],.small[data-request-message][data-tone="error"]{color:#9B2D20;font-weight:900}.small[data-quiz-message][data-tone="success"],.small[data-access-message][data-tone="success"],.small[data-auth-message][data-tone="success"],.small[data-request-message][data-tone="success"]{color:#2F6A45;font-weight:900}.small[data-quiz-message][data-tone="info"],.small[data-access-message][data-tone="info"],.small[data-auth-message][data-tone="info"],.small[data-request-message][data-tone="info"]{color:var(--navy);font-weight:900}@media(max-width:860px){.result-metrics,.practice-grid{grid-template-columns:1fr}.score-ring{width:110px;height:110px}.score-ring strong{font-size:34px}}

/* Academy admin review room */
.admin-toolbar{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;align-items:end;background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin:20px 0;box-shadow:0 14px 34px rgba(11,27,43,.05)}
.admin-toolbar h3{margin-bottom:6px}.admin-toolbar p{margin-bottom:0;color:var(--muted)}.admin-filter{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:end}.admin-filter label{grid-column:1/-1}.admin-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.admin-kpi-grid div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 24px rgba(11,27,43,.04)}.admin-kpi-grid strong{display:block;color:var(--navy);font-size:24px}.admin-kpi-grid span{display:block;color:var(--muted);font-weight:850;font-size:13px}.admin-actions{margin:14px 0 22px}.admin-participant-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-participant-card{background:#F9FBF8;border:1px solid var(--line);border-radius:20px;padding:18px}.admin-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-row strong{color:var(--navy);font-size:18px}.admin-row span{background:#EAF2EF;border:1px solid #D7E5DE;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;color:var(--navy)}.mini-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.mini-metrics div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}.mini-metrics b{display:block;color:var(--navy)}.mini-metrics span{font-size:12px;color:var(--muted);font-weight:850}.admin-attempt-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 16px 38px rgba(11,27,43,.06)}.admin-attempt-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-score{min-width:120px;background:var(--navy);color:#fff;border-radius:20px;padding:16px;text-align:center;border:4px solid var(--gold)}.admin-score strong{display:block;font-size:28px;letter-spacing:-.04em}.admin-score span{font-size:12px;font-weight:900;color:#F4EFE4}.admin-badges{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.admin-badges span{background:#F3F7F5;border:1px solid #D9E4DF;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900;color:var(--navy)}.admin-badges span.ok{background:#ECF7ED;border-color:#CFE5D3}.admin-badges span.warn{background:#FFF9EB;border-color:#E7DCC0}.admin-badges span.risk{background:#FFF4F2;border-color:#F2D0C6}.certificate-controls{display:grid;grid-template-columns:.7fr 1.3fr auto;gap:12px;align-items:end;background:#F7FAF8;border:1px solid var(--line);border-radius:18px;padding:14px;margin:16px 0}.certificate-controls textarea{min-height:58px}.admin-answer-details{margin-top:16px;background:#FBFDFC;border:1px solid var(--line);border-radius:18px;padding:14px}.admin-answer-details summary{cursor:pointer;font-weight:950;color:var(--navy)}.admin-answer-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin:12px 0}.admin-answer-row strong{color:var(--navy)}.admin-answer-row p{margin:5px 0 0;color:var(--ink)}.small[data-admin-message][data-tone="error"]{color:#9B2D20;font-weight:900}.small[data-admin-message][data-tone="success"]{color:#2F6A45;font-weight:900}.small[data-admin-message][data-tone="info"]{color:var(--navy);font-weight:900}
@media print{.topbar,.side-rail,.admin-toolbar,.admin-actions,.certificate-controls,.buttons,.foot{display:none!important}.academy-shell{display:block}.academy-content{width:100%}.admin-attempt-card,.result-section{box-shadow:none;break-inside:avoid}}
@media(max-width:980px){.admin-toolbar,.admin-filter,.admin-kpi-grid,.admin-participant-grid,.admin-attempt-head,.certificate-controls,.admin-answer-row{grid-template-columns:1fr;display:grid}.admin-score{min-width:0}.admin-row{display:block}.admin-row span{display:inline-flex;margin-top:8px}}

/* ============================================================
   Terra Vita Academy v8 — contrast/readability correction
   Ensures authority/restricted notices remain readable inside
   dark helper panels and dark cards.
   ============================================================ */
.authority,
.darkcard .authority,
.auth-helper .authority {
  background: #FFF9EB;
  color: #0B1B2B !important;
  border-left-color: #D9B45C;
}
.authority *,
.darkcard .authority *,
.auth-helper .authority * {
  color: #0B1B2B !important;
}
.restricted,
.darkcard .restricted,
.auth-helper .restricted {
  background: #FFF4F2;
  color: #0B1B2B !important;
  border-left-color: #B9503B;
}
.restricted *,
.darkcard .restricted *,
.auth-helper .restricted * {
  color: #0B1B2B !important;
}
.auth-helper .authority,
.auth-helper .restricted {
  margin-top: 22px;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

/* v10 certificate review controls: readable, explicit status pills */
.certificate-controls{grid-template-columns:.95fr 1.25fr auto;align-items:stretch}
.certificate-status-column{display:flex;flex-direction:column;gap:8px}
.certificate-status-column label,.certificate-controls .field label{font-weight:950;color:var(--navy);margin-bottom:2px}
.certificate-state-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;border:1px solid #D7E5DE;background:#EAF2EF;color:var(--navy)}
.certificate-state-pill.requested{background:#FFF9EB;border-color:#E8D49C;color:#533A00}
.certificate-state-pill.approved{background:#ECF7ED;border-color:#BEDCC4;color:#1F5936}
.certificate-state-pill.issued{background:#0B1B2B;border-color:#0B1B2B;color:#FFFFFF}
.certificate-state-pill.practice{background:#FFF4F2;border-color:#F2D0C6;color:#8B2E22}
.certificate-state-pill.declined{background:#FCE7E4;border-color:#E7B1A8;color:#7F1D16}
.certificate-state-pill.neutral{background:#F3F7F5;border-color:#D9E4DF;color:var(--navy)}
.review-pill-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.review-pill{appearance:none;border:1px solid #D7E5DE;background:#FFFFFF;color:var(--navy);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950;cursor:pointer;line-height:1.1;box-shadow:0 6px 14px rgba(11,27,43,.04)}
.review-pill:hover{border-color:#B6C9BF;transform:translateY(-1px)}
.review-pill.is-active{background:var(--navy);border-color:var(--navy);color:#FFFFFF;box-shadow:0 8px 20px rgba(11,27,43,.18)}
.review-pill.issued.is-active{background:#0B1B2B;border-color:#0B1B2B;color:#FFFFFF}
.review-pill.approved.is-active{background:#2F6A45;border-color:#2F6A45;color:#FFFFFF}
.review-pill.practice.is-active,.review-pill.declined.is-active{background:#9B2D20;border-color:#9B2D20;color:#FFFFFF}
.certificate-controls .hint{font-size:12px;line-height:1.35;color:var(--muted);margin:6px 0 0}
.certificate-controls button[disabled]{opacity:.74;cursor:wait}
@media(max-width:980px){.certificate-controls{grid-template-columns:1fr}.certificate-state-pill{width:auto}.review-pill-row{gap:6px}}

/* v11 Certificate Registry + Certificate Download */
.certificate-issued-box{background:#FFF9EB;border:1px solid #E7DCC0;border-radius:18px;padding:16px;margin:12px 0 18px;box-shadow:0 12px 28px rgba(11,27,43,.04)}
.certificate-issued-box.pending{background:#F7FAF8;border-color:#D9E4DF}.certificate-issued-box h4{font-size:22px;letter-spacing:-.02em;margin:8px 0;color:var(--navy)}.certificate-issued-box p{margin:6px 0;color:var(--navy)}.certificate-registry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px}.certificate-record-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 14px 34px rgba(11,27,43,.05)}.certificate-record-card.revoked{background:#FFF7F5;border-color:#F2D0C6}.certificate-record-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.certificate-record-head strong{color:var(--navy);font-size:17px}.certificate-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.certificate-mini-grid div{background:#F7FAF8;border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}.certificate-mini-grid b{display:block;color:var(--navy);font-size:14px}.certificate-mini-grid span{display:block;color:var(--muted);font-weight:850;font-size:11px}.certificate-kpis{grid-template-columns:repeat(4,1fr)}.certificate-lookup{max-width:700px;margin:0 auto}.certificate-print-card{background:#fff;border:2px solid #D9C48F;border-radius:30px;padding:44px;box-shadow:0 18px 52px rgba(11,27,43,.08);text-align:center;color:var(--navy)}.certificate-print-card.revoked{border-color:#C66A58;background:#FFF7F5}.certificate-mark{display:inline-flex;align-items:center;justify-content:center;border:1px solid #D9C48F;background:#FFF9EB;border-radius:999px;padding:10px 16px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--navy);margin-bottom:22px}.certificate-print-card .eyebrow{color:#6F5A26;margin-bottom:12px}.certificate-print-card h1{font-size:clamp(42px,7vw,68px);line-height:1;margin:12px 0;color:var(--navy);letter-spacing:-.05em}.certificate-print-card h2{font-size:clamp(26px,4vw,38px);margin:8px auto 18px;max-width:820px}.certificate-lead{font-size:18px;color:#465A58;margin:18px 0 6px}.certificate-scope{display:inline-flex;justify-content:center;align-items:center;background:#0B1B2B;color:#fff;border-radius:999px;padding:10px 16px;font-weight:900;margin:8px 0 24px}.certificate-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.certificate-facts div{background:#F7FAF8;border:1px solid var(--line);border-radius:16px;padding:14px}.certificate-facts span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.certificate-facts strong{display:block;color:var(--navy);font-size:16px;margin-top:4px;word-break:break-word}.certificate-verification{border-radius:18px;padding:16px;margin:22px 0;border:1px solid #BEDCC4;background:#ECF7ED;color:#1F5936}.certificate-verification.invalid{border-color:#F2D0C6;background:#FFF4F2;color:#8B2E22}.certificate-signature{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:26px;text-align:left}.certificate-signature div{border-top:1px solid #D9C48F;padding-top:12px}.certificate-signature strong{display:block;color:var(--navy)}.certificate-signature span{display:block;color:var(--muted);font-size:12px}.no-print{display:flex;justify-content:center}.small[data-certificate-registry-message][data-tone="error"]{color:#9B2D20;font-weight:900}.small[data-certificate-registry-message][data-tone="success"]{color:#2F6A45;font-weight:900}.small[data-certificate-registry-message][data-tone="info"]{color:var(--navy);font-weight:900}
@media print{.no-print{display:none!important}.certificate-print-card{box-shadow:none;border-radius:0;border:0;padding:20mm}.certificate-facts{grid-template-columns:repeat(2,1fr)}.certificate-signature{break-inside:avoid}.certificate-record-card{break-inside:avoid}}
@media(max-width:980px){.certificate-registry-grid,.certificate-kpis,.certificate-mini-grid,.certificate-facts,.certificate-signature{grid-template-columns:1fr}.certificate-print-card{padding:28px 20px}.certificate-record-head{display:block}.certificate-record-head .certificate-state-pill{margin-bottom:10px}}

/* v12 participant learning feedback layers */
.learning-feedback-summary{display:grid;grid-template-columns:1fr 140px;gap:22px;align-items:center;background:linear-gradient(135deg,#0B1B2B,#17334A);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:26px;margin:22px 0;box-shadow:0 18px 42px rgba(11,27,43,.16)}
.learning-feedback-summary h3{color:#fff;margin:8px 0 10px}.learning-feedback-summary p{color:#F4EFE4}.learning-feedback-summary .micro-copy{font-size:14px;line-height:1.55;color:#E7DCC0;margin-top:10px}.summary-score{width:128px;height:128px;border-radius:50%;border:5px solid #C9A24A;background:#fff;color:#0B1B2B;display:flex;align-items:center;justify-content:center;gap:3px;margin-left:auto;box-shadow:0 14px 30px rgba(0,0,0,.18)}.summary-score strong{font-size:40px;letter-spacing:-.05em}.summary-score span{font-weight:900;color:#536473}.learning-layer{border-color:#D9E4DF}.section-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:16px}.section-title-row h3{margin:8px 0 0}.section-title-row p{font-weight:900;color:#536473;margin:8px 0 0}.practice-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.practice-card{border:1px solid var(--line);border-left:7px solid #C9A24A;border-radius:20px;padding:18px;background:#fff;box-shadow:0 12px 28px rgba(11,27,43,.06)}.practice-card.status-practice{border-left-color:#9B4A32;background:#FFF8F5}.practice-card.status-partial{border-left-color:#C9A24A;background:#FFFCF4}.practice-card.status-correct{border-left-color:#6F8D55;background:#FBFEFA}.practice-card-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.practice-card-head span{width:34px;height:34px;border-radius:50%;background:#0B1B2B;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:950;flex:0 0 auto}.practice-card-head strong{display:block;color:#0B1B2B;font-size:16px}.practice-card-head em{display:block;font-style:normal;color:#536473;font-size:13px;font-weight:850;margin-top:2px}.practice-card p{color:#263645}.practice-card-detail{background:#F7FAF8;border:1px solid #D9E4DF;border-radius:14px;padding:12px;margin-top:12px}.practice-card-detail a{font-weight:900}.targeted-repeat-panel{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:26px;padding:24px;margin:22px 0;box-shadow:0 14px 34px rgba(11,27,43,.06)}.targeted-repeat-panel h3{margin:8px 0}.targeted-repeat-panel p{color:#263645}.route-chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.route-chip{display:block;background:#fff;border:1px solid #E7DCC0;border-radius:18px;padding:16px;text-decoration:none;transition:.16s ease;box-shadow:0 8px 20px rgba(11,27,43,.04)}.route-chip:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(11,27,43,.10)}.route-chip strong{display:block;color:#0B1B2B;margin-bottom:5px}.route-chip span{display:block;color:#536473;font-size:14px;line-height:1.45}.pill.muted{background:#EEF3F0;color:#0B1B2B;border:1px solid #D9E4DF}.answer-card .btn.light,.practice-card .btn.light{white-space:normal}@media(max-width:860px){.learning-feedback-summary{grid-template-columns:1fr}.summary-score{margin:0}.practice-card-grid,.route-chip-row{grid-template-columns:1fr}.section-title-row{display:block}}
.admin-learning-plan{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:22px;padding:18px;margin:18px 0}.admin-learning-plan h4{margin:14px 0 8px;color:#0B1B2B}.admin-learning-plan p{color:#263645}.admin-learning-plan .practice-card-grid{margin:10px 0 14px}


/* v13 Participant Feedback Report + Admin Coaching Notes */
.feedback-report-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 18px}.feedback-report-card{background:#fff;border:1px solid #E7DCC0;border-radius:30px;padding:34px;box-shadow:0 18px 48px rgba(11,27,43,.08);color:var(--navy)}.report-letterhead{display:flex;align-items:center;gap:14px;border-bottom:1px solid #E7DCC0;padding-bottom:18px;margin-bottom:20px}.report-letterhead img{width:54px;height:54px;object-fit:contain;border-radius:10px}.report-letterhead span{display:block;text-transform:uppercase;letter-spacing:.12em;color:#6F5A26;font-size:12px;font-weight:950}.report-letterhead strong{display:block;color:#0B1B2B;font-size:22px}.report-title-block{margin:18px 0 24px}.report-title-block h1{font-size:clamp(34px,5vw,56px);line-height:.98;margin:10px 0;color:#0B1B2B;letter-spacing:-.05em}.report-title-block p{font-size:18px;color:#465A58}.report-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.report-meta-grid div{background:#F7FAF8;border:1px solid #D9E4DF;border-radius:16px;padding:14px}.report-meta-grid span{display:block;color:#536473;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.report-meta-grid strong{display:block;color:#0B1B2B;margin-top:5px;word-break:break-word}.report-layer{display:grid;grid-template-columns:54px 1fr;gap:16px;margin:24px 0;padding:22px;border:1px solid #D9E4DF;border-radius:24px;background:#FBFCFA}.report-layer h2{margin:0 0 10px;color:#0B1B2B}.report-layer p{color:#263645}.layer-number{width:42px;height:42px;border-radius:50%;background:#0B1B2B;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:950}.readiness-badge{display:flex;gap:12px;align-items:flex-start;margin-top:14px;padding:14px;border-radius:16px;border:1px solid #D9E4DF;background:#fff}.readiness-badge strong{color:#0B1B2B;white-space:nowrap}.readiness-badge span{color:#536473;font-weight:800}.readiness-badge.ok{border-color:#BEDCC4;background:#ECF7ED}.readiness-badge.warn{border-color:#E8D49C;background:#FFF9EB}.readiness-badge.risk{border-color:#F2D0C6;background:#FFF4F2}.coaching-note-panel{background:#0B1B2B;color:#fff;border-radius:24px;padding:22px;margin:22px 0;box-shadow:0 14px 36px rgba(11,27,43,.14)}.coaching-note-panel h3{color:#fff;margin:8px 0}.coaching-note-panel p{color:#F4EFE4;font-size:17px}.email-summary-box{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:22px;padding:18px;margin-top:22px}.email-summary-box pre{white-space:pre-wrap;font-family:inherit;color:#0B1B2B;background:#fff;border:1px solid #E7DCC0;border-radius:16px;padding:16px;line-height:1.55}.admin-coaching-note{background:#FBFCFA;border:1px solid #D9E4DF;border-radius:22px;padding:18px;margin:18px 0}.admin-coaching-note h4{margin:10px 0 8px;color:#0B1B2B}.admin-coaching-note p{color:#263645}.admin-coaching-note textarea{width:100%;min-height:112px;border:1px solid #D7E5DE;border-radius:16px;padding:14px;font:inherit;color:#0B1B2B;background:#fff;resize:vertical}.admin-coaching-note .hint{font-size:12px;color:#536473;margin-top:8px}.small[data-copy-message][data-tone="success"],.small[data-admin-message][data-tone="success"]{color:#2F6A45;font-weight:900}.small[data-copy-message][data-tone="error"],.small[data-admin-message][data-tone="error"]{color:#9B2D20;font-weight:900}.small[data-copy-message][data-tone="info"],.small[data-admin-message][data-tone="info"]{color:#0B1B2B;font-weight:900}
@media(max-width:980px){.report-meta-grid{grid-template-columns:1fr}.report-layer{grid-template-columns:1fr}.feedback-report-card{padding:24px 18px}.readiness-badge{display:block}.readiness-badge strong{display:block;margin-bottom:5px}}
@media print{.no-print,.topbar,.hero,.side-rail,.foot{display:none!important}body{background:#fff!important}.section.light{background:#fff!important;padding:0!important}.wrap,.academy-content,.feedback-report-content{max-width:none!important;width:100%!important}.academy-shell{display:block!important}.feedback-report-card{box-shadow:none;border:0;border-radius:0;padding:18mm}.report-layer,.practice-card,.coaching-note-panel{break-inside:avoid}.route-chip{box-shadow:none}.authority{break-inside:avoid}.report-meta-grid{grid-template-columns:repeat(2,1fr)}}

/* ============================================================
   Terra Vita Academy v14 — premium certificate design
   Matches the certificate artwork direction: ivory paper,
   bronze-gold frame, Academy lockup, seal, signature and
   clean institutional certificate metadata.
   ============================================================ */
.certificate-view-page{background:#F4F2EC;padding:38px 0 56px}
.certificate-view-wrap{max-width:1280px;margin:0 auto;padding:0 18px}
.tva-certificate-stage{max-width:1240px;margin:0 auto;color:#15191F}
.tva-certificate-sheet{
  position:relative;
  width:100%;
  max-width:1220px;
  min-height:860px;
  margin:0 auto;
  padding:54px 58px 42px;
  overflow:hidden;
  background:
    radial-gradient(circle at 48% 42%,rgba(255,255,255,.95),rgba(255,252,246,.82) 48%,rgba(250,246,237,.62) 100%),
    linear-gradient(135deg,#FFFDF8 0%,#FBF7EF 52%,#FFFDFC 100%);
  border:2px solid #A66B28;
  box-shadow:0 22px 70px rgba(39,30,18,.18);
  color:#16191E;
}
.tva-certificate-sheet:before{
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(166,107,40,.68);
  pointer-events:none;
  z-index:1;
}
.tva-certificate-sheet:after{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(166,107,40,.32);
  pointer-events:none;
  z-index:1;
}
.tva-cert-corner{position:absolute;width:82px;height:82px;border-color:#A66B28;z-index:2;pointer-events:none}
.tva-cert-corner-tl{top:15px;left:15px;border-top:2px solid;border-left:2px solid;border-top-left-radius:28px}
.tva-cert-corner-tr{top:15px;right:15px;border-top:2px solid;border-right:2px solid;border-top-right-radius:28px}
.tva-cert-corner-bl{bottom:15px;left:15px;border-bottom:2px solid;border-left:2px solid;border-bottom-left-radius:28px}
.tva-cert-corner-br{bottom:15px;right:15px;border-bottom:2px solid;border-right:2px solid;border-bottom-right-radius:28px}
.tva-cert-leaf{position:absolute;right:18px;top:34px;width:250px;max-height:760px;object-fit:contain;opacity:.88;z-index:0;mix-blend-mode:multiply}
.tva-cert-geometry{position:absolute;left:16px;bottom:26px;width:140px;height:430px;object-fit:cover;opacity:.85;z-index:0;mix-blend-mode:multiply}
.tva-cert-header,.tva-cert-body,.tva-cert-footer,.tva-cert-meta,.tva-cert-boundary,.tva-cert-revoked{position:relative;z-index:3}
.tva-cert-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}
.tva-cert-lockup{width:365px;height:auto;object-fit:contain;display:block;mix-blend-mode:multiply}
.tva-cert-status{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(166,107,40,.42);color:#7A4B16;background:rgba(255,249,235,.78);border-radius:999px;padding:8px 13px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em}
.tva-cert-status.invalid{border-color:#B42318;color:#8B2E22;background:#FFF4F2}
.tva-cert-body{text-align:center;max-width:760px;margin:0 auto;padding-top:10px}
.tva-cert-body h1{
  font-family:Georgia,'Times New Roman',serif;
  color:#8A5619;
  font-size:clamp(44px,5.4vw,68px);
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.025em;
  margin:0;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
.tva-rule{height:26px;display:flex;align-items:center;justify-content:center;margin:8px 0 14px}
.tva-rule:before,.tva-rule:after{content:"";display:block;width:142px;height:1px;background:#BE8B4C}
.tva-rule span{width:10px;height:10px;transform:rotate(45deg);background:#B17B35;margin:0 16px;display:block}
.tva-cert-kicker,.tva-cert-line{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:#1C222B;
  font-weight:800;
}
.tva-cert-kicker{font-size:15px;margin-top:2px}
.tva-cert-body h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(42px,5.2vw,70px);
  line-height:1;
  letter-spacing:-.035em;
  color:#171A20;
  margin:18px auto 16px;
  font-weight:600;
  max-width:860px;
}
.tva-cert-body h2:after{content:"";display:block;width:170px;height:2px;background:#A66B28;margin:14px auto 0;opacity:.78}
.tva-cert-line{font-size:14px;margin:22px 0 16px}
.tva-cert-body h3{
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(34px,4.5vw,55px);
  line-height:1.08;
  color:#15191F;
  letter-spacing:-.035em;
  font-weight:500;
  margin:0 auto 14px;
  max-width:850px;
}
.tva-cert-scope{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:10px auto 0;
  padding-top:14px;
  border-top:1px solid rgba(166,107,40,.52);
  color:#8A5619;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:13px;
  font-weight:850;
}
.tva-cert-footer{
  display:grid;
  grid-template-columns:180px 160px minmax(290px,1fr) 190px;
  align-items:end;
  gap:22px;
  max-width:920px;
  margin:54px auto 20px;
}
.tva-cert-date-block,.tva-cert-id-block{text-align:center;color:#16191F}
.tva-cert-date-block strong,.tva-cert-id-block strong{display:block;min-height:28px;border-bottom:1px solid #A66B28;padding:0 8px 8px;margin-bottom:8px;font-size:14px;color:#15191F;word-break:break-word}
.tva-cert-date-block span,.tva-cert-id-block span{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:900;color:#15191F}
.tva-cert-icon{font-size:22px;line-height:1;color:#A66B28;margin-bottom:7px}
.tva-cert-seal-block{text-align:center;border-right:1px solid #C89555;padding-right:20px}
.tva-cert-seal{width:132px;height:132px;object-fit:contain;display:inline-block;mix-blend-mode:multiply}
.tva-cert-signature-block{text-align:center;color:#15191F;padding:0 10px}
.tva-signature-img{width:300px;max-width:100%;height:auto;display:block;margin:0 auto -2px;mix-blend-mode:multiply}
.tva-cert-signature-block:before{content:"";display:block;width:280px;max-width:86%;height:1px;background:#A66B28;margin:0 auto 10px;transform:translateY(76px)}
.tva-cert-signature-block strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:24px;line-height:1.05;color:#15191F;margin-top:2px}
.tva-cert-signature-block span,.tva-cert-signature-block em{display:block;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-style:normal;color:#7A4B16;font-weight:850;margin-top:3px}
.tva-cert-signature-block em{color:#15191F;letter-spacing:.12em}
.tva-cert-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin:18px auto 8px;max-width:980px;color:#5D6167;font-size:11px;font-weight:750}
.tva-cert-boundary{max-width:980px;margin:10px auto 0;text-align:center;color:#5D6167;font-size:10px;line-height:1.35}
.tva-cert-revoked{margin:12px auto 0;max-width:720px;border:1px solid #E7B1A8;background:#FFF4F2;color:#7F1D16;border-radius:10px;padding:10px 12px;text-align:center;font-weight:900}
.tva-certificate-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px auto 16px}.tva-certificate-stage>.authority{max-width:980px;margin:16px auto 0}.tva-certificate-stage.is-revoked .tva-certificate-sheet{border-color:#9B2D20}.tva-certificate-stage.is-revoked .tva-certificate-sheet:before,.tva-certificate-stage.is-revoked .tva-certificate-sheet:after{border-color:rgba(155,45,32,.45)}
@media(max-width:980px){
  .tva-certificate-sheet{min-height:auto;padding:34px 24px 28px}.tva-cert-lockup{width:280px}.tva-cert-leaf{opacity:.24;width:210px}.tva-cert-geometry{opacity:.26}.tva-cert-header{display:block}.tva-cert-status{margin-top:12px}.tva-cert-footer{grid-template-columns:1fr;gap:18px;margin-top:36px}.tva-cert-seal-block{border-right:0;padding-right:0}.tva-cert-date-block strong,.tva-cert-id-block strong{max-width:260px;margin-left:auto;margin-right:auto}.tva-cert-body h1{font-size:44px}.tva-cert-body h2{font-size:44px}.tva-cert-body h3{font-size:34px}.tva-rule:before,.tva-rule:after{width:92px}
}
@page{size:A4 landscape;margin:0}
@media print{
  body{background:#fff!important}.certificate-view-page{padding:0!important;background:#fff!important}.certificate-view-wrap{max-width:none!important;padding:0!important}.tva-certificate-stage{max-width:none!important;margin:0!important}.tva-certificate-sheet{width:297mm;height:210mm;min-height:210mm;max-width:none;box-shadow:none;border-radius:0;margin:0;padding:14mm 16mm 10mm;break-inside:avoid;page-break-inside:avoid}.tva-cert-lockup{width:86mm}.tva-cert-body{max-width:178mm}.tva-cert-body h1{font-size:17mm}.tva-cert-body h2{font-size:15mm}.tva-cert-body h3{font-size:12.5mm}.tva-cert-footer{max-width:220mm;margin-top:14mm;grid-template-columns:40mm 34mm 1fr 45mm}.tva-cert-seal{width:30mm;height:30mm}.tva-signature-img{width:68mm}.tva-cert-leaf{width:58mm}.tva-cert-geometry{width:31mm;height:105mm}.tva-cert-meta{font-size:7pt;margin-top:5mm}.tva-cert-boundary{font-size:6.5pt}.tva-cert-revoked{font-size:8pt}.tva-certificate-actions,.tva-certificate-stage>.authority{display:none!important}
}

/* v15 participant access console */
.access-console-panel{background:#fff;border:1px solid rgba(14,47,62,.14);border-radius:20px;padding:18px 20px;margin:20px 0;box-shadow:0 12px 32px rgba(8,25,36,.06)}
.access-console-panel summary{cursor:pointer;color:var(--navy);font-size:18px;margin-bottom:14px}
.access-create-form{margin-top:16px}.checkbox-row{display:flex;gap:10px;align-items:center;margin:10px 0;color:var(--navy);font-weight:750}.checkbox-row input{width:auto;min-height:auto}.access-console-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#FFF7E8;border:1px solid rgba(183,126,50,.26);border-radius:18px;padding:14px 18px;margin:18px 0;color:var(--navy)}.access-console-summary strong{font-size:28px;color:#8A5619}.access-console-summary span{font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.access-participant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;margin-top:16px}.access-participant-card{background:#fff;border:1px solid rgba(14,47,62,.14);border-radius:22px;padding:20px;box-shadow:0 14px 34px rgba(8,25,36,.07)}.access-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.access-card-head h3{margin:0;color:var(--navy);font-size:22px}.access-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.access-metrics{margin:12px 0 16px}.access-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:14px 0}.access-meta-grid p{margin:0;background:#F7F3EA;border:1px solid rgba(14,47,62,.08);border-radius:12px;padding:10px;color:var(--navy);font-size:13px}.generated-code-box{border:1px solid rgba(181,121,46,.35);background:#FFF8EA;border-radius:18px;padding:14px;margin:14px 0;color:var(--navy)}.generated-code-box code{display:block;word-break:break-word;font-size:20px;font-weight:900;letter-spacing:.06em;margin:8px 0;color:#102B3A}.access-actions{gap:8px;margin-top:12px}.danger-lite{border-color:#E7B1A8!important;background:#FFF4F2!important;color:#7F1D16!important}.access-events{margin-top:14px;border-top:1px solid rgba(14,47,62,.1);padding-top:12px}.access-events summary{cursor:pointer;font-weight:850;color:var(--navy)}.event-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:start;border-bottom:1px solid rgba(14,47,62,.08);padding:8px 0;font-size:12px;color:var(--navy)}.event-row em{font-style:normal;color:#65727A}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:#EAF1F3;color:#123243;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.access-participant-card .ok,.access-participant-card .warn,.access-participant-card .risk,.access-participant-card .neutral{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.access-participant-card .ok{background:#E7F8EF;color:#12613A}.access-participant-card .warn{background:#FFF3D3;color:#79520B}.access-participant-card .risk{background:#FFE9E5;color:#8E251B}.access-participant-card .neutral{background:#EAF1F3;color:#123243}
@media(max-width:720px){.access-meta-grid{grid-template-columns:1fr}.event-row{grid-template-columns:1fr}.access-card-head{display:block}.access-badges{justify-content:flex-start;margin-top:10px}}


/* v17 Academy training and simulation expansion */
.training-path-grid,
.simulation-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  gap:18px;
  margin:26px 0;
}
.training-card,
.sim-card{
  background:#fff;
  border:1px solid rgba(9,33,47,.14);
  border-radius:24px;
  padding:24px;
  box-shadow:0 14px 30px rgba(9,33,47,.06);
}
.training-card h3,
.sim-card h3{margin:12px 0 8px;color:var(--navy)}
.training-card p,
.sim-card p{color:#244253}
.sim-card small{display:block;margin-top:12px;color:#6a7d85;font-weight:700}
.training-lesson .exercise ul,
.sim-output ul{margin:12px 0 0 20px;color:#244253}
.sim-lab .form-card{margin-top:22px}
.sim-output{
  margin:20px 0;
  padding:20px;
  background:#f8f2e6;
  border-left:6px solid var(--gold);
  border-radius:18px;
  color:var(--navy);
}
.sim-output h3{font-size:34px;margin:8px 0;color:var(--navy)}
.sim-output h4{margin:16px 0 4px;color:var(--navy)}
.feedback-pill{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-weight:900;font-size:13px;letter-spacing:.02em}
.feedback-pill.strong{background:#dfead0;color:#223614}
.feedback-pill.partial{background:#fff1c2;color:#523b00}
.feedback-pill.practice{background:#f9d9d4;color:#5f1d12}
.advanced-sim-form select{min-height:48px}
@media(max-width:760px){.training-path-grid,.simulation-grid{grid-template-columns:1fr}.sim-output h3{font-size:28px}}


/* v18 simulation-aligned training modules */
.v18-route-panel{background:linear-gradient(135deg,#0B1B2B,#183A4D);color:#fff;border-radius:28px;padding:26px;margin:24px 0;box-shadow:0 18px 42px rgba(11,27,43,.16)}
.v18-route-panel h3{color:#fff;margin:10px 0}.v18-route-panel p{color:#F4EFE4;max-width:940px}.v18-route-panel .btn.light{background:#fff;color:#0B1B2B;border-color:#fff}
.v18-pathway-table{display:grid;gap:14px;margin:24px 0}.v18-path-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:#fff;border:1px solid rgba(14,47,62,.12);border-radius:20px;padding:18px 20px;box-shadow:0 10px 28px rgba(11,27,43,.05)}
.v18-path-row h3{margin:8px 0 6px;color:var(--navy)}.v18-path-row p{margin:0;color:#344B5C}.v18-path-row .btn{margin-left:6px;margin-top:4px}
.v18-module-card p{font-size:14px;line-height:1.55}.v18-lesson ul{color:#244253;line-height:1.65}.v18-module-hero{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.v18-module-hero>div{background:#fff;border:1px solid rgba(14,47,62,.12);border-radius:22px;padding:22px;box-shadow:0 12px 30px rgba(11,27,43,.05)}.v18-module-hero h3{margin:0 0 10px;color:var(--navy)}.v18-module-hero p{color:#244253}.v18-reflex-box textarea{width:100%;min-height:84px;border:1px solid rgba(14,47,62,.18);border-radius:14px;padding:14px;background:#F7F4EC;color:var(--navy);font-weight:750;resize:vertical}.v18-handoff{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:#FFF7E8;border:1px solid rgba(201,162,74,.35);border-radius:24px;padding:24px;margin:24px 0}.v18-handoff h3{margin:10px 0;color:var(--navy)}.v18-handoff p{color:#244253}.v18-simulation-prep{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:24px;padding:22px;margin:0 0 22px;box-shadow:0 12px 30px rgba(11,27,43,.05)}.v18-simulation-prep h3{margin:10px 0;color:var(--navy)}.v18-simulation-prep p{color:#244253}.navlinks a[href="/private-academy/simulations/"]{font-weight:950}
@media(max-width:860px){.v18-path-row,.v18-module-hero,.v18-handoff{grid-template-columns:1fr}.v18-path-row .btn{margin-left:0}.v18-handoff .buttons{justify-content:flex-start}}

/* v19 Academy progress ledger + simulation attempt storage */
.progress-preview-panel,
.progress-completion-widget,
.progress-hero-panel{
  background:linear-gradient(135deg,#0B1B2B,#183A4D);
  color:#fff;
  border-radius:28px;
  padding:24px;
  margin:22px 0;
  box-shadow:0 18px 42px rgba(11,27,43,.15);
}
.progress-completion-widget{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(135deg,#122B3A,#25495D)}
.progress-preview-panel h3,.progress-completion-widget h3,.progress-hero-panel h2{color:#fff;margin:10px 0}
.progress-preview-panel p,.progress-completion-widget p,.progress-hero-panel p{color:#F4EFE4;max-width:860px}
.progress-completion-widget .btn.light,.progress-preview-panel .btn.light{background:#fff;color:#0B1B2B;border-color:#fff}
.small[data-progress-message][data-tone="success"]{color:#DDEFCB;font-weight:900}.small[data-progress-message][data-tone="error"],.small[data-ledger-error]{color:#9B2D20;font-weight:900}.small[data-ledger-saved]{color:#2F6A45;font-weight:900;margin-top:10px}
.progress-hero-panel{display:grid;grid-template-columns:1fr minmax(180px,260px);align-items:center;background:linear-gradient(135deg,#071522,#102B3F)}
.progress-readiness{background:#fff;color:#0B1B2B;border-radius:24px;padding:20px;text-align:center;border:4px solid #C9A24A}.progress-readiness strong{display:block;font-size:22px;line-height:1.2}.progress-readiness span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:#536473;margin-top:8px}
.progress-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.progress-kpi-grid div{background:#fff;border:1px solid rgba(14,47,62,.14);border-radius:18px;padding:16px;text-align:center;box-shadow:0 12px 28px rgba(11,27,43,.05)}.progress-kpi-grid strong{display:block;color:#0B1B2B;font-size:26px;letter-spacing:-.03em}.progress-kpi-grid span{display:block;color:#536473;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.progress-kpi-grid.compact{grid-template-columns:repeat(4,1fr);margin:12px 0}.progress-kpi-grid.compact div{padding:11px}.progress-kpi-grid.compact strong{font-size:20px}
.progress-ledger-section{background:#fff;border:1px solid rgba(14,47,62,.14);border-radius:26px;padding:22px;margin:22px 0;box-shadow:0 14px 34px rgba(11,27,43,.06)}.progress-item-list{display:grid;gap:12px}.progress-item{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid rgba(14,47,62,.12);border-left:7px solid #BFCBD0;border-radius:18px;padding:16px;background:#FBFDFC}.progress-item.ok{border-left-color:#6F8D55}.progress-item.warn{border-left-color:#C9A24A}.progress-item.risk{border-left-color:#9B4A32;background:#FFF8F5}.progress-item h4{margin:8px 0 4px;color:#0B1B2B}.progress-item p{margin:0;color:#536473}.progress-item-side{display:flex;gap:10px;align-items:center;justify-content:flex-end}.progress-status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;background:#EAF1F3;color:#123243}.progress-status.ok{background:#E7F8EF;color:#12613A}.progress-status.warn{background:#FFF3D3;color:#79520B}.progress-status.risk{background:#FFE9E5;color:#8E251B}.progress-status.neutral{background:#EAF1F3;color:#123243}.progress-event-list,.progress-event-table{border:1px solid rgba(14,47,62,.12);border-radius:18px;overflow:hidden;background:#fff}.progress-event,.progress-event-row{display:grid;grid-template-columns:1.1fr .9fr .8fr auto;gap:12px;align-items:center;border-bottom:1px solid rgba(14,47,62,.08);padding:12px 14px;color:#0B1B2B}.progress-event:last-child,.progress-event-row:last-child{border-bottom:0}.progress-event strong,.progress-event-row strong{color:#0B1B2B}.progress-event span,.progress-event-row span{font-weight:850;color:#244253}.progress-event em,.progress-event-row em{font-style:normal;color:#667783;font-size:12px;font-weight:800}.admin-progress-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin:20px 0}.admin-progress-card{background:#fff;border:1px solid rgba(14,47,62,.14);border-left:7px solid #BFCBD0;border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(11,27,43,.07)}.admin-progress-card.ok{border-left-color:#6F8D55}.admin-progress-card.warn{border-left-color:#C9A24A}.admin-progress-card.risk{border-left-color:#9B4A32}.admin-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.admin-progress-head h3{margin:0;color:#0B1B2B}.admin-progress-head p{margin:5px 0 0;color:#536473;font-weight:800;word-break:break-word}
@media(max-width:900px){.progress-completion-widget,.progress-hero-panel,.progress-item,.progress-event,.progress-event-row,.admin-progress-head{grid-template-columns:1fr;display:grid}.progress-kpi-grid{grid-template-columns:repeat(2,1fr)}.progress-item-side{justify-content:flex-start}.progress-completion-widget .buttons{justify-content:flex-start}}
@media(max-width:560px){.progress-kpi-grid{grid-template-columns:1fr}.admin-progress-grid{grid-template-columns:1fr}}


/* v20 Cohort Manager + Launch Readiness */
.cohort-console-card {overflow: visible;}
.cohort-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:22px;}
.cohort-card {background:#fff;border:1px solid rgba(20,50,46,.12);border-radius:24px;padding:22px;box-shadow:0 14px 32px rgba(20,50,46,.08);}
.cohort-card.ok {border-color:rgba(53,117,87,.35)}
.cohort-card.warn {border-color:rgba(186,134,62,.38)}
.cohort-card.risk {border-color:rgba(137,62,54,.32)}
.cohort-head {display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;}
.cohort-head h3 {margin:8px 0 4px;}
.cohort-actions {margin-top:16px;}
.admin-crosslinks {flex-wrap:wrap;}
.launch-summary-card {background:linear-gradient(135deg,#173632,#274D45);color:#fff;border-radius:28px;padding:28px;margin-bottom:22px;box-shadow:0 20px 50px rgba(20,50,46,.18);}
.launch-summary-card h2,.launch-summary-card p {color:#fff;}
.launch-check-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0;}
.launch-check {background:#fff;border-radius:22px;border:1px solid rgba(20,50,46,.12);padding:20px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start;box-shadow:0 12px 26px rgba(20,50,46,.07);}
.launch-check.ok {border-color:rgba(53,117,87,.35)}
.launch-check.warn {border-color:rgba(186,134,62,.42)}
.launch-check.risk {border-color:rgba(137,62,54,.36)}
.launch-check h3 {margin:10px 0 6px;}
.launch-check p {margin:0;color:var(--navy);}
.cohort-form textarea {width:100%;border:1px solid rgba(20,50,46,.2);border-radius:14px;padding:12px;font:inherit;}
@media print {.topbar,.side-rail,.buttons,.admin-toolbar,footer{display:none!important}.academy-content{width:100%!important}.launch-summary-card{box-shadow:none;color:#173632;background:#fff;border:2px solid #b98a56}.launch-summary-card h2,.launch-summary-card p{color:#173632}}

/* v21 — Cohort manager visual cleanup */
.cohort-console-polished{overflow:hidden;border-radius:28px;padding:0;background:#fff;box-shadow:0 18px 48px rgba(11,27,43,.08)}
.cohort-toolbar{padding:24px;border-bottom:1px solid rgba(14,47,62,.10);align-items:flex-start;gap:22px;background:linear-gradient(135deg,#FFFDF7,#F5F2EA)}
.cohort-toolbar h3{margin:0 0 6px;color:var(--navy);font-size:28px;letter-spacing:-.02em}
.cohort-toolbar p{margin:0;color:#536473;max-width:680px}
.compact-buttons{margin-top:14px;gap:8px}
.compact-buttons .btn{padding:10px 14px;font-size:13px}
.cohort-filter-form{background:#fff;border:1px solid rgba(14,47,62,.12);border-radius:20px;padding:14px;min-width:min(380px,100%);box-shadow:0 10px 26px rgba(11,27,43,.04)}
.cohort-filter-form label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#536473;font-weight:900;margin-bottom:8px;display:block}
.cohort-filter-row{display:flex;gap:8px;align-items:center}
.cohort-filter-row input{min-width:0;flex:1}
.admin-message{min-height:26px;margin:14px 24px 0;color:#536473;font-weight:800}
.admin-message[data-tone="success"]{color:#12613A}
.admin-message[data-tone="error"]{color:#8E251B}
.cohort-form-card{margin:18px 24px 24px;border:1px solid rgba(14,47,62,.12);border-radius:22px;background:#FBFEFA;box-shadow:none}
.cohort-form-card summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;color:var(--navy)}
.cohort-form-card summary strong{font-size:18px}
.cohort-form-card summary span{font-size:13px;color:#65727A;font-weight:800}
.cohort-form-card .cohort-form{padding:0 20px 20px}
.cohort-summary-panel{margin:0 24px 22px;background:linear-gradient(135deg,#102B3A,#173E46);border-radius:26px;padding:24px;color:#fff;display:grid;grid-template-columns:1.05fr 1.6fr;gap:22px;align-items:center;box-shadow:0 20px 50px rgba(11,27,43,.16)}
.cohort-summary-panel span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#E7C78C}
.cohort-summary-panel h3{margin:7px 0;color:#fff;font-size:28px;letter-spacing:-.03em}
.cohort-summary-panel p{margin:0;color:#E6EEF0}
.cohort-summary-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.cohort-stat{background:#fff;border:1px solid rgba(14,47,62,.12);border-radius:18px;padding:14px 12px;text-align:center;min-width:0;box-shadow:0 10px 24px rgba(11,27,43,.05)}
.cohort-summary-panel .cohort-stat{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.20);box-shadow:none;color:#fff}
.cohort-stat strong{display:block;color:#0B1B2B;font-size:24px;line-height:1;letter-spacing:-.03em;white-space:nowrap}
.cohort-summary-panel .cohort-stat strong{color:#fff}
.cohort-stat span{display:block;color:#536473;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;margin-top:8px;line-height:1.25}
.cohort-summary-panel .cohort-stat span{color:#E9F2F0}
.cohort-stat.ok{border-color:rgba(111,141,85,.35);background:#F2FAF3}
.cohort-stat.warn{border-color:rgba(201,162,74,.35);background:#FFF9EB}
.cohort-summary-panel .cohort-stat.ok,.cohort-summary-panel .cohort-stat.warn{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.22)}
.cohort-list{display:grid;grid-template-columns:1fr;gap:18px;margin:18px 24px 24px}
.cohort-card{background:#fff;border:1px solid rgba(14,47,62,.14);border-left:8px solid #BFCBD0;border-radius:26px;padding:24px;box-shadow:0 16px 36px rgba(11,27,43,.07);min-width:0;overflow:hidden}
.cohort-card.ok{border-left-color:#6F8D55;border-top-color:rgba(111,141,85,.24)}
.cohort-card.warn{border-left-color:#C9A24A;border-top-color:rgba(201,162,74,.26)}
.cohort-card.risk{border-left-color:#9B4A32;border-top-color:rgba(155,74,50,.25)}
.cohort-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.cohort-title-block{min-width:0}
.cohort-ref{display:inline-flex;border-radius:999px;background:#F5EFE2;border:1px solid rgba(166,107,40,.25);color:#7A4B16;padding:6px 10px;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;max-width:100%;white-space:normal;word-break:break-word}
.cohort-card h3{margin:12px 0 5px;color:var(--navy);font-size:24px;line-height:1.18}
.cohort-card p{margin:0;color:#536473}
.cohort-status{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:950;white-space:nowrap;background:#EAF1F3;color:#123243}
.cohort-status.ok{background:#E7F8EF;color:#12613A}
.cohort-status.warn{background:#FFF3D3;color:#79520B}
.cohort-status.neutral{background:#EAF1F3;color:#123243}
.cohort-progress-bar{height:10px;background:#ECF1F0;border-radius:999px;overflow:hidden;margin:6px 0 8px}
.cohort-progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#6F8D55,#C9A24A);border-radius:999px;min-width:4px}
.cohort-progress-label{display:flex;justify-content:space-between;gap:12px;color:#536473;font-size:13px;font-weight:850;margin-bottom:16px}
.cohort-progress-label strong{color:#0B1B2B}
.cohort-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px;margin:16px 0;min-width:0}
.cohort-meta-line{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;color:#536473;font-weight:800}
.cohort-meta-line span{background:#F7FAF8;border:1px solid rgba(14,47,62,.09);border-radius:14px;padding:9px 12px}
.cohort-meta-line strong{color:#0B1B2B}
.cohort-note{margin:14px 0;background:#FFF8EA;border:1px solid rgba(201,162,74,.25);border-radius:16px;padding:14px;color:#0B1B2B}
.cohort-note strong{display:block;margin-bottom:5px;color:#7A4B16;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.cohort-members{margin:14px 0;border:1px solid rgba(14,47,62,.12);border-radius:16px;background:#FBFEFA;overflow:hidden}
.cohort-members summary{padding:13px 15px;cursor:pointer;font-weight:900;color:var(--navy)}
.cohort-member-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;border-top:1px solid rgba(14,47,62,.08);padding:12px 15px;color:var(--navy)}
.cohort-member-row strong{display:block;color:var(--navy)}
.cohort-member-row span{display:block;color:#65727A;font-size:13px;word-break:break-word}
.cohort-actions{border-top:1px solid rgba(14,47,62,.08);padding-top:15px;margin-top:16px;gap:8px}
.cohort-actions .btn{padding:10px 13px;font-size:13px}
.cohort-console-polished .admin-actions{margin:0 24px 18px;gap:10px}
@media(max-width:1080px){.cohort-summary-panel{grid-template-columns:1fr}.cohort-summary-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}.cohort-filter-form{min-width:100%}.cohort-filter-row{flex-wrap:wrap}.cohort-filter-row input{flex-basis:100%}}
@media(max-width:700px){.cohort-toolbar{padding:18px}.cohort-summary-panel,.cohort-list,.cohort-console-polished .admin-actions,.cohort-form-card{margin-left:16px;margin-right:16px}.cohort-card-top,.cohort-progress-label,.cohort-member-row{display:block}.cohort-status{margin-top:12px}.cohort-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cohort-actions .btn{width:100%;justify-content:center}.cohort-filter-row .btn{flex:1}.cohort-meta-line{display:grid;grid-template-columns:1fr}.cohort-summary-panel{padding:20px}.cohort-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v22 cohort KPI micro-overlap fix: enforce non-overlapping KPI cards across all widths. */
.cohort-summary-stats{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(148px,1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
  width:100%;
  min-width:0;
}
.cohort-stat-grid{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(138px,1fr)) !important;
  gap:12px !important;
  align-items:stretch !important;
  min-width:0;
}
.cohort-stat{
  min-width:0 !important;
  min-height:92px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:16px 12px !important;
  overflow:hidden;
}
.cohort-stat strong{
  font-size:clamp(20px,2.2vw,26px) !important;
  line-height:1 !important;
  white-space:normal !important;
  max-width:100%;
}
.cohort-stat span{
  font-size:10px !important;
  line-height:1.18 !important;
  letter-spacing:.045em !important;
  max-width:100%;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.cohort-summary-panel{
  overflow:hidden;
}
.cohort-summary-panel .cohort-stat{
  min-height:96px;
}
@media(max-width:1200px){
  .cohort-summary-stats{grid-template-columns:repeat(auto-fit,minmax(135px,1fr)) !important;}
}
@media(max-width:700px){
  .cohort-summary-stats,.cohort-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .cohort-stat{min-height:88px;padding:14px 10px !important;}
  .cohort-stat span{font-size:9.5px !important;letter-spacing:.035em !important;}
}
@media(max-width:420px){
  .cohort-summary-stats,.cohort-stat-grid{grid-template-columns:1fr !important;}
}

/* v23 participant data-use acknowledgement gate */
.acknowledgement-content .ack-status-panel,
.ack-status-panel {
  border: 1px solid rgba(8,31,45,.16);
  border-radius: 18px;
  background: #fffaf0;
  color: var(--navy);
  padding: 18px 20px;
  margin: 14px 0 18px;
  box-shadow: 0 12px 30px rgba(8,31,45,.06);
  line-height: 1.55;
}
.ack-status-panel[data-tone="success"] { background: #edf7ed; border-color: rgba(66,116,62,.28); }
.ack-status-panel[data-tone="error"] { background: #fff1ef; border-color: rgba(150,54,43,.28); }
.ack-status-panel[data-tone="info"] { background: #f4f8fa; border-color: rgba(44,86,101,.22); }
.acknowledgement-form {
  display: grid;
  gap: 14px;
  padding: 22px;
  background: #fff;
  border: 1px solid rgba(8,31,45,.12);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(8,31,45,.07);
}
.acknowledgement-form[hidden] { display: none !important; }
.ack-card {
  border: 1px solid rgba(176,121,49,.18);
  background: #fbf5e8;
  border-radius: 18px;
  padding: 16px 18px;
}
.ack-card h3 { margin: 0 0 6px; }
.acknowledgement-form .checkbox-row {
  align-items: flex-start;
  padding: 14px 16px;
  border: 1px solid rgba(8,31,45,.11);
  border-radius: 16px;
  background: #f8faf9;
  line-height: 1.45;
}
.acknowledgement-form .checkbox-row input { margin-top: 4px; min-width: 18px; min-height: 18px; }
.ack-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.ack-pill.accepted { color: #254d22; background: #edf7ed; border: 1px solid rgba(66,116,62,.25); }
.ack-pill.pending { color: #6d4a17; background: #fff4d8; border: 1px solid rgba(176,121,49,.25); }
.access-meta-grid .ack-meta { grid-column: span 2; }
@media (max-width: 760px) { .access-meta-grid .ack-meta { grid-column: auto; } }


/* v24 Academy User Guide + Admin SOP Pack */
.guide-content .authority{margin:18px 0 20px}.guide-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:18px 0 24px}.guide-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}.guide-card-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-card{display:block;position:relative;background:#fff;border:1px solid #E7DCC0;border-radius:22px;padding:20px;text-decoration:none;color:#0B1B2B;box-shadow:0 14px 34px rgba(11,27,43,.06);transition:.16s ease;min-height:158px}.guide-card:hover{transform:translateY(-2px);box-shadow:0 18px 44px rgba(11,27,43,.12)}.guide-card span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:#0B1B2B;color:#fff;font-weight:950;margin-bottom:12px}.guide-card strong{display:block;font-size:19px;margin-bottom:8px;color:#0B1B2B}.guide-card p{color:#536473;margin:0;line-height:1.5}.sop-panel{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:26px;padding:24px;margin:24px 0;box-shadow:0 14px 34px rgba(11,27,43,.06)}.sop-panel h3{margin:0 0 14px;color:#0B1B2B}.sop-steps{counter-reset:sop;list-style:none;padding:0;margin:0;display:grid;gap:12px}.sop-steps li{counter-increment:sop;background:#fff;border:1px solid #E7DCC0;border-radius:18px;padding:14px 14px 14px 58px;position:relative;color:#263645}.sop-steps li:before{content:counter(sop);position:absolute;left:14px;top:13px;width:30px;height:30px;border-radius:50%;background:#C9A24A;color:#0B1B2B;display:flex;align-items:center;justify-content:center;font-weight:950}.sop-steps strong{color:#0B1B2B}.guide-section{background:#fff;border:1px solid #D9E4DF;border-radius:24px;padding:22px;margin:18px 0}.guide-section h3{margin:0 0 10px;color:#0B1B2B}.guide-section p,.guide-section li{color:#263645}.tight-list{margin:10px 0 0;padding-left:20px}.tight-list li{margin:8px 0}.code-box{background:#0B1B2B;color:#F4EFE4;border-radius:18px;padding:16px;margin:12px 0;overflow:auto}.code-box code{color:#F4EFE4;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.7}.checklist{background:#FBFCFA;border:1px solid #D9E4DF;border-radius:24px;padding:22px;margin:22px 0}.checklist h3{margin:0 0 12px;color:#0B1B2B}.checklist label{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-top:1px solid #EAF0EC;color:#263645}.checklist label:first-of-type{border-top:0}.checklist input{margin-top:4px;accent-color:#0B1B2B}.trouble-list{display:grid;gap:12px;margin:20px 0}.trouble-list details{background:#fff;border:1px solid #D9E4DF;border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(11,27,43,.04)}.trouble-list summary{cursor:pointer;color:#0B1B2B;font-weight:950}.trouble-list p{color:#263645;margin:10px 0 0}.trouble-list code,.guide-section code{background:#F4F2EC;border:1px solid #E7DCC0;border-radius:8px;padding:2px 6px;color:#0B1B2B}@media(max-width:980px){.guide-card-grid,.guide-card-grid.compact{grid-template-columns:1fr}.guide-card{min-height:auto}.sop-steps li{padding-left:52px}}@media print{.no-print,.topbar,.hero,.side-rail,.foot{display:none!important}.guide-content{max-width:none!important}.academy-shell{display:block!important}.section.light{background:#fff!important;padding:0!important}.sop-panel,.guide-section,.checklist,.guide-card,.trouble-list details{break-inside:avoid;box-shadow:none}.guide-card-grid{grid-template-columns:1fr 1fr}.guide-actions{display:none!important}}


/* v25 Release Candidate & System Check Console */
.rc-header-card,.system-summary-card{background:linear-gradient(135deg,#102B3A,#173E46);color:#fff;border-radius:28px;padding:28px;margin-bottom:22px;box-shadow:0 20px 50px rgba(11,27,43,.16)}
.rc-header-card h2,.rc-header-card p,.system-summary-card h2,.system-summary-card p{color:#fff}.rc-header-card .buttons{margin-top:18px}.system-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.system-summary-stats div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:18px;padding:16px;text-align:center}.system-summary-stats strong{display:block;font-size:30px;line-height:1;color:#fff}.system-summary-stats span{display:block;margin-top:8px;color:#E9F2F0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.system-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:24px 0}.system-check-card{background:#fff;border:1px solid rgba(14,47,62,.14);border-radius:22px;padding:18px;box-shadow:0 12px 30px rgba(11,27,43,.06);display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:190px}.system-check-card.ok{border-left:6px solid #6F8D55}.system-check-card.warn{border-left:6px solid #C9A24A}.system-check-card.risk{border-left:6px solid #9B4A32}.system-check-card h3{margin:10px 0 8px;color:var(--navy);font-size:20px}.system-check-card p{color:#334155;margin:0}.system-check-card code{display:inline-block;margin-top:10px;background:#F6F2E8;border:1px solid #E7DCC0;border-radius:10px;padding:6px 8px;color:#0B1B2B;font-size:12px;word-break:break-all}.progress-status.ok{background:#E7F8EF;color:#12613A}.progress-status.warn{background:#FFF3D3;color:#79520B}.progress-status.risk{background:#FFE9E5;color:#8E251B}.rc-public-grid{margin-top:22px}.v25-public-product-panel .card{min-height:190px}.navlinks{row-gap:8px}.side-rail a[data-admin-only][hidden],.navlinks a[data-admin-only][hidden]{display:none!important}@media(max-width:980px){.system-summary-stats{grid-template-columns:1fr}.system-check-grid{grid-template-columns:1fr}.rc-header-card,.system-summary-card{padding:22px}.nav{align-items:flex-start;padding-top:12px;padding-bottom:12px}.navlinks{flex-wrap:wrap;justify-content:flex-end}}@media print{.system-check-card{break-inside:avoid;box-shadow:none}.rc-header-card,.system-summary-card{background:#fff;color:#0B1B2B;border:2px solid #C9A24A;box-shadow:none}.rc-header-card h2,.rc-header-card p,.system-summary-card h2,.system-summary-card p,.system-summary-stats strong{color:#0B1B2B}.system-summary-stats div{border:1px solid #D9E4DF;background:#fff}.system-summary-stats span{color:#536473}}


/* v26 Guide Pack UI Cleanup + Expanded Troubleshooting */
.navlinks a[data-admin-only]{min-width:max-content}.navlinks a[data-admin-only]::before{content:""}.guide-rail{padding:14px}.guide-rail .participant-state{display:block;margin:10px 0 14px;color:#536473;font-size:12px;font-weight:900}.side-rail-group{border-top:1px solid #E7DCC0;padding-top:14px;margin-top:14px}.side-rail-group:first-of-type{border-top:0;margin-top:12px}.side-rail-group>strong{display:block;margin:0 0 8px;padding:0 4px;color:#6F5A26;text-transform:uppercase;letter-spacing:.09em;font-size:11px;font-weight:950}.side-rail-group a{padding:9px 10px;margin:2px 0;font-size:13px}.side-rail-group a.mutedlink{background:transparent}.troubleshooting-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 22px}.compact-panel{padding:20px!important;margin:0!important}.professional-trouble-list{gap:18px}.trouble-card{background:#fff;border:1px solid #D9E4DF;border-radius:24px;padding:22px;box-shadow:0 16px 38px rgba(11,27,43,.06)}.trouble-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.trouble-card-head span{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#0B1B2B;color:#fff;font-weight:950;flex:0 0 auto}.trouble-card-head h3{margin:4px 0 0;color:#0B1B2B;font-size:21px}.trouble-card dl{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;margin:0}.trouble-card dt{font-weight:950;color:#6F5A26;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.trouble-card dd{margin:0;color:#263645;line-height:1.55}.trouble-card code{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:8px;padding:2px 6px;color:#0B1B2B}.trouble-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;padding-top:16px;border-top:1px solid #EAF0EC}.trouble-actions .btn{padding:10px 14px}.guide-content .code-box{margin:10px 0}.guide-content .code-box code{font-size:14px}.guide-card-grid .guide-card{min-height:176px}.guide-actions .btn{white-space:normal}.trouble-list details{display:none}.side-rail-group[hidden],.trouble-actions [hidden]{display:none!important}@media(max-width:980px){.troubleshooting-intro-grid{grid-template-columns:1fr}.trouble-card dl{grid-template-columns:1fr}.trouble-card dt{margin-top:8px}.trouble-card-head h3{font-size:19px}}


/* v27 guide/troubleshooting verification and layout polish */
.build-marker{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px 0;padding:10px 14px;border-radius:999px;background:#173c35;color:#fff;font-weight:800;font-size:12px;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.professional-trouble-list{display:grid;grid-template-columns:1fr;gap:18px;margin-top:24px}
.trouble-card{background:#fff;border:1px solid rgba(23,60,53,.18);border-radius:24px;padding:22px;box-shadow:0 14px 34px rgba(16,45,40,.08)}
.trouble-card-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px}
.trouble-card-head span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;border-radius:999px;background:#173c35;color:#fff;font-weight:800}
.trouble-card-head h3{margin:4px 0 0 0;color:#173c35;font-size:22px;line-height:1.15}
.trouble-card dl{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:10px 18px;margin:0}
.trouble-card dt{font-weight:900;color:#173c35;text-transform:uppercase;font-size:12px;letter-spacing:.05em}
.trouble-card dd{margin:0;color:#263d37;line-height:1.55}
.trouble-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.side-rail-group{border-top:1px solid rgba(23,60,53,.12);padding-top:14px;margin-top:14px}
.side-rail-group strong{display:block;margin-bottom:8px;color:#173c35;text-transform:uppercase;font-size:12px;letter-spacing:.06em}
.recovery-sequence{border:1px solid rgba(183,131,60,.35);background:#fffaf0}
@media(max-width:760px){.trouble-card dl{grid-template-columns:1fr}.trouble-card-head h3{font-size:19px}.build-marker{border-radius:16px;line-height:1.35}}

/* ============================================================
   Terra Vita Academy v29 — participant UX simplification
   Guided journey, simplified navigation and unified progress.
   ============================================================ */
.navlinks.participant-nav{gap:8px;align-items:center;flex-wrap:wrap}.navlinks.participant-nav a{white-space:nowrap}.participant-side-rail a{font-weight:850}.ux-hero .lead{max-width:780px}.ux-welcome-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;background:linear-gradient(135deg,#fff,#F7F4EC);border:1px solid #E7DCC0;border-radius:30px;padding:28px;margin:0 0 24px;box-shadow:0 16px 42px rgba(11,27,43,.07)}.ux-welcome-panel h2{margin:8px 0;color:#0B1B2B;font-size:clamp(34px,5vw,58px);letter-spacing:-.045em}.ux-mini-map{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;min-width:230px}.ux-mini-map span{display:flex;align-items:center;justify-content:center;border:1px solid #D9E4DF;border-radius:999px;background:#fff;color:#0B1B2B;font-weight:950;padding:10px 12px}.ux-next-step{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border-radius:28px;margin:22px 0;border:1px solid #D9E4DF;background:#fff;box-shadow:0 16px 42px rgba(11,27,43,.07)}.ux-next-step span{display:inline-flex;text-transform:uppercase;letter-spacing:.09em;font-size:12px;font-weight:950;border-radius:999px;padding:7px 10px;margin-bottom:8px}.ux-next-step h3{font-size:clamp(26px,3vw,38px);margin:6px 0;color:#0B1B2B}.ux-next-step p{color:#263645;font-size:17px}.ux-next-step.ok{background:#F3FAF4;border-color:#BEDCC4}.ux-next-step.ok span{background:#DDEFE1;color:#19522F}.ux-next-step.warn{background:#FFF9EB;border-color:#E8D49C}.ux-next-step.warn span{background:#F5E8B8;color:#6F5A26}.ux-next-step.risk{background:#FFF4F2;border-color:#F2D0C6}.ux-next-step.risk span{background:#FBE1DA;color:#8B2E22}.ux-next-step.muted span{background:#EEF3F0;color:#0B1B2B}.ux-stage-timeline{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:22px 0}.ux-stage{position:relative;min-height:162px;display:flex;flex-direction:column;gap:8px;text-decoration:none;border:1px solid #D9E4DF;border-radius:22px;background:#fff;color:#0B1B2B;padding:16px;box-shadow:0 10px 28px rgba(11,27,43,.05);transition:.16s ease}.ux-stage:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(11,27,43,.1)}.ux-stage b{width:34px;height:34px;border-radius:999px;background:#0B1B2B;color:#fff;display:flex;align-items:center;justify-content:center}.ux-stage strong{font-size:16px;line-height:1.2}.ux-stage small{color:#536473;line-height:1.35}.ux-stage em{margin-top:auto;font-style:normal;font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.05em}.ux-stage.ok{border-color:#BEDCC4;background:#F6FBF6}.ux-stage.warn{border-color:#E8D49C;background:#FFF9EB}.ux-stage.risk{border-color:#F2D0C6;background:#FFF4F2}.ux-stage.muted{background:#FBFCFA}.ux-stage-timeline.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.ux-help-box,.ux-panel{background:#fff;border:1px solid #D9E4DF;border-radius:26px;padding:24px;margin:22px 0;box-shadow:0 12px 34px rgba(11,27,43,.05)}.ux-help-box{background:#F7FAF8}.ux-help-box p,.ux-panel p{color:#263645}.ux-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}.ux-action-grid a{display:block;text-decoration:none;background:#F7F4EC;border:1px solid #E7DCC0;border-radius:22px;padding:18px;color:#0B1B2B}.ux-action-grid a strong{display:block;margin-bottom:8px;font-size:17px}.ux-action-grid a span{display:block;color:#536473;line-height:1.45}.ux-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}.ux-help-grid div{background:#F7F4EC;border:1px solid #E7DCC0;border-radius:22px;padding:18px}.ux-help-grid strong{display:block;color:#0B1B2B;margin-bottom:8px}.ux-help-grid p{color:#263645}.ux-admin-soft{background:#0B1B2B;color:#fff;border-radius:28px;padding:24px;margin:22px 0}.ux-admin-soft h3{color:#fff}.ux-admin-soft p{color:#F4EFE4}.ux-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:22px 0}.ux-kpi-grid div{background:#fff;border:1px solid #D9E4DF;border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(11,27,43,.04)}.ux-kpi-grid span{display:block;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:#536473;margin-bottom:6px}.ux-kpi-grid strong{display:block;color:#0B1B2B;font-size:19px;line-height:1.2}.ux-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ux-path-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;text-decoration:none;color:#0B1B2B;background:#FBFCFA;border:1px solid #D9E4DF;border-radius:16px;padding:13px 14px;margin:10px 0}.ux-path-row strong{line-height:1.25}.ux-path-row span{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.04em;text-align:right;min-width:125px}.ux-path-row.ok{background:#F6FBF6;border-color:#BEDCC4}.ux-path-row.warn{background:#FFF9EB;border-color:#E8D49C}.ux-path-row.risk{background:#FFF4F2;border-color:#F2D0C6}.ux-practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ux-practice-card{border:1px solid #D9E4DF;border-radius:22px;background:#fff;padding:18px}.ux-practice-card>span{display:inline-flex;border-radius:999px;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;background:#EEF3F0;color:#0B1B2B;padding:6px 9px}.ux-practice-card h4{color:#0B1B2B;margin:10px 0 8px}.ux-practice-card p{color:#263645}.ux-practice-card.warn{background:#FFF9EB;border-color:#E8D49C}.ux-practice-card.risk{background:#FFF4F2;border-color:#F2D0C6}.ux-empty{background:#F7FAF8;border:1px solid #D9E4DF;border-radius:18px;padding:16px;margin:10px 0}.ux-empty.success{background:#F3FAF4;border-color:#BEDCC4}.ux-empty p{color:#263645}.ux-path-row:hover,.ux-action-grid a:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(11,27,43,.08)}@media(max-width:1100px){.ux-stage-timeline,.ux-stage-timeline.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-action-grid,.ux-help-grid{grid-template-columns:1fr 1fr}.ux-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ux-welcome-panel,.ux-next-step{grid-template-columns:1fr}.ux-mini-map{min-width:0}}@media(max-width:700px){.ux-stage-timeline,.ux-stage-timeline.compact,.ux-action-grid,.ux-help-grid,.ux-grid-two,.ux-practice-grid{grid-template-columns:1fr}.ux-kpi-grid{grid-template-columns:1fr}.ux-path-row{display:block}.ux-path-row span{display:block;text-align:left;margin-top:6px}.ux-next-step .btn{width:100%;justify-content:center}}


/* v30 public curriculum expansion */
.public-curriculum-summary{margin:24px 0 18px}.public-curriculum-summary .stat{min-height:92px}.public-curriculum-summary .stat span{display:block;color:#536473;text-transform:uppercase;font-size:12px;font-weight:950;letter-spacing:.08em;margin-top:4px}.public-route-panel{margin-top:28px}.public-pathway-table .v18-path-row{border-left:6px solid rgba(201,162,74,.72)}.public-pathway-table .v18-path-row .btn{white-space:nowrap}.public-simulation-grid .sim-card{min-height:210px}.public-simulation-grid .sim-card p{font-size:15px;line-height:1.55}@media(max-width:860px){.public-pathway-table .v18-path-row{grid-template-columns:1fr}.public-pathway-table .v18-path-row .btn{white-space:normal}}


/* v31 external launch hardening */
.admin-subtle{opacity:.88}
.v31-access-flow .step-number{display:inline-flex;width:36px;height:36px;border-radius:999px;align-items:center;justify-content:center;background:var(--gold);color:var(--navy);font-weight:950;margin-bottom:10px}
.notice-panel{background:#fff;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:24px;padding:24px;box-shadow:0 18px 42px rgba(7,21,34,.06);margin-bottom:24px}
.v31-certificate-soft-gate p,.v31-video-status p{max-width:900px}
.support-grid .card{min-height:230px}.participant-help .route-map.compact{margin-top:14px}.launch-hardening-grid .trouble-card,.troubleshoot-grid .trouble-card{break-inside:avoid}.v31-launch-readiness-strip .card h3{margin-top:0}.public-curriculum .v18-path-row{break-inside:avoid}
@media (max-width: 860px){.nav{align-items:flex-start}.navlinks{gap:8px;overflow-x:auto;padding-bottom:8px;max-width:100%}.navlinks a{font-size:12px}.brand strong{font-size:12px}.brand img{width:42px;height:42px}.academy-shell{grid-template-columns:1fr}.side-rail{position:relative;top:0}.grid.four,.grid.three,.grid.two,.pricing{grid-template-columns:1fr!important}.route-map{grid-template-columns:1fr!important}.hero{padding:64px 0 56px}.hero h1{font-size:clamp(34px,10vw,52px)}.lead{font-size:18px}.certificate-sheet{overflow:visible}.v18-path-row{grid-template-columns:1fr!important}}
@media print{.topbar,.side-rail,.buttons,.guide-actions,.no-print,[data-gate]{display:none!important}.section{padding:24px 0}.wrap{max-width:none;padding:0 18px}.academy-content,.card,.notice-panel,.trouble-card{box-shadow:none!important;break-inside:avoid}.hero{background:#fff!important;color:#071522!important;padding:20px 0}.hero .lead{color:#071522!important}.foot{font-size:10px}.authority{break-inside:avoid}}


/* ============================================================
   Terra Vita Academy v34 — final UX consolidation & pilot readiness
   Groups the large Academy into a lighter participant journey.
   ============================================================ */
.v34-release-marker{display:inline-flex;gap:8px;align-items:center;background:#F7EFD9;border:1px solid #E2C870;color:#071522;border-radius:999px;padding:8px 12px;font-weight:950;font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.v34-start-panel{background:linear-gradient(135deg,#071522,#102B3F);color:#fff;border-radius:30px;padding:30px;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 60px rgba(7,21,34,.18);margin:0 0 22px;display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}
.v34-start-panel h2,.v34-start-panel h3{color:#fff}.v34-start-panel p{color:#E4EFEA}.v34-start-panel .btn.light{background:#fff;color:#071522}.v34-next-card{background:#fff;border:1px solid #E7DCC0;border-radius:22px;padding:20px;color:#071522}.v34-next-card strong{display:block;font-size:18px;margin-bottom:6px}.v34-next-card span{display:block;color:#667085;font-weight:850;font-size:13px;margin-top:4px}
.v34-journey{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:24px 0}.v34-journey a,.v34-journey div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;text-decoration:none;color:#071522;min-height:130px;display:flex;flex-direction:column;gap:6px}.v34-journey b{width:34px;height:34px;border-radius:50%;background:#C9A24A;color:#071522;display:flex;align-items:center;justify-content:center;font-weight:950}.v34-journey strong{font-size:15px}.v34-journey small{color:#667085;font-weight:750;line-height:1.35}.v34-journey em{font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#587D3B;font-weight:950;margin-top:auto}
.v34-pathway-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0}.v34-pathway-card{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:0 14px 34px rgba(11,27,43,.05)}.v34-pathway-card h3{font-size:24px}.v34-pathway-card ul{padding-left:18px;margin:12px 0}.v34-pathway-card li{margin:7px 0}.v34-pathway-card.foundation{border-top:6px solid #78964B}.v34-pathway-card.applied{border-top:6px solid #C9A24A}.v34-pathway-card.advanced{border-top:6px solid #2FA6A1}.v34-pathway-card.capstone{border-top:6px solid #102B3F}
.v34-module-list{display:grid;gap:12px;margin:18px 0}.v34-module-row{display:grid;grid-template-columns:115px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-decoration:none;color:#071522}.v34-module-row:hover{border-color:#C9A24A;box-shadow:0 12px 28px rgba(11,27,43,.06)}.v34-module-row .code{font-weight:950;color:#071522;background:#F7F4EC;border-radius:999px;padding:8px 10px;text-align:center}.v34-module-row p{margin:4px 0 0;color:#667085}.v34-module-row .handoff{font-size:12px;font-weight:950;color:#587D3B;text-transform:uppercase;letter-spacing:.06em}.v34-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:30px 0 12px}.v34-section-title p{max-width:680px;color:#667085;margin:0}.v34-plain-help{background:#F7FAF8;border:1px solid #D9E4DF;border-radius:22px;padding:20px;margin:18px 0}.v34-plain-help strong{color:#071522}.v34-plain-help p{color:#394C3B}.v34-public-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.v34-public-flow div{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.v34-public-flow b{color:#071522}.v34-public-flow span{display:block;color:#667085;font-weight:800;font-size:13px;margin-top:6px}.v34-compact-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.v34-pilot-note{background:#FFF9EB;border:1px solid #E7DCC0;border-radius:22px;padding:18px;margin:20px 0;color:#071522}
.v34-pulse{animation:v34pulse 2.8s ease-in-out infinite}@keyframes v34pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,162,74,.35)}50%{box-shadow:0 0 0 9px rgba(201,162,74,0)}}
@media(max-width:1050px){.v34-start-panel{grid-template-columns:1fr}.v34-journey{grid-template-columns:repeat(3,1fr)}.v34-pathway-grid{grid-template-columns:1fr}.v34-public-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v34-journey,.v34-public-flow{grid-template-columns:1fr}.v34-module-row{grid-template-columns:1fr}.v34-section-title{display:block}.v34-start-panel{padding:22px}.navlinks.participant-nav a:nth-child(n+5):not([data-admin-only]):not([data-logout-link]){display:none}.navlinks.participant-nav a.nav-pill{display:inline-flex}}
@media print{.v34-start-panel,.v34-pathway-card,.v34-module-row{break-inside:avoid}.v34-journey{display:block}.v34-journey a{margin-bottom:10px}}

/* ============================================================
   Terra Vita Academy v35 — participant dashboard readability fix
   Purpose: ensure light cards inside dark panels remain readable.
   ============================================================ */
.v34-start-panel .v34-next-card,
.v34-start-panel .v34-next-card *{
  color:#071522 !important;
}
.v34-start-panel .v34-next-card p{
  color:#243747 !important;
  font-weight:650;
  line-height:1.6;
}
.v34-start-panel .v34-next-card b,
.v34-start-panel .v34-next-card strong{
  color:#071522 !important;
}
.v34-start-panel .v34-next-card span{
  color:#44546A !important;
  font-weight:900;
}
.v34-start-panel .v34-next-card{
  background:#FFFFFF;
  border:2px solid #E2C870;
  box-shadow:0 16px 36px rgba(0,0,0,.18);
}

/* Terra Vita Academy v36 — final participant micro-polish */
[data-admin-only][hidden]{display:none!important}
.participant-side-rail a[href="/private-academy/my-progress/"]{font-weight:900}


/* Participant access email copy fallback */
.manual-copy-preview {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(11,27,63,0.12);
}
.manual-copy-preview summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--navy);
}
.manual-copy-preview textarea,
.manual-copy-panel textarea {
  width: 100%;
  margin: 8px 0 14px;
  border: 1px solid rgba(11,27,63,0.18);
  border-radius: 14px;
  padding: 12px;
  font: 13px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  background: #fff;
  color: var(--navy);
}
.manual-copy-panel {
  margin: 0 0 18px;
}

/* v42 admin/action-pill hardening */
.btn[disabled], .review-pill[disabled], button[aria-busy="true"]{opacity:.58;cursor:wait;pointer-events:none;transform:none!important;filter:saturate(.85)}
button:focus-visible,.btn:focus-visible,.review-pill:focus-visible,details summary:focus-visible{outline:3px solid rgba(201,162,74,.55);outline-offset:3px}
.access-card-message{min-height:1.2em;margin:8px 0 10px;font-weight:900}
.access-card-message[data-tone="success"],.small[data-participant-access-message][data-tone="success"],.small[data-cohort-message][data-tone="success"],.admin-message[data-tone="success"]{color:#2F6A45;font-weight:900}
.access-card-message[data-tone="error"],.small[data-participant-access-message][data-tone="error"],.small[data-cohort-message][data-tone="error"],.admin-message[data-tone="error"]{color:#9B2D20;font-weight:900}
.access-card-message[data-tone="info"],.small[data-participant-access-message][data-tone="info"],.small[data-cohort-message][data-tone="info"],.admin-message[data-tone="info"]{color:var(--navy);font-weight:900}
.access-actions .btn,.cohort-actions .btn,.review-pill-row .review-pill{touch-action:manipulation}
.generated-code-box.manual-copy-panel textarea,.manual-copy-preview textarea{font-family:inherit;line-height:1.45}

/* ============================================================
   Terra Vita Academy v43 — responsive access hardening
   Mobile/tablet navigation, touch targets, overflow control and
   small-screen readability across public, participant and admin rooms.
   ============================================================ */
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
img,video,iframe,svg{max-width:100%;height:auto}
button,a,input,select,textarea{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(201,162,74,.75);outline-offset:3px}
.mobile-menu-toggle{display:none}
.code-box,pre,code{max-width:100%;overflow-wrap:anywhere;word-break:break-word}
pre,.code-box{overflow-x:auto}
.table-scroll{width:100%;overflow-x:auto}
.rubric,.admin-table,.ledger-table,.certificate-table{max-width:100%}

@media(max-width:980px){
  .wrap{padding-left:16px;padding-right:16px}
  .section{padding:52px 0}
  .topbar{position:sticky;top:0;z-index:80}
  .nav{min-height:64px;height:auto!important;align-items:center;flex-wrap:wrap;gap:10px;padding-top:8px;padding-bottom:8px}
  .brand{min-width:0;flex:1 1 auto;max-width:calc(100% - 58px);gap:10px}
  .brand strong{white-space:normal;line-height:1.12;font-size:13px}
  .brand img{width:42px;height:42px;border-radius:10px;flex:0 0 auto}
  .mobile-menu-toggle{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:999px;min-height:44px;padding:10px 13px;font-weight:950;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 20px rgba(11,27,43,.06);cursor:pointer}
  .mobile-menu-icon{position:relative;width:18px;height:12px;display:inline-block;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
  .mobile-menu-icon:before{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor}
  .navlinks,.navlinks.participant-nav{display:flex!important;flex:1 0 100%;width:100%;max-width:100%;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:8px 0 6px;border-top:1px solid rgba(7,21,34,.08);scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .navlinks a:not([hidden]),.navlinks.participant-nav a:not([hidden]){display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:14px;padding:10px 12px;white-space:nowrap;line-height:1.2;color:var(--navy)}
  .navlinks .nav-pill:not([hidden]){background:#78964B;color:#fff;border-color:#78964B}
  .nav[data-mobile-enhanced="true"] .mobile-menu-toggle{display:inline-flex}
  .nav[data-mobile-enhanced="true"] .navlinks{display:none!important}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks{display:flex!important;flex-direction:column;align-items:stretch;overflow-x:hidden;overflow-y:auto;max-height:calc(100vh - 78px);padding:10px 0 8px}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks a:not([hidden]){width:100%;justify-content:flex-start;white-space:normal;text-align:left}
  [hidden],.navlinks [hidden],.side-rail [hidden]{display:none!important}
  .hero{padding:58px 0 48px}
  .hero h1{font-size:clamp(33px,10vw,48px);line-height:1.02;letter-spacing:-.035em;overflow-wrap:anywhere}
  h2{font-size:clamp(28px,8vw,38px)}
  h3{font-size:20px}
  .lead{font-size:18px;line-height:1.45}
  .buttons{gap:10px}
  .btn{min-height:44px;padding:12px 15px;white-space:normal;text-align:center;line-height:1.2}
  .card,.darkcard,.form-card,.feedback-report-card,.targeted-repeat-panel,.ux-help-box,.ux-panel,.v34-start-panel,.v34-pathway-card{border-radius:20px;padding:20px}
  .authority,.restricted,.notice{border-radius:14px;padding:16px}
  .side-rail{position:relative!important;top:auto!important;max-height:none;overflow:visible;margin-bottom:18px}
  .side-rail a:not([hidden]){min-height:42px;display:flex;align-items:center;white-space:normal}
  .academy-shell{grid-template-columns:1fr!important;gap:18px}
  .download,.locked-item,.report-letterhead,.access-card-head,.cohort-card-head,.section-title-row{display:block!important}
  .report-letterhead img{margin-bottom:10px}
  .tva-cert-scope{letter-spacing:.12em;font-size:11px;line-height:1.4}
}

@media(max-width:760px){
  .wrap{padding-left:14px;padding-right:14px}
  .section{padding:42px 0}
  .hero{padding:46px 0 42px}
  .hero h1{font-size:clamp(31px,11vw,42px)}
  .buttons .btn,.form-card button.btn,.form-card a.btn,.download .btn,.locked-item .btn,.ux-next-step .btn,.certificate-controls .btn{width:100%;justify-content:center}
  .form-card{padding:20px 16px}
  .form-grid,.grid,.grid.two,.grid.three,.grid.four,.pricing,.mini-grid,.progress-strip,.result-metrics,.practice-grid,.practice-card-grid,.route-chip-row,.report-meta-grid,.access-meta-grid,.certificate-registry-grid,.certificate-kpis,.certificate-mini-grid,.certificate-facts,.certificate-signature,.ux-stage-timeline,.ux-stage-timeline.compact,.ux-action-grid,.ux-help-grid,.ux-grid-two,.ux-practice-grid,.ux-kpi-grid,.v34-journey,.v34-public-flow,.v34-pathway-grid,.v34-module-row{grid-template-columns:1fr!important}
  .step{grid-template-columns:40px 1fr;gap:12px}.step:before{width:40px;height:40px}
  .rubric{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px}
  .rubric th,.rubric td{min-width:180px}
  .answer-status,.readiness-badge,.ux-path-row,.cohort-meta-line,.trouble-actions{display:block!important}
  .answer-status span{margin-bottom:8px}
  .ux-path-row span{display:block;text-align:left;margin-top:6px;min-width:0}
  .certificate-view-page{padding:18px 0 32px}.tva-certificate-sheet{padding:28px 16px 22px;border-width:1px}.tva-cert-body h1,.tva-cert-body h2{font-size:36px}.tva-cert-body h3{font-size:28px}.tva-cert-lockup{width:220px}.tva-rule:before,.tva-rule:after{width:58px}.tva-rule span{margin:0 10px}.tva-cert-footer{gap:14px}
}

@media(max-width:420px){
  .brand strong{font-size:12px}
  .mobile-menu-toggle{padding:9px 11px}.mobile-menu-label{font-size:12px}
  .hero h1{font-size:32px}.lead{font-size:17px}
  .card,.darkcard,.form-card,.feedback-report-card,.targeted-repeat-panel,.ux-help-box,.ux-panel,.v34-start-panel,.v34-pathway-card{padding:18px 14px}
  input,select,textarea{font-size:16px}
}


/* ============================================================
   Terra Vita Academy v44 — mobile overlap clearance + password visibility
   Clears stacked mobile header/menu spacing and adds accessible password
   show/hide controls for participant and admin access forms.
   ============================================================ */
.password-toggle-wrap{position:relative;width:100%}
.password-toggle-wrap input[type="password"],.password-toggle-wrap input[type="text"]{padding-right:86px}
.password-toggle-button{position:absolute;right:8px;top:50%;transform:translateY(-50%);min-width:64px;min-height:36px;border:1px solid #CFDCD7;background:#F7FAF8;color:var(--navy);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:950;line-height:1;cursor:pointer;box-shadow:0 6px 14px rgba(11,27,43,.06)}
.password-toggle-button:hover{background:#EAF2EF}
.password-toggle-button:focus-visible{outline:3px solid rgba(201,162,74,.75);outline-offset:3px}

@media(max-width:980px){
  .topbar{position:relative!important;top:auto!important;z-index:90}
  .topbar.mobile-menu-is-open{margin-bottom:16px;box-shadow:0 18px 34px rgba(11,27,43,.12)}
  .nav[data-mobile-enhanced="true"].mobile-nav-open{align-items:flex-start;padding-top:10px;padding-bottom:16px}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks{gap:10px;margin-top:6px;padding:12px!important;border-top:1px solid rgba(7,21,34,.10);border-radius:18px;background:rgba(255,255,255,.74);box-shadow:inset 0 0 0 1px rgba(7,21,34,.04);max-height:none!important;overflow:visible!important}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks a:not([hidden]){min-height:46px;padding:12px 14px;border-radius:14px;box-shadow:0 5px 12px rgba(11,27,43,.04)}
  body > .topbar + .hero, body > .topbar + main, body > .topbar + section{clear:both;margin-top:0!important}
  .hero{isolation:isolate}
  .password-toggle-wrap input[type="password"],.password-toggle-wrap input[type="text"]{min-height:48px;padding-right:88px}
  .password-toggle-button{min-height:38px;min-width:66px;right:7px;font-size:13px}
}

@media(max-width:420px){
  .topbar.mobile-menu-is-open{margin-bottom:18px}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks{padding:10px!important;gap:9px;border-radius:16px}
  .nav[data-mobile-enhanced="true"].mobile-nav-open .navlinks a:not([hidden]){font-size:12.5px;min-height:45px}
  .password-toggle-button{min-width:60px;padding-left:10px;padding-right:10px}
  .password-toggle-wrap input[type="password"],.password-toggle-wrap input[type="text"]{padding-right:80px}
}

/* ============================================================
   Terra Vita Academy v45 — My Progress hero/action overlap fix
   Forces the My Progress & Feedback intro panel to stack its
   title, explanatory copy and action buttons vertically so the
   buttons can never sit over or beside the heading at desktop,
   tablet or mobile widths.
   ============================================================ */
.ux-welcome-panel{
  grid-template-columns:1fr!important;
  align-items:start!important;
  gap:18px!important;
}
.ux-welcome-panel > div:first-child{
  min-width:0;
  max-width:820px;
}
.ux-welcome-panel h2{
  max-width:820px;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  margin-bottom:18px!important;
}
.ux-welcome-panel .lead{
  max-width:760px;
  overflow-wrap:normal;
  word-break:normal;
}
.ux-welcome-panel > .buttons{
  width:100%;
  margin-top:6px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:14px!important;
  clear:both;
}
.ux-welcome-panel > .buttons .btn{
  flex:0 1 auto;
  min-width:220px;
  max-width:100%;
}
@media(max-width:760px){
  .ux-welcome-panel{
    padding:22px 18px!important;
    border-radius:24px!important;
  }
  .ux-welcome-panel h2{
    font-size:clamp(34px,14vw,52px)!important;
    line-height:1.02!important;
  }
  .ux-welcome-panel > .buttons .btn{
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
  }
}
@media(max-width:420px){
  .ux-welcome-panel{
    padding:20px 14px!important;
  }
  .ux-welcome-panel h2{
    font-size:34px!important;
    letter-spacing:-.035em!important;
  }
}
