/* Parent authentication only: shared controls and other cabinets are untouched. */
/* Match the dynamic iPhone viewport and paint the document safe area before login. */
html:has(body:not(.authed)){background:#0c202d}
html body:not(.authed){background:#0c202d!important}
html body #auth-screen{position:relative;isolation:isolate;min-height:100vh;min-height:100dvh;padding:36px 20px;padding-top:calc(36px + env(safe-area-inset-top));padding-bottom:calc(36px + env(safe-area-inset-bottom));background:linear-gradient(120deg,#0c202d,#132f3d 70%,#1a3944)!important;font-family:'LK Inter',system-ui,sans-serif;color:#faf8f1;overflow:hidden}
#auth-screen::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 34%,#f0dba507 34%,#f0dba507 62%,transparent 62%)}
#auth-screen::after{content:'';position:absolute;width:620px;height:620px;right:-340px;bottom:-170px;z-index:-1;pointer-events:none;border:1px solid #e4c58120;border-radius:50%;box-shadow:0 0 0 70px #e4c58104,0 0 0 140px #e4c58102}
html body #auth-screen .auth-box{position:relative;width:100%;max-width:460px;padding:36px 38px 38px;background:linear-gradient(140deg,#173440,#1c3c47);border:1px solid #c7b08170;border-top:2px solid #d9bf87;border-radius:4px 28px 28px 28px;box-shadow:0 24px 48px -28px #0009}
html body #auth-screen .auth-logo{margin-bottom:30px}
html body #auth-screen .auth-logo-icon{width:112px;height:112px;margin:0 auto 20px;padding:0;background:transparent!important;border:0;border-radius:0;box-shadow:none}
html body #auth-screen .auth-logo-icon img{display:block;width:100%;height:100%;object-fit:contain!important;border-radius:0!important;filter:none}
html body #auth-screen .auth-logo h1{font-family:'FS Molot','LK Inter',sans-serif;font-size:40px;font-weight:400;line-height:1.08;letter-spacing:.025em;color:#faf8f1;margin:0 auto 14px;max-width:350px;text-shadow:none}
html body #auth-screen .auth-logo p{font-size:13px;line-height:1.7;color:#bac9cd;margin:0 auto;max-width:330px}
html body #auth-screen .form-group{margin-bottom:20px}
html body #auth-screen .form-group label{font-size:14px;font-weight:600;color:#eee3ca;margin-bottom:9px;line-height:1.5}
html body #auth-screen .form-input{min-height:52px;padding:14px 16px;border:1px solid #c8c4b2;border-radius:5px 12px 12px 12px;background:#f8f7f0;color:#173642;font-family:'LK Inter',system-ui,sans-serif;font-size:16px;line-height:1.4;box-shadow:none;transition:border-color .18s,outline-color .18s}
html body #auth-screen .form-input::placeholder{color:#718084;opacity:1}
html body #auth-screen .form-input:focus{border-color:#d9bf87;outline:2px solid #d9bf8770;outline-offset:3px;box-shadow:none}
html body #auth-screen .form-input:-webkit-autofill{-webkit-text-fill-color:#173642;-webkit-box-shadow:0 0 0 1000px #f8f7f0 inset;caret-color:#173642}
html body #auth-screen .form-input.error{border-color:#ffaaa7}
html body #auth-screen .form-error{color:#ffaaa7;font-size:13px;line-height:1.6}
html body #auth-screen :is(#l-btn,#r-btn){width:100%;min-height:54px;padding:14px 20px;background:#d9bf87;border:1px solid #c1a36a;border-radius:5px 12px 12px 12px;color:#15333e;font-family:'LK Inter',system-ui,sans-serif;font-size:17px;font-weight:750;line-height:1.4;box-shadow:none;transform:none;text-shadow:none;transition:background-color .18s}
html body #auth-screen :is(#l-btn,#r-btn):hover{background:#e7cfa0;transform:none;box-shadow:none}
html body #auth-screen :is(#l-btn,#r-btn):focus-visible{outline:2px solid #faf8f1;outline-offset:4px}
html body #auth-screen :is(#l-btn,#r-btn):disabled{opacity:.7;cursor:wait}
html body #auth-screen .spinner{border-color:#15333e40;border-top-color:#15333e}
@media(max-width:480px){html body #auth-screen{padding:24px 18px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}html body #auth-screen .auth-box{padding:28px 24px 30px;border-radius:4px 24px 24px 24px}html body #auth-screen .auth-logo-icon{width:100px;height:100px;margin-bottom:18px}html body #auth-screen .auth-logo h1{font-size:34px;max-width:270px}html body #auth-screen .auth-logo p{font-size:12px;max-width:270px}html body #auth-screen .auth-logo{margin-bottom:26px}}
@media(max-height:640px){html body #auth-screen{align-items:flex-start}}
