/* Savia sign-in screens + portal top bar, in the public site's navy-first palette.
   Linked last on every page with a sign-in screen so it wins over page styles. */
:root{
  --sv-navy:#002069; --sv-navy-deep:#00134A; --sv-ink:#0E1B3D; --sv-ink-2:#55607A; --sv-line:#DDE3EE;
  --sv-green:#0E7C86; --sv-green-press:#0B6770; --sv-green-bright:#3CC3CC; --sv-green-soft:#E1F1F2;
  --sv-glow:radial-gradient(circle at 82% 12%,rgba(47,191,152,.26),transparent 45%),radial-gradient(circle at 8% 100%,rgba(47,191,152,.10),transparent 40%),linear-gradient(253deg,#002069 0%,#00134A 75%);
}

/* Top bar */
body > nav, body > header.nav, body > header:not(.nav){background:var(--sv-navy)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
body > nav .logo, body > header .brand, body > header .logo{display:inline-flex;align-items:center;gap:8px;color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;font-size:19px;font-weight:680;letter-spacing:-0.03em;text-decoration:none;}
.sv-logo{width:30px;height:30px;display:block;}
body > nav .btn-ghost, body > header .btn-ghost, body > header .btn.ghost{color:#fff!important;border:1px solid rgba(255,255,255,.4)!important;background:transparent!important;}
body > nav .btn-ghost:hover, body > header .btn-ghost:hover{border-color:#fff!important;}
body > header .brand small{color:#C9D4EE!important;}

/* Sign-in area: full-width navy with a green glow */
#authView{background:var(--sv-glow);margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);max-width:none!important;width:100vw;min-height:calc(100vh - 64px);padding:48px 20px 72px!important;box-sizing:border-box;}
#authView.hidden{display:none!important;}
main.wrap > #authView:first-child{margin-top:-18px;}
.sv-auth-card, #authView .auth-card, #authView .login-card, #authView > .card{background:#fff!important;color:var(--sv-ink);border:0!important;border-radius:22px!important;box-shadow:0 30px 80px rgba(0,10,40,.45)!important;max-width:440px;margin:24px auto!important;padding:32px!important;}
.sv-auth-logo{width:56px;height:56px;display:block;margin:0 auto 14px;}
#authView h1, #authView h2{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;color:var(--sv-ink)!important;font-weight:650!important;letter-spacing:-0.02em;}
#authView .btn-primary{background:var(--sv-green)!important;color:#fff!important;font-weight:650;border-radius:999px!important;}
#authView .btn-primary:hover{background:var(--sv-green-press)!important;}
#authView .btn-secondary{background:var(--sv-green-soft)!important;color:var(--sv-green-press)!important;border-radius:999px!important;}
#authView .auth-tab.active, #authView .seg.active{color:var(--sv-navy)!important;}
#authView input:focus, #authView select:focus{border-color:var(--sv-green)!important;box-shadow:0 0 0 4px rgba(12,122,96,.16)!important;outline:none;}
#authView a{color:var(--sv-green);}
.sv-auth-foot{max-width:440px;margin:0 auto;text-align:center;color:#C9D4EE;font-size:13px;}
.sv-auth-foot a{color:#fff;}

/* Owner panel (its own dark theme) */
#loginView.login{position:fixed;inset:0;max-width:none;margin:0;display:flex;align-items:center;justify-content:center;padding:20px;background:var(--sv-glow);z-index:600;}
#loginView.login.hide{display:none;}
#loginView .card{background:#fff;color:var(--sv-ink);border:0;border-radius:22px;box-shadow:0 30px 80px rgba(0,10,40,.45);width:100%;max-width:400px;padding:32px;}
#loginView .brand{color:var(--sv-ink);}
#loginView .brand small{color:var(--sv-ink-2);}
#loginView .muted{color:var(--sv-ink-2);}
#loginView input{background:#fff;border:1px solid var(--sv-line);color:var(--sv-ink);}
#loginView input:focus{border-color:var(--sv-green);box-shadow:0 0 0 4px rgba(12,122,96,.16);outline:none;}
#loginView .btn{background:var(--sv-green);color:#fff;border-radius:999px;}

/* Badge gate + appointment lookup cards */
#gate.card, #lookupCard{border-radius:22px;}
#gate .btn-primary, #lookupCard .btn-primary{background:var(--sv-green)!important;color:#fff!important;border-radius:999px!important;}

body:has(#gate), body:has(#lookupCard){background:#F5F7FB;}

@media (max-width:560px){
  body > nav .nav-inner a.btn-ghost[href="/"], body > header .nav-inner a.btn-ghost[href="/"]{display:none!important;}
  body > nav .btn-ghost, body > header .btn-ghost{padding:6px 12px!important;font-size:13px!important;}
}
@media (max-width:720px){
  #authView{padding:24px 16px 48px!important;}
  .sv-auth-card, #authView .auth-card, #authView .login-card, #authView > .card{padding:24px!important;margin:12px auto!important;}
}

/* Sign-in / create-account switch: full width, easy to find */
#authView .sv-tabs{display:flex;width:100%;padding:4px;}
#authView .sv-tabs .seg{flex:1;padding:10px 12px;font-size:15px;}
#authView .sv-tabs .seg.active{color:var(--sv-navy)!important;font-weight:650;}
.sv-switch{margin-top:14px;text-align:center;font-size:14px;color:var(--sv-ink-2);}
.sv-switch a{font-weight:650;color:var(--sv-green)!important;}
.sv-steps{background:var(--sv-green-soft);color:var(--sv-ink);border-radius:14px;padding:12px 14px;margin-bottom:14px;font-size:13.5px;line-height:1.45;}
.sv-steps ol{margin:6px 0 0;padding-left:18px;}
.sv-steps li{margin:2px 0;}
