/* Registration and staff workspace follow the approved public landing system. */
.join-page,.app-shell{--ink:#18201b;--night:#16261b;--forest:#2f4a36;--mint:#b9d3bf;--paper:#f6f3ec;--panel:#fff;--line:#e3e8e2;--muted:#5d6b62;--orange:#ff7a45;--radius:20px;color:var(--ink);font-family:Heebo,Rubik,"Segoe UI",Arial,sans-serif}
.join-page{background:radial-gradient(circle at 90% 0%,#e2eee3 0,transparent 27%),radial-gradient(circle at 0% 60%,#f1e9d9 0,transparent 30%),var(--paper);padding-top:22px}
.join-header{max-width:1140px;margin-inline:auto;margin-bottom:22px;padding:8px 0 18px;border-bottom:1px solid #d9e3da;gap:10px}
.join-brand,.app-shell .brand{font-family:Rubik,Heebo,sans-serif;letter-spacing:0;gap:11px}
.join-brand b,.app-shell .brand b{font-size:17px;line-height:1.15}
.join-brand small,.app-shell .brand small{font-size:10px;letter-spacing:.04em;margin-top:3px}
.join-brand .brand-icon,.app-shell .brand .brand-icon{width:48px;height:48px;flex:none;border-radius:15px;display:grid;place-items:center;background:#2f4a36;box-shadow:0 8px 20px #16261b2b}
.join-brand .brand-icon img,.app-shell .brand .brand-icon img{width:40px;height:40px;object-fit:contain;display:block}
.join-brand b{color:#16261b}.join-brand small{color:#5d6b62}
.join-language,.join-switch-user{background:#fff;color:#2f4a36;border:1px solid #d6e2d7;border-radius:10px;box-shadow:none;font-size:12px}
.join-language:hover,.join-switch-user:hover{background:#eef5ef;color:#1f3527}
.join-progress{max-width:1140px;margin-inline:auto;margin-bottom:28px;padding:18px 20px;border-color:#dce7de;border-radius:20px;box-shadow:0 12px 30px #16261b0e;gap:8px}
.join-progress>div{font-size:12px;gap:9px;color:#738379;min-width:0}
.join-progress i{height:28px;width:28px;flex-basis:28px;background:#edf3ed;color:#536b58;border-radius:10px}
.join-progress .complete{color:#426949}.join-progress .complete i{background:#2f4a36;color:#fff}
.join-progress .current{color:#16261b}.join-progress .current i{background:#ff7a45;color:#fff;box-shadow:0 4px 12px #ff7a4555}
.join-card{background:#fff;border:1px solid #e3e8e2;border-radius:28px;box-shadow:0 24px 65px #16261b14;padding:38px}
.join-card.wide{width:min(880px,100%)}.join-card h1{color:#16261b;font-family:Rubik,Heebo,sans-serif;font-size:clamp(26px,3vw,36px);letter-spacing:-.025em;line-height:1.2;margin:8px 0 12px}
.join-card p{color:#5d6b62;line-height:1.65}.join-kicker{color:#2f4a36;background:#e7f0e8;display:inline-flex;padding:5px 11px;border-radius:999px;letter-spacing:.025em;font:800 11px Heebo,Rubik,sans-serif}
.join-card form{margin-top:22px;gap:16px}.join-card label{font-size:13px;color:#34493b}.join-card input,.join-card select,.join-card textarea{border-color:#d6e2d7;background:#fbfcfa;border-radius:12px;min-height:44px}
.join-card input:focus,.join-card select:focus,.join-card textarea:focus{border-color:#4f7859;outline:3px solid #b9d3bf66;background:#fff}
.join-card button:not(.text-button){background:#2f4a36;color:#fff;border-radius:12px;min-height:44px;box-shadow:0 8px 18px #2f4a3625}
.join-card button:not(.text-button):hover{background:#1f3527}.join-card .text-button{color:#2f4a36;box-shadow:none}
.join-card .declaration,.join-card .source-declaration{border-radius:16px;border-color:#dce7de;background:#f8faf7}
.join-card .signature-pad{border:1px dashed #a7bdaa;border-radius:14px;background:#fff}
.join-wait{text-align:center}.join-wait:before{content:"✓";display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:18px;background:#e7f0e8;color:#2f4a36;font-size:28px;font-weight:800}

.app-shell{background:#f6f3ec;min-height:100dvh}
.app-shell>.side{background:linear-gradient(180deg,#203929,#16261b);border-color:#385844;box-shadow:10px 0 30px #16261b16;padding:22px 15px}
.app-shell .brand{margin:2px 8px 21px;color:#fff}.app-shell .brand small{color:#b9d3bf}
.app-shell .side nav{gap:4px}.app-shell .nav-item{border-radius:12px;padding:10px 12px;color:#d2e0d4;border:1px solid transparent;box-shadow:none;font-weight:600}
.app-shell .nav-item:hover,.app-shell .nav-item.selected{background:#365640;color:#fff;border-color:#52785a;box-shadow:none}
.app-shell .nav-item.selected{box-shadow:inset 3px 0 0 #ff7a45}
.app-shell .side-bottom{border-color:#446049}.app-shell .side-signout{background:#2d4935!important;color:#fff!important;border-color:#52785a!important;width:100%;border-radius:11px}
.app-shell .topbar{margin:0 28px;padding:22px 8px 17px;border-bottom:1px solid #dfe7df;gap:14px}
.app-shell .topbar h1{color:#16261b;font-size:clamp(23px,2.4vw,31px);margin:3px 0 0}
.app-shell .topbar .overline{color:#657e69;font-size:10px;letter-spacing:.11em}
.app-shell .top-actions{align-items:center}.app-shell .signed-in-role{background:#fff;border:1px solid #e3e8e2;border-radius:999px;padding:7px 12px;color:#425a47;font-weight:700}
.app-shell #view{max-width:1460px;margin-inline:auto;padding:22px 36px 48px}
.app-shell .hero{background:linear-gradient(125deg,#2f4a36,#16261b);border-radius:24px;box-shadow:0 15px 30px #16261b22}.app-shell .hero button{background:#ff7a45;color:#fff;box-shadow:none}.app-shell .hero button:hover{background:#e96633}
.app-shell .metric-card,.app-shell .panel,.app-shell .program-card,.app-shell .training-exercise,.app-shell .training-card,.app-shell .training-section{background:#fff;border-color:#e3e8e2!important;border-radius:18px;box-shadow:0 8px 22px #16261b0b}
.app-shell .metric-card strong{color:#2f4a36}.app-shell .page-head h2,.app-shell .panel h2,.app-shell .panel h3,.app-shell .program-card h2{color:#1f3527}
.app-shell button:not(.nav-item){box-shadow:none}.app-shell input,.app-shell select,.app-shell textarea{border-color:#d6e2d7;background:#fff}.app-shell input:focus,.app-shell select:focus,.app-shell textarea:focus{border-color:#4f7859;outline:3px solid #b9d3bf66}
.app-shell .table-panel thead{background:#f3f7f3}.app-shell th,.app-shell td{border-color:#e8eee8}.app-shell .pill{background:#e7f0e8;color:#2f4a36}
@media(max-width:900px){.join-page{padding:12px 14px 36px}.join-header{padding-bottom:12px}.join-progress{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:11px 12px;margin-bottom:17px}.join-progress>div{flex:0 0 max-content;scroll-snap-align:center}.join-card,.join-card.wide{padding:22px 18px;border-radius:21px}.join-card h1{font-size:26px}.app-shell>.side{padding:12px 14px}.app-shell .brand{margin:0 0 10px}.app-shell .topbar{margin:0 14px;padding:15px 3px 12px}.app-shell #view{padding:16px 15px 30px}}
@media(max-width:520px){.join-brand .brand-icon,.app-shell .brand .brand-icon{width:39px;height:39px;border-radius:12px}.join-brand .brand-icon img,.app-shell .brand .brand-icon img{width:34px;height:34px}.join-brand b,.app-shell .brand b{font-size:14px}.join-card form{margin-top:16px}.app-shell .signed-in-role{display:none}}
