/* InstrumentPSK: shared, scoped auth forms. User-specified brand colours. */
body:has(.auth-v2){background:#f5f6f8}
body:has(.auth-v2) .body-content{display:none}
.auth-v2{--auth-accent:#ff6b0a;background:#f5f6f8;color:#202428;padding:28px 24px 56px;min-height:70vh}
.auth-v2 *{box-sizing:border-box}
.auth-crumbs{max-width:1140px;margin:0 auto 20px;display:flex;gap:12px;color:#718095;font-size:13px}
.auth-crumbs a{color:#718095}
.auth-frame{max-width:1140px;margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,1fr);border:1px solid #e6e9ee;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 28px #20242806}
.auth-form{padding:40px 44px 36px;min-width:0}
.auth-brand{display:inline-block;margin-bottom:28px;max-width:100%}
.auth-brand img{width:250px;max-width:100%;height:auto;display:block}
.auth-form h1{font-size:28px;line-height:1.2;letter-spacing:-.6px;margin:0 0 12px;font-weight:750;color:#202428}
.auth-intro{font-size:14px;line-height:1.6;color:#637183;margin:0 0 28px;max-width:60ch}
.auth-field{min-width:0;margin-bottom:20px}
.auth-field>label{font-size:13px;font-weight:650;display:block;margin:0 0 7px;color:#202428}
.auth-required{color:#ba331a}
.auth-input-wrap{position:relative;display:flex;align-items:center}
.auth-icon{width:20px;height:20px;flex-shrink:0}
.auth-input-wrap>.auth-icon{position:absolute;left:13px;color:#84909e;pointer-events:none}
.auth-v2 .auth-input-wrap input{display:block;width:100%;min-width:0;height:46px;border:1px solid #dce1e7;border-radius:7px;background:#f7f8fa;padding:11px 44px 11px 42px;font:inherit;font-size:15px;color:#202428;box-shadow:none}
.auth-input-wrap input::placeholder{color:#7c8795;font-size:13px}
.auth-input-wrap input:focus{border-color:var(--auth-accent);outline:3px solid #ff6b0a22;outline-offset:1px;background:#fff}
.auth-password-toggle{position:absolute;right:2px;top:1px;bottom:1px;width:44px;display:grid;place-items:center;background:none;border:0;border-radius:5px;color:#778391;cursor:pointer}
.auth-password-toggle:hover{color:#202428;background:#ecedf0}
.auth-password-toggle .auth-eye-slash{display:none}
.auth-password-toggle[aria-pressed="true"] .auth-eye-slash{display:block}
.auth-v2 a:focus-visible,.auth-v2 button:focus-visible,.auth-check input:focus-visible{outline:3px solid #ff6b0a88;outline-offset:3px}
.auth-v2 a{color:#bc4800;text-decoration:none}
.auth-v2 a:hover{text-decoration:underline}
.auth-options{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:4px 0 24px;font-size:13px}
.auth-check{display:flex;align-items:flex-start;gap:9px;font-weight:400;font-size:13px;line-height:1.6;cursor:pointer;margin:0}
.auth-v2 .auth-check input{appearance:none;flex:0 0 18px;width:18px;height:18px;margin:2px 0 0;border:1px solid #aeb7c0;border-radius:4px;background:#fff;cursor:pointer}
.auth-v2 .auth-check input:checked{border-color:#ff6b0a;background:#ff6b0a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8l3.5 3.5 6.5-7' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat}
.auth-v2 .auth-submit{display:flex;justify-content:center;align-items:center;gap:9px;min-height:46px;width:100%;padding:12px 18px;border:1px solid #ff6b0a;border-radius:7px;background:#ff6b0a;color:#fff;font-size:15px;font-weight:700;cursor:pointer;text-align:center;text-decoration:none}
.auth-v2 .auth-submit:hover{background:#e95c00;border-color:#e95c00;text-decoration:none}
.auth-submit:disabled{opacity:.65;cursor:wait}
.auth-switch{text-align:center;color:#667488;font-size:13px;margin:24px 0 0;line-height:1.6}
.auth-switch a{font-weight:600}
.auth-aside{background:#fff3e9;display:flex;flex-direction:column;position:relative;overflow:hidden;min-width:0}
.auth-aside-copy{padding:48px 36px 24px;position:relative;z-index:1}
.auth-aside h2{font-size:27px;line-height:1.22;letter-spacing:-.5px;margin:0 0 12px;color:#202428;font-weight:750}
.auth-aside-copy>p{font-size:14px;line-height:1.6;color:#637183;max-width:34ch;margin:0 0 26px}
.auth-benefits{list-style:none;padding:0;margin:0;display:grid;gap:22px}
.auth-benefits li{display:flex;align-items:center;gap:14px}
.auth-benefits li>span{width:38px;height:38px;border-radius:50%;background:#fff9f3;display:grid;place-items:center;color:#ef640b;flex:none}
.auth-benefits strong,.auth-steps strong{display:block;font-size:14px;line-height:1.4}
.auth-benefits small,.auth-steps small{display:block;color:#6b7889;line-height:1.5;font-size:12px;margin-top:3px}
.auth-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.auth-terms{margin:20px 0 24px}
.auth-help{font-size:12px;line-height:1.5;color:#6b7889;margin:7px 0 0}
.auth-help ul{padding-left:18px;margin:7px 0}
.auth-errors{background:#fff4f1;border:1px solid #f0c1b6;border-radius:7px;padding:12px 14px;color:#9a2f1f;font-size:13px;margin-bottom:22px;line-height:1.5}
.auth-errors ul,.auth-field-errors ul{list-style:none;padding:0;margin:5px 0}
.auth-errors p{margin:5px 0 0}
.auth-v2 .errorlist{font-size:12px;color:#ad3420;margin:6px 0 12px;line-height:1.5;padding-left:16px}
.auth-field--invalid input{border-color:#c35a48!important}
.auth-steps{counter-reset:step;list-style:none;padding:0;margin:0;display:grid;gap:22px}
.auth-steps li{padding-left:44px;position:relative;counter-increment:step}
.auth-steps li:before{content:counter(step);position:absolute;left:0;top:0;background:#ff6b0a;color:#fff;border-radius:50%;width:30px;height:30px;display:grid;place-items:center;font-weight:700}
@media(max-width:900px){.auth-form{padding:32px 28px}.auth-aside-copy{padding:36px 26px}.auth-frame{grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr)}.auth-fields-grid{grid-template-columns:1fr}}
@media(max-width:700px){.auth-v2{padding:20px 14px 36px}.auth-frame{display:block;max-width:480px}.auth-crumbs{max-width:480px;font-size:12px;margin-bottom:14px}.auth-aside{display:none}.auth-form{padding:28px 22px}.auth-brand{margin-bottom:26px}.auth-brand img{width:225px}.auth-form h1{font-size:25px}.auth-v2 .auth-input-wrap input{font-size:16px;height:48px}.auth-options{gap:8px;flex-wrap:wrap}.auth-options a,.auth-check{min-height:44px;align-items:center}.auth-v2 .auth-submit{min-height:48px}.auth-terms{align-items:flex-start}.auth-switch a{display:inline-block;padding:6px 0}}
@media(forced-colors:active){.auth-v2 .auth-check input{appearance:auto}}

