/* A single visual scale for sign-in, registration, account and test orders. */
.portal-experience{min-height:100dvh;display:flex;flex-direction:column}
.portal-experience>header{width:100%;max-width:1100px;padding:14px 24px;gap:20px}
.portal-experience .brand img{width:90px}
.portal-experience>header nav{gap:18px;font-size:13px}
.portal-experience>header nav a{min-height:40px;display:inline-flex;align-items:center}
.portal-experience .preview-banner,.portal-experience .test-banner{font-size:11px;line-height:1.6;padding:7px 24px}
.portal-experience .portal-main{width:100%;max-width:760px;padding:30px 24px 36px;flex:1}
.portal-experience.auth-login .portal-main,.portal-experience.auth-test .portal-main{max-width:600px}
.portal-experience.auth-register .portal-main{max-width:880px}
.portal-experience.auth-orders .portal-main{max-width:1000px}
.portal-experience .eyebrow{margin-bottom:9px;letter-spacing:1.6px;font-size:10px}
.portal-experience .portal-main h1{font-size:clamp(31px,4vw,42px);line-height:1.12;letter-spacing:-1.1px;margin:0 0 12px}
.portal-experience .portal-main h2{font-size:27px;line-height:1.2;letter-spacing:-.6px;margin:0 0 12px}
.portal-experience .portal-intro,.portal-experience .portal-main>p{font-size:14px;line-height:1.65;max-width:65ch;margin-bottom:14px}
.portal-experience .portal-main form{margin:18px 0;padding:22px;border-radius:12px}
.portal-experience .portal-main fieldset{min-width:0}
.portal-experience .portal-main label{font-size:13px;margin:12px 0 6px}
.portal-experience .portal-main input:not([type=checkbox]),.portal-experience .portal-main select,.portal-experience .portal-main textarea{min-height:46px;font-size:16px;padding:10px 12px}
.portal-experience .portal-main small{font-size:12px;line-height:1.6;margin-top:6px}
.portal-experience .portal-fields{gap:2px 20px}
.portal-experience .portal-main [aria-invalid=true]{border-color:#a22c2c!important;box-shadow:0 0 0 1px #a22c2c}
.portal-experience .portal-main .button{min-height:46px;padding:11px 17px;font-size:13px;line-height:1.5;margin:14px 8px 0 0;justify-content:center;gap:14px}
.portal-experience.auth-login #portal-login button[type=submit],.portal-experience.auth-test #test-signup button[type=submit]{width:100%;margin-right:0}
.portal-experience .portal-links{font-size:13px;margin:16px 0;gap:14px}
.portal-experience .portal-message{font-size:13px;line-height:1.65;padding:13px 16px;margin:16px 0}
.portal-experience .portal-main .portal-check{margin:16px 0;font-size:12px;line-height:1.7;gap:10px}
.portal-experience .portal-check input{width:20px;height:20px;flex:none;margin:2px 0}
.portal-experience .portal-main .order-note{font-size:12px;line-height:1.7}
.portal-experience .catalogue-terms-box{padding:17px;margin:18px 0}
.portal-experience .catalogue-terms-box h2{font-size:23px}
.portal-experience .catalogue-terms-box p{font-size:13px}
.portal-experience .registration-route{margin:16px 0;gap:8px}
.portal-experience .registration-route li{padding:6px 10px;font-size:11px}
.portal-experience .registration-existing{padding:20px;margin:18px 0}
.portal-experience .account-entry{background:#f8faf8;border:1px solid #d8e3e0;border-radius:12px;padding:24px;margin-top:20px}
.portal-experience .account-entry h2{font-size:28px;margin:6px 0 14px}
.portal-experience .account-entry-identity{font-size:14px;line-height:1.6;margin-bottom:12px}
.portal-experience .entry-description{font-size:14px;line-height:1.7;margin-bottom:18px}
.portal-experience .entry-actions{flex-direction:row;flex-wrap:wrap;gap:10px}
.portal-experience .entry-actions .button{margin:0;min-height:46px;flex:1 1 200px}
.portal-experience .entry-progress{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.portal-experience .entry-progress li{align-items:flex-start;gap:8px;padding:10px 0;min-height:0;border-bottom:0;font-size:12px;line-height:1.5}
.portal-experience .entry-progress li>span{width:26px;height:26px;font-size:11px}
.portal-experience .entry-progress small{font-size:11px;margin-top:2px}
.portal-experience .entry-progress-details{border-top:1px solid #dce6df;margin-top:18px;padding-top:10px}
.portal-experience .entry-progress-details>summary{font-size:12px;color:#426550;cursor:pointer;min-height:32px;line-height:1.6;padding:5px 0}
.portal-experience .entry-refresh{font-size:13px;margin-top:14px;min-height:40px;padding:8px 0}
.portal-experience .portal-main>details:not(.entry-progress-details){border:1px solid #d8e3e0;border-radius:9px;padding:12px 16px;margin-top:16px}
.portal-experience .portal-main>details>summary{font-size:13px;cursor:pointer;line-height:1.6}
.portal-experience .portal-main>details form{margin-bottom:0}
.portal-password-field{position:relative}
.portal-experience .portal-main .portal-password-field>input{padding-right:98px}
.portal-password-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;position:absolute;right:5px;top:5px;bottom:5px;min-width:82px;padding:6px 8px;border:1px solid #c6d6cc;background:#fff;color:#196757;border-radius:6px;font:600 12px/1.3 Arial,sans-serif;cursor:pointer}
.portal-password-toggle:hover{background:#edf4f1}
.portal-password-toggle [hidden]{display:none}
.portal-password-toggle:focus-visible{outline:2px solid #947332;outline-offset:2px}
.portal-experience .test-notice{padding:12px 15px;font-size:13px;line-height:1.6;margin:14px 0}
.portal-experience #test-signup input[type=email],.portal-experience #test-signup #test-password,.portal-experience .test-password-field{max-width:none}
.portal-experience #test-signup input[type=email]{margin-bottom:12px}
.portal-experience .test-password-field{margin-bottom:14px}
.portal-experience #test-signup label:not(.portal-check){margin:12px 0 6px}
.portal-experience .test-signup-next{padding:20px;border:1px solid #c5dccc;background:#eff7f1;border-radius:12px;margin:18px 0}
.portal-experience .test-signup-next p{font-size:14px;line-height:1.7;margin-bottom:6px}
.portal-experience .test-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0;border-bottom:1px solid #d8e3e0;padding-bottom:12px}
.portal-experience .test-toolbar #test-status{padding:0;font-size:13px;line-height:1.6;font-weight:400;margin:0}
.portal-experience .test-toolbar .button{margin:0;flex-shrink:0}
.portal-experience .test-empty{padding:22px;border:1px solid #d8e3e0;border-radius:12px;background:#f4f8f5}
.portal-experience .test-empty h2{font-size:24px}
.portal-experience .test-empty p{font-size:14px;line-height:1.7;margin:0 0 4px}
.portal-experience .test-order{padding:20px;margin:16px 0}
.portal-experience .test-order h2{font-size:23px;margin-top:12px}
.portal-experience .test-order p{font-size:14px}
.portal-experience .test-current{padding:14px 16px;margin:16px 0}
.portal-experience .test-current>strong{font-size:17px}
.portal-experience .test-current p{margin:6px 0 10px}
.portal-experience .test-actions .button{margin:0;font-size:13px}
.portal-experience .test-history{margin:16px 0 8px;padding-top:10px}
.portal-experience .test-order .meta{font-size:12px}
.portal-experience>footer{width:100%;max-width:1100px;padding:20px 24px;gap:16px}
.portal-experience>footer p{font-size:16px}
@media(max-width:600px){
 .portal-experience>header{padding:12px 18px;gap:14px}
 .portal-experience .brand img{width:76px}
 .portal-experience>header nav{font-size:12px;gap:12px;justify-content:flex-end}
 .portal-experience .portal-main{padding:24px 18px 30px}
 .portal-experience .portal-main h1{font-size:33px}
 .portal-experience .portal-main form{padding:18px}
 .portal-experience .portal-fields{grid-template-columns:1fr}
 .portal-experience .account-entry{padding:18px}
 .portal-experience .account-entry h2{font-size:26px}
 .portal-experience .entry-progress{grid-template-columns:1fr;gap:0;margin:14px 0}
 .portal-experience .entry-progress li{padding:8px 0;align-items:center}
 .portal-experience .entry-actions{flex-direction:column}
 .portal-experience .entry-actions .button{flex:auto}
 .portal-experience .test-toolbar{gap:10px}
 .portal-experience .test-order,.portal-experience .test-empty{padding:17px}
 .portal-experience .test-actions{display:grid;grid-template-columns:1fr;width:100%}
 .portal-experience>footer{padding:18px;gap:10px}
 .portal-experience>footer a{width:auto;margin-left:auto}
}
