:root{--ink:#312923;--muted:#766a61;--paper:#fffaf6;--line:#e2d2c5;--peach:#d97852;--peach-soft:#edb293;--sand:#f4e2d1;--sage:#dce7d4;--yellow:#f5df70;box-sizing:border-box;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f5ede6}*{box-sizing:inherit}body{margin:0;min-height:100vh;background:linear-gradient(135deg,#f3e3d6 0 47%,#eee7dd 47% 100%)}button,input{font:inherit}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,.88fr) minmax(520px,1.12fr)}.auth-story{padding:clamp(30px,5vw,72px);background:#d98a65;display:flex;flex-direction:column;justify-content:space-between;gap:60px;position:relative;overflow:hidden}.auth-story:after{content:"";position:absolute;width:44vw;height:44vw;border:1px solid #382b2450;border-radius:50%;right:-26vw;bottom:-19vw}.auth-brand{align-self:flex-start;text-decoration:none;color:var(--ink);position:relative;z-index:1}.auth-kicker{font-size:11px;letter-spacing:.16em;font-weight:900;color:#8d482c}.auth-story h1{font-size:clamp(43px,5.8vw,88px);line-height:.91;letter-spacing:-.065em;margin:12px 0 24px;max-width:900px}.auth-story>div>p{font-size:clamp(17px,1.5vw,24px);line-height:1.45;max-width:680px;margin:0}.auth-story ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #49352b55;position:relative;z-index:1}.auth-story li{padding:18px 18px 0 0;display:grid;gap:10px}.auth-story li+li{border-left:1px solid #49352b55;padding-left:18px}.auth-story li b{font-size:12px}.auth-story li span{font-size:13px;line-height:1.4}.auth-card{background:var(--paper);padding:clamp(28px,5vw,74px) clamp(24px,7vw,110px);position:relative}.auth-back{display:inline-block;margin-bottom:38px;color:var(--muted);text-decoration:none;font-size:13px}.auth-tabs{display:grid;grid-template-columns:1fr 1.55fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:42px}.auth-tabs button{border:0;background:transparent;color:var(--muted);padding:14px 18px;cursor:pointer;font-weight:800}.auth-tabs button[aria-selected=true]{background:var(--ink);color:white}.auth-panel[hidden]{display:none}.auth-panel h2{font-size:clamp(36px,4vw,58px);line-height:1;letter-spacing:-.055em;margin:9px 0 14px}.auth-panel>p{color:var(--muted);line-height:1.5;max-width:630px;margin:0 0 28px}.auth-panel form{display:grid;gap:16px}.auth-panel form>label,.auth-row>label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted)}.auth-panel input{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:13px 14px;color:var(--ink);outline:none}.auth-panel input:focus{border-color:var(--peach);box-shadow:0 0 0 4px #d9785217}.password-field{position:relative;display:block}.password-field input{padding-right:92px}.password-field button{position:absolute;right:7px;top:7px;bottom:7px;border:0;background:var(--sand);border-radius:8px;color:#7f4d36;font-size:11px;font-weight:800;cursor:pointer}.auth-submit{border:0;background:var(--peach);color:white;border-radius:12px;padding:15px 18px;display:flex;justify-content:space-between;font-weight:900;cursor:pointer}.auth-submit:hover{background:#bd5d3a}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-error{margin:0!important;background:#f5dcd6;color:#98442f!important;border-radius:10px;padding:10px 12px;font-size:12px}.demo-access{margin-top:22px;background:var(--sand);border-radius:12px;padding:13px;display:flex;justify-content:space-between;gap:18px;font-size:11px}.demo-access span{color:var(--muted)}.profile-types{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.profile-types legend{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:var(--muted);margin-bottom:8px}.profile-types label{position:relative}.profile-types input{position:absolute;opacity:0;pointer-events:none}.profile-types label>span{min-height:84px;border:1px solid var(--line);border-radius:12px;padding:13px;display:block;cursor:pointer;background:white}.profile-types input:checked+span{border-color:var(--peach);background:#f8e4da;box-shadow:inset 0 0 0 1px var(--peach)}.profile-types b,.profile-types small{display:block}.profile-types b{font-size:13px}.profile-types small{font-size:10px;line-height:1.35;color:var(--muted);margin-top:5px}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;line-height:1.4}.auth-consent input{width:18px;height:18px;margin:1px 0 0}.auth-consent a{color:#9c4d2f}.auth-card>footer{border-top:1px solid var(--line);margin-top:34px;padding-top:16px;color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:1000px){.auth-shell{grid-template-columns:1fr}.auth-story{min-height:520px}.auth-story ul{grid-template-columns:1fr}.auth-story li+li{border-left:0}.auth-card{padding-bottom:70px}}@media(max-width:620px){.auth-story{min-height:430px;padding:26px 20px}.auth-story h1{font-size:45px}.auth-story ul{display:none}.auth-card{padding:28px 18px 60px}.auth-tabs{margin-bottom:32px}.profile-types,.auth-row{grid-template-columns:1fr}.profile-types label>span{min-height:0}.demo-access{display:grid}}

/* Role-aware registration remains one authorization flow. */
textarea{font:inherit}
.auth-panel textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:13px 14px;color:var(--ink);outline:none;resize:vertical;line-height:1.45}
.auth-panel textarea:focus{border-color:var(--peach);box-shadow:0 0 0 4px #d9785217}
.role-fields{display:grid;gap:16px;padding:17px;border:1px solid var(--line);border-radius:15px;background:#fffdf9}
.role-fields[hidden]{display:none}
.role-fields>label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.participation-types,.module-choice{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.participation-types legend,.module-choice legend{grid-column:1/-1;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.participation-types label,.module-choice label{position:relative}
.participation-types input,.module-choice input{position:absolute;opacity:0;pointer-events:none}
.participation-types label>span,.module-choice label>span{display:block;height:100%;min-height:72px;padding:12px;border:1px solid var(--line);border-radius:11px;background:white;cursor:pointer}
.participation-types input:checked+span,.module-choice input:checked+span{border-color:var(--peach);background:#f8e4da;box-shadow:inset 0 0 0 1px var(--peach)}
.participation-types b,.participation-types small,.module-choice b,.module-choice small{display:block}
.participation-types b,.module-choice b{font-size:12px}.participation-types small,.module-choice small{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.35}
.module-choice{grid-template-columns:1fr 1fr}.module-choice>p,.role-explainer{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.45}
select,textarea{font:inherit}.auth-panel select,.auth-panel textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:white;padding:13px 14px;color:var(--ink);outline:none}.auth-panel select:focus,.auth-panel textarea:focus{border-color:var(--peach);box-shadow:0 0 0 4px #d9785217}
.rent-choice{display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8f3ec}.rent-choice legend{padding:0 5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rent-choice-toggle{position:relative}.rent-choice-toggle>input{position:absolute;opacity:0;pointer-events:none}.rent-choice-toggle>span{display:block;padding:13px;border:1px solid var(--line);border-radius:11px;background:white;cursor:pointer}.rent-choice-toggle>input:checked+span{border-color:var(--peach);background:#f8e4da;box-shadow:inset 0 0 0 1px var(--peach)}.rent-choice-toggle b,.rent-choice-toggle small{display:block}.rent-choice-toggle b{font-size:13px}.rent-choice-toggle small{margin-top:4px;color:var(--muted);font-size:10px}.rent-choice-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:10px;padding-top:4px}.rent-choice-fields[hidden]{display:none}.rent-choice-fields label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.rent-choice-fields .wide{grid-column:1/-1}.rent-choice-fields p{margin:0;padding:10px;border-radius:9px;background:var(--sage);color:#59644f;font-size:11px;line-height:1.4}.field-help{display:block;color:var(--muted);font-size:10px;font-weight:400;letter-spacing:0;line-height:1.4;text-transform:none}
@media(max-width:620px){.participation-types,.module-choice,.rent-choice-fields{grid-template-columns:1fr}.rent-choice-fields .wide{grid-column:auto}}
