/* TASK745: final login presentation; render-blocking in head, scoped to login. */
/* TASK740 — every rule is restricted to the unauthenticated login section. */
#login-view, #login-view * {box-sizing: border-box !important;min-width: 0 !important;}
#login-view {position:relative !important;isolation:isolate !important;display:flex !important;align-items:center !important;justify-content:center !important;min-height:100vh !important;min-height:100svh !important;height:auto !important;padding:32px 24px max(32px,10svh) !important;overflow:hidden !important;color:#fff !important;background:#020c24 !important;--earth-cyan:rgb(149,234,254) !important;}
#login-view.hidden {display:none !important;}
#login-view .login-composition {width:420px !important;max-width:100% !important;position:relative !important;text-align:center !important;}
#login-view .login-brand {display:flex !important;align-items:center !important;justify-content:center !important;gap:14px !important;margin:0 0 34px !important;text-align:left !important;}
#login-view .brand-logo {width:52px !important;height:52px !important;overflow:visible !important;flex:none !important;border-radius:26.923076923% !important;background:transparent !important;box-shadow:0 0 18px #32bfff44 !important;}
#login-view .atosy-brand-svg {display:block !important;width:100% !important;height:100% !important;object-fit:contain !important;border-radius:0 !important;transform:none !important;}
#login-view .login-brand h1 {font-size:30px !important;line-height:33.6px !important;letter-spacing:0 !important;color:#fff !important;text-shadow:none !important;font-weight:900 !important;white-space:nowrap !important;}
#login-view .login-brand p {color:#e0f5ff !important;font-size:14px !important;letter-spacing:0 !important;margin:3px 0 0 !important;text-align:right !important;white-space:nowrap !important;}
#login-view .login-card {width:100% !important;padding:28px 28px !important;border-radius:25px !important;border:1px solid var(--earth-cyan) !important;color:#fff !important;background:linear-gradient(135deg,#063878bf,#031d51df 60%,#063c80bf) !important;box-shadow:0 0 3px #b9f6ff,0 0 14px #57eaff88,0 0 30px #008cff66,0 20px 50px #0008,inset 0 0 20px #54dfff22 !important;backdrop-filter:blur(8px) !important;-webkit-backdrop-filter:blur(8px) !important;}
#login-view .login-heading {margin:0 !important;text-align:center !important;}
#login-view .login-heading h2 {font-size:25px !important;line-height:1.35 !important;letter-spacing:-.5px !important;color:#fff !important;text-shadow:none !important;}
#login-view .login-heading p {font-size:14px !important;line-height:1.5 !important;color:#d3eaff !important;margin:8px auto 0 !important;max-width:none !important;text-align:center !important;}
#login-view .login-form {margin-top:32px !important;}
#login-view .form-field {display:block !important;margin:0 0 18px !important;text-align:left !important;}
#login-view .form-field > span {position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip-path:inset(50%) !important;}
#login-view .login-input-shell {position:relative !important;}
#login-view .form-field input {display:block !important;width:100% !important;height:50px !important;min-height:50px !important;border-radius:12px !important;border:1px solid #82d5ff99 !important;padding:0 48px 0 44px !important;text-align:left !important;color:#fff !important;-webkit-text-fill-color:#fff !important;caret-color:#fff !important;opacity:1 !important;font-size:16px !important;background:linear-gradient(150deg,#548aca55,#1a41767a) !important;box-shadow:0 0 9px #57dfff30,inset 0 1px 8px #82caff22 !important;outline:none !important;}
#login-view .form-field input::placeholder {color:#c8def3 !important;-webkit-text-fill-color:#c8def3 !important;opacity:1 !important;}
#login-view .form-field input:focus {border-color:#dcffff !important;background-color:#135ab777 !important;box-shadow:0 0 0 3px #6ceaff44,0 0 22px #26c8ff88 !important;}
#login-view .form-field input:-webkit-autofill {-webkit-text-fill-color:#fff !important;box-shadow:0 0 9px #57dfff30,inset 0 0 0 100px #143d78 !important;caret-color:#fff !important;}
#login-view svg.login-field-icon,#login-view .login-eye svg {width:20px !important;height:20px !important;fill:none !important;stroke:#b5edff !important;stroke-width:1.6 !important;stroke-linecap:round !important;stroke-linejoin:round !important;}
#login-view .login-field-icon {position:absolute !important;left:14px !important;top:15px !important;pointer-events:none !important;z-index:1 !important;}
#login-view .login-eye {position:absolute !important;right:3px !important;top:3px !important;width:44px !important;height:44px !important;display:grid !important;place-items:center !important;border:0 !important;border-radius:9px !important;background:transparent !important;cursor:pointer !important;box-shadow:none !important;padding:0 !important;min-height:0 !important;transform:none !important;}
#login-view .login-eye:hover {background:#73d8ff22 !important;}
#login-view button:focus-visible {outline:2px solid #fff !important;outline-offset:4px !important;}
#login-view .login-button {position:relative !important;height:54px !important;min-height:54px !important;margin-top:0 !important;padding:0 44px !important;border-radius:12px !important;border:1px solid #84eaff !important;background:linear-gradient(110deg,#16b9ed,#167dff 55%,#254cf1) !important;color:#fff !important;font-size:16px !important;font-weight:700 !important;text-align:center !important;box-shadow:0 0 13px #29c8ff99,0 0 30px #087cff88,inset 0 1px 2px #b9ffff88 !important;cursor:pointer !important;transition:filter .18s,box-shadow .18s,transform .18s !important;width:100% !important;}
#login-view .login-button:after {content:"→" !important;position:absolute !important;right:20px !important;top:50% !important;transform:translateY(-50%) !important;font-size:23px !important;font-weight:400 !important;left:auto !important;bottom:auto !important;width:auto !important;height:auto !important;background:none !important;box-shadow:none !important;pointer-events:none !important;border:0 !important;border-radius:0 !important;}
#login-view .login-button:hover:not(:disabled) {filter:brightness(1.15) !important;box-shadow:0 0 22px #27d5ffbb,0 0 45px #087cff99 !important;}
#login-view .login-button:active:not(:disabled) {transform:translateY(1px) !important;filter:brightness(.95) !important;}
#login-view .login-button:disabled {opacity:.65 !important;cursor:wait !important;}
#login-view .login-button:disabled:after {content:"◌" !important;}
#login-view .login-error {color:#ffd6dc !important;text-align:center !important;min-height:0 !important;margin:0 !important;font-size:12px !important;line-height:1.5 !important;overflow-wrap:anywhere !important;}
#login-view .login-error:not(:empty) {margin:0 0 18px !important;padding:9px !important;border-radius:8px !important;background:#641d5566 !important;}
#login-view .atosy-field-error {opacity:1 !important;visibility:visible !important;transform:none !important;animation:none !important;display:block !important;background:transparent !important;box-shadow:none !important;border:0 !important;padding:2px 0 !important;text-align:left !important;backdrop-filter:none !important;color:#ffd6dc !important;font-size:12px !important;line-height:1.5 !important;margin-top:7px !important;}
#login-view .login-footer {color:#c1dcf6 !important;font-size:12px !important;letter-spacing:0 !important;margin-top:30px !important;text-align:center !important;}
#login-view .login-earth {position:absolute !important;inset:0 !important;z-index:-1 !important;pointer-events:none !important;}
#login-view .login-earth img {display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;object-position:50% 50% !important;}
#login-view .login-eye:before, #login-view .login-eye:after, #login-view .login-button:before {display:none !important;}
#login-view .atosy-field-error:before {display:none !important;}
@media(max-width:767px) {
#login-view {padding:max(28px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left)) !important;}
#login-view .login-composition {width:380px !important;}
#login-view .login-card {padding:28px 22px 25px !important;}
#login-view .login-brand {gap:12px !important;margin-bottom:24px !important;}
#login-view .login-brand h1 {font-size:28px !important;line-height:31.2px !important;}
#login-view .login-brand p {font-size:13px !important;}
#login-view .login-heading h2 {font-size:23px !important;}
#login-view .login-heading p {font-size:13px !important;}
}
@media(max-width:340px) {#login-view {padding-left:max(16px,env(safe-area-inset-left)) !important;padding-right:max(16px,env(safe-area-inset-right)) !important;}
#login-view .login-card {padding-left:18px !important;padding-right:18px !important;}
#login-view .brand-logo {width:48px !important;height:48px !important;}
#login-view .login-brand h1 {font-size:26px !important;line-height:28.8px !important;}
#login-view .login-brand p {font-size:12px !important;}
#login-view .login-heading h2 {font-size:21px !important;}
}
@media(prefers-reduced-motion:reduce){#login-view *{transition:none!important;animation:none!important}}


@media(max-width:767px), (max-height:700px){#login-view .login-form{margin-top:22px!important;}#login-view .form-field{margin-bottom:14px!important;}#login-view .login-footer{margin-top:20px!important;}#login-view .login-button{height:52px!important;min-height:52px!important;}}
@media(min-width:768px) and (max-height:700px){#login-view .login-card{padding:30px 32px 28px!important;}#login-view .login-brand{margin-bottom:22px!important;}#login-view .login-heading p{font-size:13px!important;}}

/* Match brand edges with subtle tracking; preserve natural glyph proportions. */
#login-view .login-brand > div:last-child {width:max-content!important;}
#login-view .login-brand p {text-align:left!important;letter-spacing:1.2px!important;}

@media(max-width:767px){#login-view .login-brand p{letter-spacing:1.2px!important;}}
@media(min-width:768px) and (max-height:800px){#login-view{padding-bottom:max(32px,16svh)!important;}}

/* Ground contact glow stays symmetric around the glass edge. */
#login-view .login-card {border-bottom:2px solid #c5f8ff!important;box-shadow:0 0 3px #b9f6ff,0 0 14px #57eaff88,0 0 30px #008cff66,0 12px 22px -7px #53cfffcc,0 20px 50px #0008,inset 0 -3px 8px -4px #b4faffaa,inset 0 0 20px #54dfff22!important;}
@media(min-width:768px){
/* Artwork: 1672 × 941, ground at y=733, centered cover.
   First grid row ends 35px below that ground. Intrinsic sizing lets
   validation content grow naturally without a fixed card-height offset. */
#login-view {display:grid!important;grid-template-columns:minmax(0,420px)!important;grid-template-rows:minmax(min-content,calc(50svh + max(27.896svh,15.69976vw) + 3px)) minmax(0,1fr)!important;padding:32px 24px!important;}
#login-view .login-composition {align-self:end!important;grid-row:1!important;}
#login-view .login-card {padding:28px!important;}
#login-view .login-heading p {white-space:nowrap!important;}
}
/* At high browser zoom, retain daylight beside the centered card. */
@media(min-width:768px) and (max-height:700px){#login-view{grid-template-columns:minmax(0,400px)!important;}}
@media(max-width:340px){#login-view .login-brand p{letter-spacing:1.1px!important;}}
