:root{--ink:#081b33;--muted:#64748b;--brand:#0f766e;--brand2:#0ea5e9;--soft:#f4fbfb;--line:#e2edf3;--danger:#dc2626;--ok:#16a34a;--warn:#d97706;--shadow:0 24px 70px rgba(8,27,51,.11)}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:linear-gradient(180deg,#f7fcff 0,#fff 42%,#f8fbff 100%);color:var(--ink)}a{text-decoration:none}.app-navbar{background:rgba(255,255,255,.9)!important;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);box-shadow:0 10px 30px rgba(15,23,42,.04)}.brand{font-weight:900;color:var(--ink)!important;display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;display:grid;place-items:center;box-shadow:0 10px 24px rgba(14,165,233,.25)}.navbar .nav-link{color:#334155!important;font-weight:750}.navbar .nav-link:hover{color:var(--brand)!important}.btn{border-radius:14px;font-weight:800}.btn-primary{border:0;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 12px 24px rgba(14,165,233,.18)}.btn-primary:hover{filter:brightness(.95)}.btn-light,.btn-outline-light{border:1px solid var(--line)}.page-shell{max-width:1500px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;min-height:76vh;padding:56px 0}.hero-copy{padding:42px}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#e9fbf6;color:#0f766e;border:1px solid #b7efe1;border-radius:99px;padding:8px 14px;font-weight:900;font-size:13px;letter-spacing:.03em;text-transform:uppercase}.hero h1{font-size:clamp(42px,6vw,82px);line-height:.98;font-weight:950;letter-spacing:-.06em;margin:22px 0}.hero p{font-size:20px;color:var(--muted);max-width:720px;line-height:1.7}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.care-card,.card,.list-card,.sidebar,.auth-panel{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow)}.hero-card{padding:28px;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;inset:-90px -90px auto auto;width:260px;height:260px;background:radial-gradient(circle,#9ff0dd55,transparent 65%)}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}.quick-tile{padding:18px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(180deg,#fff,#f8fdff)}.quick-tile i{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:#ecfeff;color:var(--brand);font-size:18px;margin-bottom:12px}.section-head{text-align:center;margin:38px auto 28px;max-width:820px}.section-head h2,.section-title{font-weight:950;letter-spacing:-.04em;font-size:clamp(30px,4vw,48px)}.service-grid,.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:28px}.service-card i{font-size:24px;color:var(--brand);margin-bottom:16px}.service-card h3{font-size:22px;font-weight:900}.service-card p{color:var(--muted);line-height:1.65}.portal-shell{display:grid;grid-template-columns:285px 1fr;gap:24px}.sidebar{position:sticky;top:98px;height:max-content;padding:16px}.sidebar-profile{display:flex;gap:12px;align-items:center;padding:12px;border-radius:20px;background:#f8fbff;border:1px solid var(--line)}.avatar-sm,.avatar-xl,.auth-icon{display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900}.avatar-sm{width:42px;height:42px;border-radius:14px}.avatar-xl,.auth-icon{width:78px;height:78px;border-radius:26px;font-size:30px}.sidebar-profile small{display:block;color:var(--muted);font-weight:700}.mini-label,label{font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#64748b;font-weight:900;margin-top:14px}.side-link{display:flex;align-items:center;gap:12px;color:#334155;border-radius:16px;padding:13px 14px;margin:5px 0;font-weight:800}.side-link:hover,.side-link.active{background:#e9fbf6;color:#0f766e}.logout-link{color:#b91c1c}.green-banner{background:linear-gradient(135deg,#073b3a,#0f766e 55%,#0ea5e9);color:#fff;border-radius:30px;padding:28px;box-shadow:var(--shadow)}.green-banner p{color:#dff7f3}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:0 12px 34px rgba(8,27,51,.06)}.kpi i{color:var(--brand);font-size:24px}.kpi h3{font-weight:950;font-size:38px;margin:10px 0 0}.kpi span,.text-muted{color:var(--muted)!important}.list-card{padding:24px}.patient-row{border:1px solid var(--line);border-radius:18px;padding:15px;margin-bottom:10px;background:#fbfdff}.badge{border-radius:99px;padding:8px 11px}.status-completed{background:#dcfce7;color:#166534}.status-confirmed,.status-pending{background:#dbeafe;color:#1d4ed8}.status-cancelled{background:#fee2e2;color:#991b1b}.auth-modern{min-height:calc(100vh - 140px);display:grid;place-items:center;padding:40px 0}.auth-panel{max-width:560px;width:100%;padding:42px}.auth-panel h1{font-size:42px;font-weight:950;letter-spacing:-.05em;margin:18px 0 10px}.auth-panel p{color:var(--muted);line-height:1.65}.form-control,.form-select{border:1px solid #d9e6ee;border-radius:16px;padding:14px 16px;min-height:52px}.form-control:focus,.form-select:focus{border-color:#14b8a6;box-shadow:0 0 0 .22rem rgba(20,184,166,.14)}.otp-input{text-align:center;font-size:34px;font-weight:900;letter-spacing:12px}.alert{border-radius:18px;border:0}.access-denied{max-width:680px}.fab-help{position:fixed;right:24px;bottom:24px;width:58px;height:58px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 18px 40px rgba(14,165,233,.35);font-size:22px}.contact-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.contact-chip{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;font-weight:850}.contact-chip small{display:block;color:var(--muted);font-weight:700}@media(max-width:1000px){.hero,.portal-shell{grid-template-columns:1fr}.sidebar{position:relative;top:auto}.service-grid,.portal-grid,.kpi-grid,.contact-strip{grid-template-columns:1fr 1fr}.hero-copy{padding:20px}}@media(max-width:650px){.service-grid,.portal-grid,.kpi-grid,.contact-strip,.quick-grid{grid-template-columns:1fr}.hero h1{font-size:44px}.auth-panel{padding:26px}.page-shell{padding-left:14px!important;padding-right:14px!important}}

/* Auth upgrades: Google button, password visibility, forgot password */
.password-wrap{position:relative;display:flex;align-items:center}
.password-wrap .form-control{padding-right:3.2rem}
.password-toggle{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#64748b;width:2.2rem;height:2.2rem;border-radius:999px;display:grid;place-items:center}
.password-toggle:hover{background:#eef6fb;color:#0f766e}
.google-btn{border:1px solid #dbe7ef;background:#fff;color:#1f2937;font-weight:700;box-shadow:0 10px 25px rgba(15,23,42,.06)}
.google-btn:hover{background:#f8fafc;color:#0f766e;border-color:#bfe3dd}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 4px;color:#94a3b8;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#e2e8f0;flex:1}


/* Peace Haven premium header style */
.app-navbar{background:linear-gradient(135deg,#081525 0%,#17283d 100%)!important;border-bottom:0!important;box-shadow:none!important;backdrop-filter:none!important}
.app-navbar .container-fluid{min-height:96px}
.brand{font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(26px,2.8vw,34px)!important;font-weight:800!important;color:#fff!important;letter-spacing:-.03em}
.brand-mark{display:none!important}
.navbar .nav-link,.contact-mail{color:rgba(255,255,255,.86)!important}.navbar .nav-link:hover{color:#fff!important}.user-chip{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}


/* Final premium header correction + PH logo */
.app-navbar .container-fluid{min-height:120px!important;padding-left:7vw!important;padding-right:7vw!important}.brand{gap:14px!important}.brand-mark{display:grid!important;width:46px!important;height:46px!important;border-radius:15px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important;box-shadow:none!important}.brand-mark i{display:none!important}.brand-mark:before{content:'PH';font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:900}.navbar .nav-link{font-size:16px!important;font-weight:800!important}.btn-light{border-radius:16px!important;padding:.62rem 1rem!important}
