/* TrustNeo Phase 166 — Role-Aware Registration Experience
   Registration-first professional onboarding: compact 3-step flow, dynamic context,
   role-specific profiles, progressive disclosure, restrained visual hierarchy. */
:root{--tn166-blue:#3157e8;--tn166-blue-deep:#2448cd;--tn166-blue-soft:#f3f6ff;--tn166-canvas:#f5f7fa;--tn166-surface:#fff;--tn166-line:#e3e8ef;--tn166-line-strong:#d4dbe5;--tn166-ink:#192232;--tn166-muted:#707b8d;--tn166-danger:#b5473f;--tn166-danger-soft:#fff7f6;--tn166-radius:16px}
body.tn113-auth-page{background:var(--tn166-canvas)!important}

/* Login remains intentionally simple and subordinate to registration work. */
.tn165-login-shell.tn166-auth-shell{grid-template-columns:minmax(290px,40%) minmax(450px,60%)!important;min-height:500px!important;max-width:1040px!important}
.tn165-login-shell .tn165-login-story{min-height:500px!important;padding:34px!important}
.tn165-login-shell .tn165-story-kicker{margin-top:38px!important}
.tn165-login-shell .tn165-trust-points{margin-top:25px!important}
.tn165-login-shell .tn165-auth-panel{padding:30px 46px!important}
.tn165-login-shell .tn165-login-card{max-width:440px!important}

/* Register: 30/70 context-to-wizard balance. */
.tn166-register-shell{grid-template-columns:minmax(280px,300px) minmax(0,1fr)!important;width:min(1080px,calc(100% - 40px))!important;max-width:1080px!important;min-height:0!important;margin:20px auto!important;align-items:stretch!important;border-radius:16px!important}
.tn166-register-story{min-height:610px!important;padding:30px 27px!important;background:#f1f4f8!important;border-right:1px solid var(--tn166-line)!important}
.tn166-register-story-inner{max-width:248px!important;height:100%;display:flex;flex-direction:column}
.tn166-register-story .tn165-story-brand{margin-bottom:0}
.tn166-story-kicker{margin-top:42px!important;color:var(--tn166-blue)!important}
.tn166-register-story h1{margin:8px 0 9px!important;font-size:27px!important;line-height:1.06!important;color:var(--tn166-ink)!important;letter-spacing:-.04em!important}
.tn166-register-story p{font-size:10.8px!important;line-height:1.5!important;color:#758092!important}
.tn166-context-list{display:grid;gap:0;margin-top:auto;border-top:1px solid #dfe4eb}
.tn166-context-list span{display:grid;grid-template-columns:27px 1fr;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #dfe4eb;color:#596679;font-size:9.2px;font-weight:700;line-height:1.35}
.tn166-context-list i{display:grid;place-items:center;width:24px;height:24px;border:1px solid #dce2ea;border-radius:7px;background:#fff;color:var(--tn166-blue);font-size:8px;font-style:normal;font-weight:850}
.tn166-register-panel{padding:22px 28px!important;align-items:center!important}
.tn166-register-card{width:100%!important;max-width:700px!important;margin:0 auto!important;padding:0!important}
.tn166-card-head{margin-bottom:10px!important}
.tn166-card-head h2{font-size:26px!important;margin-top:4px!important}.tn166-card-head p{font-size:10.2px!important}

/* Premium compact step indicator. */
.tn166-steps{margin-bottom:12px!important;padding-bottom:10px!important;gap:7px!important}
.tn166-steps>span{font-size:9px!important;gap:5px!important}.tn166-steps>span b{width:22px!important;height:22px!important;font-size:7.8px!important}
.tn166-steps>span.completed{color:#526074!important}.tn166-steps>span.completed b{border-color:#cbd6fd!important;background:#eef3ff!important;color:var(--tn166-blue)!important}
.tn166-steps>span[aria-current="step"]{color:#253149!important}.tn166-steps>span[aria-current="step"] b{background:var(--tn166-blue)!important;border-color:var(--tn166-blue)!important;color:#fff!important}
.tn166-steps>i{background:#e4e8ee!important}
.tn166-validation-summary{margin:0 0 10px;padding:8px 10px;border:1px solid #efc2bd;border-radius:10px;background:var(--tn166-danger-soft);color:var(--tn166-danger);font-size:9.5px;font-weight:700}
.tn166-validation-summary[hidden]{display:none!important}

/* Role step. */
.tn166-register-step{gap:10px!important}.tn166-step-title{font-size:13px!important}.tn166-step-copy{font-size:9.2px!important;margin-bottom:2px!important}
.tn166-role-grid{gap:9px!important}
.tn166-role-card{min-height:176px!important;padding:13px!important;border-radius:13px!important;grid-template-columns:34px minmax(0,1fr) 18px!important}
.tn166-role-card:has(input:checked){border-color:#8299ee!important;background:#f6f8ff!important;box-shadow:0 0 0 2px rgba(49,87,232,.045)!important}
.tn166-role-copy{gap:3px!important}.tn166-role-copy strong{font-size:11.6px!important}.tn166-role-copy>small{font-size:9.3px!important}.tn166-role-copy ul{margin-top:5px!important;gap:3px!important}.tn166-role-copy li{font-size:8.5px!important}.tn166-role-copy>em{display:block;margin-top:6px;color:#8a94a3;font-size:7.9px;line-height:1.35;font-style:normal;font-weight:600}
.tn166-primary:disabled{cursor:not-allowed!important;background:#c7cfdd!important;color:#fff!important;opacity:1!important}
.tn166-auth-switch{margin-top:9px!important}

/* Step 2 grouped details; never a giant undifferentiated form. */
.tn166-step-heading{padding-bottom:7px!important}.tn166-step-heading strong{font-size:11px!important}.tn166-step-heading span{font-size:8.7px!important}
.tn166-form-group,.tn166-role-details{padding:10px!important;border:1px solid #e6eaf0!important;border-radius:12px!important;background:#fff!important;gap:8px!important}
.tn166-role-details{background:#fbfcfe!important}
.tn166-group-head strong{font-size:10px!important}.tn166-role-details-head{padding-bottom:6px!important}.tn166-role-details-head small{font-size:8.3px!important}
.tn166-field-grid,.tn166-profile-grid,.tn166-password-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tn166-register-form label{font-size:10.5px!important;gap:4px!important}
.tn166-register-form input:not([type=checkbox]):not([type=radio]),.tn166-register-form select,.tn166-register-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--tn166-line-strong)!important;border-radius:10px!important;background:#fff!important;color:var(--tn166-ink)!important;font:inherit!important;font-size:11.3px!important;box-shadow:none!important;outline:0!important}
.tn166-register-form input:not([type=checkbox]):not([type=radio]),.tn166-register-form select{height:44px!important;min-height:44px!important;padding:0 11px!important}
.tn166-register-form select{appearance:auto!important}
.tn166-register-form textarea{min-height:66px!important;padding:9px 11px!important;resize:vertical}
.tn166-register-form input:focus,.tn166-register-form select:focus,.tn166-register-form textarea:focus{border-color:#8298ef!important;box-shadow:0 0 0 3px rgba(49,87,232,.09)!important}
.tn166-register-form .tn166-invalid,.tn166-register-form [aria-invalid="true"]{border-color:#d98c86!important}
.tn166-field-error{display:block;margin-top:1px;color:var(--tn166-danger);font-size:8.3px;font-weight:650;line-height:1.35}
.tn166-password-rules{margin-top:1px!important}.tn166-password-rules span{font-size:7.6px!important;padding:3px 6px!important}
.tn166-chip-field{gap:5px!important}.tn166-chip-group{gap:5px!important}
.tn166-chip-group button{min-height:29px!important;padding:4px 8px!important;border-radius:999px!important;font-size:8.7px!important}
.tn166-chip-group button.active,.tn166-chip-group button[aria-pressed="true"]{border-color:#9badf0!important;background:#eef3ff!important;color:var(--tn166-blue)!important}
.tn166-subgroup{display:grid;gap:8px;padding-top:1px}.tn166-subgroup>strong{font-size:9.8px;color:#3c485c}
.tn166-advanced{border-top:1px solid #e9edf2;padding-top:7px}.tn166-advanced summary{cursor:pointer;list-style:none;color:var(--tn166-blue);font-size:9px;font-weight:800}.tn166-advanced summary::-webkit-details-marker{display:none}.tn166-advanced[open] summary{margin-bottom:8px}.tn166-advanced-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tn166-advanced-grid .tn166-full{grid-column:1/-1}
.tn166-register-actions{grid-template-columns:104px 1fr!important;gap:8px!important;margin-top:0!important}
.tn166-secondary,.tn166-primary{height:46px!important;min-height:46px!important;border-radius:10px!important}

/* Review: dense information, not a repeated form. */
.tn166-review{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
.tn166-review-block{padding:9px 10px!important;border-radius:10px!important;background:#fbfcfe!important}
.tn166-review-block header{padding-bottom:6px!important;margin-bottom:3px!important}.tn166-review-block header strong{font-size:9.8px!important}.tn166-review-block header button{font-size:8.2px!important}
.tn166-review-block>div{grid-template-columns:96px minmax(0,1fr)!important;gap:7px!important;padding:3px 0!important}.tn166-review-block span{font-size:8.2px!important}.tn166-review-block b{font-size:8.7px!important}
.tn166-terms{padding:8px 9px!important;margin-top:0!important}.tn166-terms span{font-size:8.8px!important}.tn166-form-note{font-size:7.9px!important}

/* Registration success. */
.tn166-success-shell{width:min(620px,calc(100% - 32px));margin:28px auto;display:grid;place-items:center}
.tn166-success-card{width:100%;box-sizing:border-box;padding:30px;border:1px solid var(--tn166-line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(24,32,47,.06);text-align:center}
.tn166-success-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 12px;border-radius:13px;background:#eef3ff;color:var(--tn166-blue);font-size:18px;font-weight:900}.tn166-success-card h1{margin:5px 0 7px;color:var(--tn166-ink);font-size:27px;letter-spacing:-.035em}.tn166-success-card>p{max-width:460px;margin:0 auto;color:var(--tn166-muted);font-size:11px;line-height:1.5}.tn166-success-card ol{display:grid;gap:0;margin:22px 0;padding:0;list-style:none;text-align:left;border-top:1px solid #e8ecf1}.tn166-success-card li{display:grid;grid-template-columns:28px 1fr;gap:9px;padding:10px 0;border-bottom:1px solid #e8ecf1}.tn166-success-card li>i{display:grid;place-items:center;width:25px;height:25px;border:1px solid #dfe5ed;border-radius:8px;color:#748095;font-size:8px;font-style:normal;font-weight:850}.tn166-success-card li.done>i{background:#eef3ff;border-color:#ccd7ff;color:var(--tn166-blue)}.tn166-success-card li span{display:grid;gap:2px}.tn166-success-card li strong{color:#354156;font-size:10px}.tn166-success-card li small{color:#8791a0;font-size:8.8px}.tn166-success-primary,.tn166-success-secondary{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;text-decoration:none;font-size:10.5px;font-weight:800}.tn166-success-primary{background:var(--tn166-blue);color:#fff}.tn166-success-secondary{margin-top:7px;border:1px solid var(--tn166-line-strong);color:#5d697c;background:#fff}

/* Never render required stars in auth. */
body.tn113-auth-page .tn80-required,body.tn113-auth-page .required-marker,body.tn113-auth-page [data-required-marker]{display:none!important}

@media(max-width:920px){
 .tn166-register-shell{grid-template-columns:1fr!important;width:min(720px,calc(100% - 28px))!important;margin:16px auto!important}.tn166-register-story{display:none!important}.tn166-register-panel{padding:26px!important}.tn166-register-card{max-width:none!important}
}
@media(max-width:620px){
 body.tn113-auth-page{background:#fff!important}.tn166-register-shell{width:100%!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important}.tn166-register-panel{padding:20px 16px 28px!important;align-items:flex-start!important}.tn166-card-head h2{font-size:24px!important}
 .tn166-role-grid,.tn166-field-grid,.tn166-profile-grid,.tn166-password-grid,.tn166-review,.tn166-advanced-grid{grid-template-columns:1fr!important}.tn166-role-card{min-height:150px!important}.tn166-advanced-grid .tn166-full{grid-column:auto}
 .tn166-steps>span em{font-size:8px!important}.tn166-register-actions{grid-template-columns:88px 1fr!important}.tn166-review-block>div{grid-template-columns:92px minmax(0,1fr)!important}.tn166-success-shell{width:100%;margin:0}.tn166-success-card{border:0;border-radius:0;box-shadow:none;padding:26px 18px}
}
@media(max-width:390px){.tn166-steps>span em{display:none!important}.tn166-register-panel{padding-inline:14px!important}.tn166-register-actions{grid-template-columns:82px 1fr!important}.tn166-chip-group{gap:4px!important}.tn166-chip-group button{padding-inline:7px!important}.tn166-review-block>div{grid-template-columns:84px minmax(0,1fr)!important}}
@media(prefers-reduced-motion:reduce){.tn166-chip-group button{transition:none!important}}
