/* Focused account entry: a single form, with workspace choice in the corner. */
.auth-shell.auth-refresh { grid-template-columns:minmax(0,1fr) minmax(440px,1fr); padding:18px; gap:18px; background:#faf9f4; min-height:100dvh; }
.auth-refresh .auth-brand { display:flex; border-radius:24px; padding:38px clamp(30px,4vw,70px); min-height:calc(100dvh - 36px); background-position:62% center; }
.auth-refresh .auth-form-mobile-brand { display:none; }
.auth-refresh .auth-brand-scrim { background:linear-gradient(180deg,#102d2540 0%,#102d2580 30%,#102d25eb 100%); }
.auth-refresh .auth-brand-photo { z-index:-5; }
.auth-refresh .auth-brand-top { font-size:23px; letter-spacing:-.8px; }
.auth-refresh .auth-brand-top img { border-radius:8px; filter:brightness(0) invert(1); }
.auth-refresh .auth-brand-mid { margin:auto 0 45px; padding-top:90px; }
.auth-refresh .auth-brand-title { font-size:clamp(36px,4.2vw,68px); font-weight:500; line-height:1.08; letter-spacing:-.045em; margin:24px 0; }
.auth-refresh .auth-brand-title .grad { color:#e3e7bc; }
.auth-refresh .auth-brand-sub { font-size:15px; line-height:1.8; margin:0; color:#e7eadb; max-width:400px; }
.auth-refresh .auth-brand-foot { display:flex; align-items:center; gap:10px; border-top:1px solid #ffffff38; padding-top:24px; font-size:12px; color:#e7eadb; }
.auth-refresh .auth-form-panel { min-height:calc(100dvh - 36px); padding:12px clamp(22px,4.5vw,78px) 14px; background:transparent; }
.auth-refresh .auth-form-topbar { justify-content:flex-end; min-height:48px; position:relative; z-index:5; }
.auth-role-menu { position:relative; }
.auth-role-trigger { list-style:none; width:46px; height:46px; display:grid; place-items:center; border:1px solid #d9ddcf; border-radius:50%; background:#fffef9; color:#244b3d; cursor:pointer; transition:background .15s; }
.auth-role-trigger::-webkit-details-marker { display:none; }
.auth-role-trigger .icon { font-size:21px; }
.auth-role-trigger:hover,.auth-role-menu[open] .auth-role-trigger { background:#e9eedf; border-color:#8c9d86; }
.auth-role-popover { position:absolute; top:calc(100% + 10px); right:0; width:290px; max-width:calc(100vw - 40px); border-radius:18px; background:#fffefb; border:1px solid #d9ddcf; padding:8px; box-shadow:0 14px 45px #233c2e1c; }
.auth-role-popover > p { margin:8px 12px 10px; font-size:11px; color:#5d6b5c; }
.auth-role-popover button { display:flex; align-items:center; gap:12px; width:100%; min-height:67px; border:0; border-radius:11px; background:transparent; text-align:left; padding:12px; color:#243e31; cursor:pointer; }
.auth-role-popover button:hover,.auth-role-popover button[aria-pressed=true] { background:#edf1e5; }
.auth-role-popover button > .icon { font-size:21px; flex:none; }
.auth-role-popover button > span { flex:1; }
.auth-role-popover strong,.auth-role-popover small { display:block; }
.auth-role-popover strong { font-size:13px; font-weight:600; }
.auth-role-popover small { color:#5b6959; margin-top:3px; font-size:11px; line-height:1.45; }
.auth-refresh .auth-form-body { max-width:410px; padding:38px 0; width:100%; }
.auth-context { display:flex; gap:7px; align-items:center; color:#58704f; font-size:11px; letter-spacing:.03em; margin-bottom:14px; }
.auth-context .icon { font-size:15px; }
.auth-heading { font-family:var(--font-display); color:#203d2e; font-size:clamp(30px,3vw,42px); font-weight:500; line-height:1.16; letter-spacing:-.045em; margin:0; outline:none; }
.auth-intro { color:#596451; font-size:14px; line-height:1.75; margin:14px 0 28px; overflow-wrap:anywhere; }
.auth-intro strong { color:#284732; font-weight:600; }
.auth-refresh .field { margin-bottom:18px; }
.auth-refresh .field label { display:block; color:#2f4433; font-size:12px; font-weight:500; margin-bottom:8px; }
.auth-refresh .input { height:51px; border-radius:11px; border:1px solid #d4dacb; background:#fffefb; color:#22392d; font-size:15px; padding:12px 15px; width:100%; box-shadow:none; }
.auth-refresh .input::placeholder { color:#798273; opacity:1; }
.auth-refresh .input:focus { border-color:#507b52; box-shadow:0 0 0 3px #507b521a; outline:none; }
.auth-password-control { position:relative; }
.auth-password-control .input { padding-right:52px; }
.auth-password-control .auth-input-toggle { width:44px; height:44px; right:4px; color:#597052; }
.auth-field-hint { font-size:11px; line-height:1.7; color:#64715d; margin:8px 0 0; }
.auth-refresh .auth-submit { display:flex; align-items:center; justify-content:center; gap:12px; min-height:51px; border-radius:11px; margin-top:9px; font-size:13px; font-weight:600; }
.auth-submit .icon { font-size:17px; }
.auth-submit:disabled { opacity:.6; cursor:wait; }
.auth-progress { display:flex; align-items:center; gap:20px; padding:0; margin:0 0 30px; list-style:none; }
.auth-progress li { display:flex; gap:7px; align-items:center; font-size:10px; color:#747d6d; white-space:nowrap; }
.auth-progress li > span { display:grid; place-items:center; border:1px solid #d6dccd; border-radius:50%; width:24px; height:24px; font-size:10px; }
.auth-progress .active { color:#244c36; font-weight:600; }
.auth-progress .active > span,.auth-progress .done > span { color:#fff; background:#28553b; border-color:#28553b; }
.auth-refresh .auth-code { height:65px; text-align:center; font-size:27px; letter-spacing:.42em; padding-left:calc(15px + .42em); font-variant-numeric:tabular-nums; }
.auth-text-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:6px 2px; min-height:36px; border:0; background:none; color:#285539; font:600 12px/1.5 var(--font-body); cursor:pointer; }
.auth-text-button:hover { text-decoration:underline; }
.auth-text-button:disabled { cursor:default; color:#697760; text-decoration:none; }
.auth-refresh .auth-form-foot { margin-top:22px; font-size:12px; color:#5b6953; }
.auth-assurance { display:flex; align-items:flex-start; justify-content:center; gap:7px; font-size:10px; line-height:1.65; color:#62755b; margin:15px 0 0; }
.auth-assurance .icon { flex:none; font-size:14px; margin-top:1px; }
.auth-resend { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px; font-size:11px; color:#66725e; margin-top:16px; }
.auth-feedback { display:flex; align-items:flex-start; gap:9px; background:#f9ede6; border:1px solid #e9cabb; padding:12px; border-radius:10px; color:#81391e; font-size:12px; line-height:1.65; margin:16px 0; }
.auth-feedback[hidden] { display:none; }
.auth-feedback .icon { font-size:18px; flex:none; margin-top:1px; }
.auth-bottom { color:#65725c; text-align:center; font-size:11px; line-height:1.7; margin-top:auto; padding:14px 0 2px; }
.auth-bottom a { color:#335638; display:inline-flex; align-items:center; gap:5px; font-weight:600; padding:8px 2px; }
.auth-refresh :is(button,summary,a):focus-visible { outline:3px solid #87a277; outline-offset:4px; }
@media(min-width:1700px) { .auth-refresh .auth-form-body { max-width:450px; }.auth-refresh .auth-form-panel { padding-inline:100px; }.auth-refresh .auth-brand { padding-inline:80px; } }
@media(max-width:1000px) { .auth-shell.auth-refresh { grid-template-columns:minmax(0,.9fr) minmax(380px,1fr); }.auth-refresh .auth-brand { padding:30px; }.auth-refresh .auth-form-panel { padding-inline:24px; }.auth-refresh .auth-brand-title { font-size:39px; } }
@media(max-width:760px) { .auth-shell.auth-refresh { grid-template-columns:1fr; padding:0; gap:0; }.auth-refresh .auth-brand { display:none; }.auth-refresh .auth-form-panel { min-height:100dvh; padding:20px 24px; }.auth-refresh .auth-form-topbar { justify-content:space-between; }.auth-refresh .auth-form-mobile-brand { display:flex; color:#24422f; font-size:21px; letter-spacing:-.7px; }.auth-refresh .auth-form-body { max-width:420px; padding:45px 0; }.auth-heading { font-size:36px; }.auth-refresh .input { font-size:16px; }.auth-bottom { padding-top:0; } }
@media(max-width:360px) { .auth-refresh .auth-form-panel { padding:18px; }.auth-heading { font-size:31px; }.auth-progress { gap:14px; }.auth-refresh .auth-form-body { padding:32px 0; } }
@media(prefers-reduced-motion:reduce) { .auth-refresh * { transition:none!important; animation:none!important; } }
