.owner-login-page{min-height:100dvh;background:#081c2b;color:var(--ink);position:relative;isolation:isolate}
.owner-login-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(130deg,#061420eb,#071b29e8 50%,#061420c9),var(--hero-photo) center/cover no-repeat}
.owner-login-shell{display:flex;min-height:100dvh;flex-direction:column;justify-content:center;align-items:center;gap:28px;padding:44px 24px}
.owner-login-brand{display:block;width:210px;max-width:65vw;transition:transform 550ms var(--spring)}
.owner-login-brand img{width:100%;height:auto}
.owner-login-card{width:min(100%,480px);padding:40px;border:1px solid #d7e0e4;border-radius:24px;background:#fff;box-shadow:0 22px 80px #010a1360;animation:owner-login-in 450ms ease both}
.owner-login-card .eyebrow{font-size:.72rem;margin:0 0 16px}
.owner-login-card h1{font-size:clamp(2rem,7vw,2.65rem);line-height:1.15;letter-spacing:-.045em;margin:0 0 18px}
.owner-login-intro{font-size:.96rem;line-height:1.7;color:var(--muted);margin:0 0 28px}
.owner-login-button{display:flex;justify-content:space-between;width:100%;min-height:54px;padding-inline:20px;border-radius:12px;font-size:.95rem}
.owner-login-provider{font-size:.8rem;line-height:1.7;color:var(--muted);margin:16px 0 0}
.owner-login-divider{height:1px;background:var(--line);margin:24px 0 18px}
.owner-login-private{font-size:.76rem;line-height:1.6;margin:0;color:var(--muted)}
.owner-login-back{font-size:.85rem;text-decoration:none;color:#c2d3de;transition:color 180ms ease}
.owner-login-back:hover{color:var(--blue)}
.owner-login-alert{font-size:.85rem;line-height:1.65;padding:15px;border:1px solid #e9d2a1;background:#fff6df;border-radius:12px;color:#69501d;margin:0 0 24px}
.owner-login-page a:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:12px}
@media(hover:hover){.owner-login-brand:hover{transform:translateY(-3px) scale(1.04)}}
@media(max-width:600px){.owner-login-shell{padding:32px 18px;gap:24px}.owner-login-brand{width:180px}.owner-login-card{padding:28px 24px;border-radius:20px}.owner-login-intro{font-size:.9rem}.owner-login-button{min-height:54px}}
@keyframes owner-login-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.owner-login-card{animation:none}.owner-login-brand{transition:none}}
