.auth-root{color:#f0faff;background:radial-gradient(at 10% 0,#3b21134d,#0000 45%),#030e17;place-items:center;min-height:100dvh;padding:16px;font-family:Arial,Helvetica,sans-serif;display:grid}.auth-card{background:#082130;border:2px solid #00bce8;border-radius:14px;gap:16px;width:min(440px,100%);padding:clamp(22px,3vw,36px);font-size:17px;display:grid;box-shadow:0 20px 80px #0009}.auth-card .v3-logo.auth-logo{justify-content:center;margin-bottom:2px;display:flex}.auth-card .auth-logo .v3-phoenix-mark{width:64px;height:56px}.auth-card .auth-logo strong{font-size:34px}.auth-card .auth-logo small{font-size:11px}.auth-card .auth-brand{text-align:center;color:#ff9638;letter-spacing:.14em;margin:0;font-size:13px;font-weight:800}.auth-card .auth-brand span{color:#87a2b4}.auth-card h1{color:#00c7f5;margin:0;font-size:clamp(24px,2vw,32px)}.auth-card p{color:#b4cfdd;margin:0;line-height:1.45}.auth-card label{gap:8px;display:grid}.auth-card input{box-sizing:border-box;color:#fff;width:100%;min-height:48px;font:inherit;background:#03151f;border:1px solid #507184;border-radius:6px;padding:12px}.auth-card button{color:#fff;min-height:50px;font:inherit;letter-spacing:.04em;cursor:pointer;background:#006f91;border:1px solid #00bce8;border-radius:6px;padding:12px 18px;font-weight:800}.auth-card button:disabled{opacity:.5;cursor:not-allowed}.auth-card :focus-visible{outline-offset:3px;outline:3px solid #ffe65a}.auth-card .auth-error{color:#ffaeae}.auth-card .auth-machines{gap:10px;display:grid}.auth-card .auth-uid{color:#fff;text-align:center;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#03151f;border:1px solid #507184;border-radius:6px;padding:10px;font:700 15px ui-monospace,Consolas,monospace}.auth-card .auth-secondary{color:#b4cfdd;background:0 0;border-color:#507184}.gateway-banner{z-index:900;color:#fff;letter-spacing:.02em;text-align:center;background:#7a0f0f;border-bottom:2px solid #ff5a52;padding:10px 16px;font:800 clamp(13px,1vw,17px) Arial,Helvetica,sans-serif;animation:2s ease-in-out infinite gateway-banner-pulse;position:sticky;top:0}@keyframes gateway-banner-pulse{50%{background:#a31616}}@media (prefers-reduced-motion:reduce){.gateway-banner{animation:none}}.side-menu-user{color:#b4cfdd;overflow-wrap:anywhere;border-top:1px solid #ffffff1f;gap:8px;margin-top:auto;padding:14px 16px;font-size:13px;display:grid}
.osk{z-index:1000;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#04111fef;border-top:2px solid #08bdf4;padding:10px clamp(8px,2vw,40px) 14px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #0009}.osk-head{align-items:center;gap:16px;margin-bottom:8px;display:flex}.osk-head>span{color:#08bdf4;letter-spacing:.06em;flex:none;font-size:14px;font-weight:900}.osk-echo{color:#f8fbff;white-space:pre;background:#020b12;border:1px solid #1d4a63;border-radius:8px;flex:1;align-items:center;min-width:0;min-height:44px;padding:6px 14px;font-size:24px;font-weight:800;display:flex;overflow:hidden}.osk-echo i{background:#08bdf4;width:2px;height:26px;margin-left:2px;animation:1s step-end infinite osk-caret}@keyframes osk-caret{50%{opacity:0}}.osk-row{gap:6px;margin-top:6px;display:flex}.osk-key{color:#f8fbff;min-width:0;height:clamp(46px,7vh,72px);font:inherit;cursor:pointer;touch-action:manipulation;background:linear-gradient(#123049,#0b2236);border:1px solid #23506a;border-radius:9px;flex:1;font-size:clamp(18px,2vw,28px);font-weight:800}.osk-key:active{color:#04111f;background:#08bdf4}.osk-dim{color:#9bb4cc;background:#0a1b29}.osk-wide{flex:1.6}.osk-space{flex:5}.osk-ok{color:#03120d;background:linear-gradient(#22c463,#128a45);border-color:#35ef79}.osk-close{flex:none;width:auto;height:44px;padding:0 18px;font-size:15px}.osk-gap{flex:1}.osk-numeric .osk-pad{max-width:520px;margin:0 auto}.osk-numeric .osk-key{height:clamp(54px,8vh,80px);font-size:clamp(24px,2.6vw,34px)}@media (prefers-reduced-motion:reduce){.osk-echo i{animation:none}}@media print{.osk{display:none}}
