/* Scoped to the access screens; the property dashboard keeps its original design. */
#neuralBackground{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;display:none}
.auth-screen{min-height:100svh;background:#070c0a;color:#f3f7f5;background-image:radial-gradient(ellipse at 12% 40%,#12382566,transparent 47%),radial-gradient(ellipse at 90% 80%,#123f342e,transparent 42%)}
.auth-screen #neuralBackground{display:block}
.auth-screen>header{display:none}
.auth-screen .admin-shell{min-height:100svh;display:grid;place-items:center;padding:40px 22px;position:relative;z-index:1;width:100%;max-width:none;margin:0}
.auth-card.login-box{width:min(100%,460px);margin:0;padding:34px 42px 26px;background:linear-gradient(145deg,#132019ee,#0d1512f5 70%);border:1px solid #4bb77045;border-radius:26px;box-shadow:0 28px 90px #0007,0 1px 0 #9bffc519 inset;position:relative;overflow:hidden;backdrop-filter:blur(18px)}
.auth-card::before{content:"";position:absolute;width:180px;height:1px;top:0;left:calc(50% - 90px);background:linear-gradient(90deg,transparent,#7ce5a5,transparent)}
.auth-brand{display:block;width:210px;margin:0 auto 25px;text-decoration:none}
.auth-brand img{display:block;width:100%;height:110px;object-fit:contain}
.auth-heading{text-align:center;margin-bottom:24px}
.auth-heading .eyebrow{font-size:10px;letter-spacing:3.3px;color:#7deaa4;margin-bottom:9px}
.auth-heading h1{font-size:29px;letter-spacing:-.9px;line-height:1.2;margin:0 0 10px;font-weight:650}
.auth-heading .muted{font-size:13px;line-height:1.6;color:#a3b6aa;margin:0}
.auth-google-slot{margin:0}
.google-signin{width:100%;display:flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:12px 20px;border-radius:10px;background:#fff;border:1px solid #dadce0;color:#202124;font:500 14px/1.4 Arial,sans-serif;text-decoration:none;transition:background .2s,box-shadow .2s}
.google-signin:hover{background:#f0f5f2;box-shadow:0 0 0 3px #69d48c25;color:#202124}
.google-icon{display:inline-flex;width:20px;height:20px;flex-shrink:0}
.auth-divider{display:flex;align-items:center;gap:14px;margin:22px 0;color:#8ba194;font-size:11px}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#38524270}
.auth-card .fields{gap:15px;display:grid}
.auth-card label{color:#c5d3ca;font-size:12px;font-weight:500;line-height:1.5;display:grid;gap:7px}
.auth-card input{width:100%;border:1px solid #3e58484d;background:#07110c80;color:#f3f7f5;min-height:47px;border-radius:10px;padding:12px 14px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}
.auth-card input::placeholder{color:#718b7b}
.auth-card input:focus{border-color:#67cf8b;box-shadow:0 0 0 3px #4db47118}
.auth-card input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #14261b inset;-webkit-text-fill-color:#f3f7f5;caret-color:#fff}
.auth-password{display:block;position:relative}
.auth-password input{padding-right:48px}
.auth-password button{position:absolute;right:3px;top:3px;height:41px;width:41px;display:grid;place-items:center;border:0;background:transparent;color:#87a593;cursor:pointer;border-radius:8px;padding:0}
.auth-password button:hover{color:#a3edbd;background:#ffffff08}
.auth-card .auth-forgot{justify-self:end;color:#93d9ac;font-size:11px;text-decoration:none;margin-top:-5px}
.auth-forgot:hover{text-decoration:underline}
.auth-card .auth-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;margin-top:3px;background:#50b96f;color:#07170d;border:1px solid #65cb84;border-radius:10px;font-size:14px;font-weight:650;box-shadow:0 5px 24px #3bb06116}
.auth-card .auth-submit:hover{background:#6ad18a}
.auth-card .error:empty{display:none}
.auth-card .error,.auth-card [role=status]{font-size:12px;line-height:1.7;margin:0;overflow-wrap:anywhere}
.auth-bottom{display:flex;align-items:center;justify-content:center;gap:7px;border-top:1px solid #30493670;padding-top:20px;margin-top:24px;color:#849c8e;font-size:10px;text-align:center}
.auth-dot{width:5px;height:5px;background:#65ce8a;border-radius:50%;box-shadow:0 0 8px #6bdf9260}
.auth-catalog{display:block;width:fit-content;margin:13px auto 0;font-size:11px;color:#b4c9bb;text-decoration:none}
.auth-catalog:hover{color:#81e5a3}
.auth-card [hidden],.auth-divider[hidden]{display:none!important}
.auth-card :focus-visible{outline:2px solid #93e5ae;outline-offset:4px}
.recovery-hint{font-size:12px;color:#91aa9b;line-height:1.7;margin:0 0 20px}
.recovery-success{padding:15px;border:1px solid #4fb96f60;border-radius:10px;background:#51bd7010;color:#b5e7c4;line-height:1.7;font-size:13px}
.auth-screen .admin-shell>[hidden]{display:none!important}
@media(max-width:520px){.auth-screen .admin-shell{padding:22px 16px}.auth-card.login-box{padding:28px 25px 24px;border-radius:22px}.auth-brand{width:190px;margin-bottom:20px}.auth-brand img{height:99px}.auth-heading h1{font-size:26px}.auth-heading{margin-bottom:21px}}
@media(prefers-reduced-motion:reduce){.auth-card *{transition:none!important}}
/* Full identity and skin-aware neural atmosphere on access screens only. */
.auth-screen .auth-brand.estate-brand{width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;gap:12px;padding:0;margin:0 auto 27px;background:transparent}.auth-screen .auth-brand.estate-brand .estate-brand-name{max-width:none;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:28px;line-height:1.15;letter-spacing:-.6px}.auth-screen .auth-brand.estate-brand .estate-brand-name small{max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:8px;line-height:1.6;letter-spacing:1.6px;margin-top:7px}.auth-screen .auth-brand .estate-symbol{flex:none;width:56px;height:56px}.auth-screen #neuralBackground{opacity:1!important}.auth-screen::after{content:"";position:fixed;inset:-15%;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 16% 25%,color-mix(in srgb,var(--skin-accent,#3eb76a) 16%,transparent),transparent 42%),radial-gradient(ellipse at 82% 75%,color-mix(in srgb,var(--skin-link,#6ddce9) 12%,transparent),transparent 40%);animation:authAtmosphere 16s ease-in-out infinite alternate}.auth-screen .auth-card{box-shadow:0 22px 65px #0003,0 0 40px color-mix(in srgb,var(--skin-accent,#3eb76a) 8%,transparent)}
html[data-estate-mode=light] .auth-screen #neuralBackground{opacity:.85!important}.auth-screen .auth-forgot,.auth-screen .auth-catalog{color:var(--skin-link,#72e29a)!important}.auth-screen .auth-bottom{color:var(--skin-muted,#a2b3a9)!important}.auth-screen #login input{background:var(--skin-input,#0b110e)!important;color:var(--skin-inputText,#f5f5f5)!important}.auth-screen #login input:-webkit-autofill{-webkit-text-fill-color:var(--skin-inputText,#f5f5f5)!important;box-shadow:0 0 0 1000px var(--skin-input,#0b110e) inset!important;caret-color:var(--skin-inputText,#f5f5f5)}
@keyframes authAtmosphere{from{transform:translate(-2%,-1%) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
@media(max-width:480px){.auth-screen .auth-brand.estate-brand .estate-brand-name{font-size:25px}.auth-screen .auth-brand .estate-symbol{width:46px;height:46px}.auth-screen .auth-brand.estate-brand{gap:10px}.auth-screen .auth-brand.estate-brand .estate-brand-name small{font-size:7px;letter-spacing:1.1px}}
@media(prefers-reduced-motion:reduce){.auth-screen::after{animation:none}}
