/* Login / register / password flows in the EstateIQ app look. Loaded AFTER each page's own inline <style>;
   only visual overrides -- forms, scripts and markup are untouched. */
:root{--bg:#0a0d13;--panel-solid:#0e141e;--border:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.16);
  --text:#eaeff7;--dim:#9aa4b6;--faint:#616b7c;--accent:#6ba8e8;--accent-soft:rgba(107,168,232,.16);
  --pos:#4fd196;--neg:#f0787a;
  --card-shadow:0 8px 28px rgba(0,0,0,.55),0 1px 0 rgba(255,255,255,.07) inset;--pill-shadow:0 3px 10px rgba(0,0,0,.4)}
body{position:relative;background:var(--bg);color:var(--text);font-family:'Hanken Grotesk',sans-serif;overflow-x:hidden}
.bg{position:absolute;inset:auto;top:0;left:0;right:0;height:640px;filter:none;transform:none;
  background-image:url('/static/img/hero-bg-sharp.jpg');background-size:cover;background-position:center 30%;opacity:.5;z-index:0}
.overlay{position:absolute;inset:auto;top:0;left:0;right:0;height:640px;
  background:linear-gradient(180deg,rgba(10,13,19,.82) 0%,rgba(10,13,19,.68) 32%,rgba(10,13,19,.74) 62%,var(--bg) 100%);z-index:1}
.card{background:var(--panel-solid);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--border);border-radius:20px;box-shadow:var(--card-shadow)}
.logo-icon,.logo-line{display:none}
.logo-text{font-family:'Hanken Grotesk',sans-serif;font-weight:800;font-size:36px;letter-spacing:-.02em;padding-left:0;text-transform:none;color:var(--text)}
.logo-text span{color:var(--accent);font-weight:800}
.logo-sub{font-size:11px;letter-spacing:.06em;color:var(--faint);font-weight:600;margin-top:8px}
.field label{font-size:10.5px;letter-spacing:.09em;color:var(--faint);font-weight:700}
.field input,.btn,.btn-google{font-family:'Hanken Grotesk',sans-serif}
.field input{background:var(--bg);border:1px solid var(--border);color:var(--text)}
.field input:focus{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.field input::placeholder{color:var(--faint)}
.btn{background:var(--accent);color:rgb(8,17,29);border-radius:999px;font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;box-shadow:var(--pill-shadow)}
.btn:hover{background:var(--accent);filter:brightness(1.08);transform:none;box-shadow:var(--pill-shadow)}
.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border-strong);box-shadow:none}
.btn-ghost:hover{background:var(--accent-soft);filter:none;box-shadow:none}
.btn-google{border-radius:999px}
.error{color:var(--neg);background:rgba(240,120,122,.12);border:1px solid rgba(240,120,122,.3)}
.divider,.footer{color:var(--faint)}
.divider::before,.divider::after{background:var(--border)}
.card a[style*="4da6ff"],.chk-row a,.sent-email{color:var(--accent)!important}
.ps-dot.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}
.ps-dot.done{background:var(--accent);border-color:var(--accent);color:rgb(8,17,29)}
.ps-label.active{color:var(--accent)}
.role-card{background:var(--bg);border:1.5px solid var(--border);border-radius:16px}
.role-card:hover{background:var(--bg);border-color:var(--border-strong);transform:none}
.role-card.selected{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}
.role-card.selected .role-name{color:var(--accent)}
.chk-row input[type=checkbox]{accent-color:var(--accent)}
.tnc-box{background:var(--bg);border:1px solid var(--border)}
.uname-status.ok{color:var(--pos)}
.uname-status.taken{color:var(--neg)}
.info{color:var(--pos)}

.role-icon,.success-icon{line-height:0;display:flex;justify-content:center}
.role-icon svg,.success-icon svg{width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.success-icon svg{width:52px;height:52px}
