body:has(.auth-page){background:radial-gradient(ellipse at 10% 12%,#d8e8fa,transparent 48%),radial-gradient(ellipse at 90% 90%,#d8eee9,transparent 45%),#edf3fa}
body:has(.auth-page) .preview{background:white;border-color:#dbe5f1;color:#44627e}
.auth-page{min-height:calc(100dvh - 36px);display:grid;place-items:center;padding:24px}
.auth-shell{width:min(1120px,100%);display:grid;grid-template-columns:300px minmax(0,1fr);border:1px solid #d5e1ef;border-radius:22px;overflow:hidden;background:white;box-shadow:0 18px 55px #173c6714}
.auth-welcome{padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:38px;background:linear-gradient(145deg,#183e6a,#102640);color:white}
.auth-logo{background:white;border-radius:12px;padding:16px;text-align:center}
.auth-logo img{width:100%;max-width:185px;height:66px;object-fit:contain}
.auth-eyebrow{font-size:10px;letter-spacing:1.8px;color:#9fc3e7;font-weight:700}
.auth-welcome h2{font-size:35px;line-height:1.16;margin:16px 0}
.auth-welcome p{font-size:15px;line-height:1.7;color:#c1d5ec;margin:0}
.auth-welcome-footer{display:flex;gap:9px;align-items:center;font-size:12px;color:#d5e7f8}
.auth-dot{width:7px;height:7px;border-radius:50%;background:#5cdec2}
.auth-scene{width:100%;max-width:260px;align-self:center}
.auth-scene svg{display:block;width:100%;height:auto}
.auth-bag{animation:auth-bag-float 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
.auth-stock{animation:auth-stock-glow 5s ease-in-out infinite}
@keyframes auth-bag-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes auth-stock-glow{0%,100%{opacity:.8}50%{opacity:1}}
@media(prefers-reduced-motion:reduce){.auth-bag,.auth-stock{animation:none}}
.auth-card{padding:30px;min-width:0;align-self:center}
.auth-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.auth-emblem{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#e8f1fe;color:#2976c4;font-size:27px;flex-shrink:0}
.auth-heading h1{font-size:27px;line-height:1.2;margin:0;color:#193c66}
.auth-heading p{font-size:13px;color:#617c98;margin:6px 0 0}
.auth-form{display:grid;grid-template-columns:minmax(0,1fr);column-gap:24px;row-gap:12px;margin:0}
.auth-form:has(.auth-keypad:not([hidden])){grid-template-columns:minmax(0,1fr) minmax(215px,.9fr)}
.auth-fields{display:grid;gap:13px;min-width:0;align-content:start}
.auth-fields>label{font-size:13px;line-height:1.3}
.auth-fields input:not([type=checkbox]){border:1px solid #c3d2e3;border-radius:8px;min-height:46px;height:46px;margin-top:6px;padding:10px 12px;font-size:16px;background:#fbfdff}
.auth-fields .auth-pin-toggle{display:flex;gap:9px;align-items:center;font-size:13px;margin:0;min-height:28px}
.auth-pin-toggle input{margin:0;width:20px;height:20px;min-height:20px}
.auth-owner-hint{font-size:12px;line-height:1.5;color:#6b8095}
.auth-keypad{padding:16px;background:#f0f5fb;border:1px solid #dae5f1;border-radius:12px;min-width:0;align-self:start}
.auth-keypad[hidden]{display:none}
.auth-keypad h2{font-size:15px;margin:0 0 4px}
.auth-keypad>p{font-size:12px;color:#6b8095;margin:0 0 12px}
.auth-keypad .staff-pin-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;width:100%;max-width:none;margin:0}
.auth-keypad .staff-pin-pad button{min-width:0;min-height:48px;height:48px;padding:4px;border-radius:8px;font-size:22px;box-shadow:0 2px 0 #bbcddd;background:linear-gradient(#fff,#e6eef7)}
.auth-keypad .staff-pin-pad button:nth-child(10){font-size:14px}
.auth-form #login-status{grid-column:1/-1;color:#a32437;font-size:13px;line-height:1.4;margin:0;min-height:18px;overflow-wrap:anywhere}
.auth-form .auth-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;height:48px;border-radius:9px;font-size:16px;background:linear-gradient(#268f77,#18755f);box-shadow:0 2px 0 #135745;margin:0}
.auth-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #e2eaf3;margin-top:20px;padding-top:14px;font-size:12px;color:#607b96;flex-wrap:wrap}
.auth-footer p{margin:0;overflow-wrap:anywhere;max-width:100%}
.auth-footer nav{display:flex;gap:16px}
.auth-footer a{color:#28679f;text-underline-offset:3px}
@media(max-width:1100px){.auth-shell{grid-template-columns:235px minmax(0,1fr)}.auth-welcome{padding:24px}.auth-welcome h2{font-size:30px}.auth-card{padding:24px}.auth-form{column-gap:16px}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr;max-width:730px}.auth-welcome{display:none}body:has(.auth-page) .preview nav a:not([href="#signup"]):not([href="#connections"]){display:none}body:has(.auth-page) .preview>span{display:none}}
@media(max-height:760px){.auth-page{padding:16px}.auth-card{padding:20px}.auth-heading{margin-bottom:14px}.auth-heading h1{font-size:25px}.auth-fields{gap:10px}.auth-fields input:not([type=checkbox]){height:42px;min-height:42px;margin-top:4px}.auth-footer{margin-top:12px;padding-top:10px}.auth-form{row-gap:8px}.auth-welcome{gap:16px}.auth-scene{max-width:185px}.auth-logo img{height:44px}.auth-welcome h2{font-size:28px;margin:10px 0}}
@media(max-width:520px){.auth-page{padding:12px}.auth-card{padding:18px}.auth-form:has(.auth-keypad:not([hidden])){grid-template-columns:1fr}.auth-keypad{padding:10px}.auth-keypad>h2,.auth-keypad>p{display:none}.auth-keypad .staff-pin-pad{gap:5px}.auth-keypad .staff-pin-pad button{min-height:38px;height:38px;font-size:19px}.auth-fields{gap:8px}.auth-heading{margin-bottom:14px}.auth-heading h1{font-size:23px}.auth-footer{gap:8px}.auth-form #login-status:empty{min-height:0}body:has(.auth-page) .preview{gap:8px}.auth-owner-hint{font-size:11px}}

.auth-signup .auth-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-plan{grid-column:1/-1}.auth-fields select{width:100%;min-height:44px;border-radius:8px;border:1px solid #c3d2e3;margin-top:5px;font-size:15px;padding:8px}.auth-page,.auth-page *{box-sizing:border-box}.auth-page{min-height:calc(100dvh - 54px)}.auth-welcome{gap:20px}.auth-card{width:100%}.auth-fields input{width:100%}.auth-signup .auth-fields>label{margin:0}.auth-page .auth-fields>label{margin-bottom:0}
@media(max-width:520px){.auth-signup .auth-fields{grid-template-columns:1fr}}
@media(min-width:901px) and (max-height:650px){.auth-welcome{padding:20px;gap:10px}.auth-scene{max-width:130px}.auth-welcome h2{font-size:24px}.auth-heading{margin-bottom:10px}.auth-fields{gap:7px}.auth-heading p{margin-top:4px}.auth-page{padding:10px}}

.owner-recovery{padding:16px;background:#eef4fa;white-space:pre-wrap;overflow-wrap:anywhere;user-select:all}.auth-factor{grid-column:1/-1}
