.patient-portal-root{background:linear-gradient(#f8fbff 0%,#f3f7fd 100%);flex-direction:column;min-height:100vh;display:flex}.patient-portal-header{padding:1rem 1.25rem;padding-left:max(1rem, env(safe-area-inset-left,0px));padding-right:max(1rem, env(safe-area-inset-right,0px));padding-top:max(1rem, env(safe-area-inset-top,0px));border-bottom:1px solid var(--border);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);z-index:10;background:#ffffffeb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.patient-portal-brand{align-items:center;gap:.75rem;display:flex}.patient-portal-mark{width:42px;height:42px;color:var(--primary-fg);background:var(--primary);box-shadow:var(--glow-cyan);border-radius:12px;place-items:center;font-size:.85rem;font-weight:800;display:grid}.patient-portal-nav{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.patient-portal-nav a{border-radius:var(--radius-sm);color:var(--text-muted);transition:color .2s var(--ease-out-expo), background .2s var(--ease-out-expo), border-color .2s var(--ease-out-expo);border:1px solid #0000;padding:.45rem .85rem;font-size:.88rem}.patient-portal-nav a:hover{color:var(--text);background:var(--cyan-dim)}.patient-portal-nav a.active{color:var(--cyan);background:var(--cyan-dim);border-color:#0ea5e947}.patient-portal-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.25rem}@media (width<=900px){.patient-portal-header{align-items:flex-start}.patient-portal-nav{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:.5rem;width:100%;padding-bottom:.35rem;overflow:auto hidden}.patient-portal-nav a,.patient-portal-nav button{flex-shrink:0}}@media (width<=480px){.patient-portal-main{padding-left:max(.85rem, env(safe-area-inset-left,0px));padding-right:max(.85rem, env(safe-area-inset-right,0px));padding-bottom:max(1.25rem, env(safe-area-inset-bottom,0px))}.patient-hero{padding:1.1rem 1.15rem}.patient-hero h1{font-size:1.15rem}}.patient-hero{border-radius:var(--radius);border:1px solid var(--border-bright);box-shadow:var(--shadow-elevated);background:linear-gradient(125deg,#22d3ee1a 0%,#818cf814 45%,#a855f70f 100%);margin-bottom:1.25rem;padding:1.35rem 1.5rem}.patient-hero h1{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.patient-hero p{color:var(--text-muted);margin:0;font-size:.92rem}.patient-stat-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.patient-stat{border-radius:var(--radius-sm);background:var(--surface-elevated);border:1px solid var(--border);text-align:center;padding:.85rem 1rem}.patient-stat .n{font-variant-numeric:tabular-nums;color:var(--cyan);font-size:1.5rem;font-weight:700}.patient-stat .l{color:var(--text-muted);margin-top:.2rem;font-size:.78rem}.patient-credit-banner{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-elevated);transition:transform .2s var(--ease-out-expo), box-shadow .2s var(--ease-out-expo), border-color .2s var(--ease-out-expo);align-items:center;gap:1rem;margin:0 0 1.25rem;padding:.9rem 1rem;text-decoration:none;display:flex}.patient-credit-banner:hover{border-color:var(--cyan);box-shadow:var(--shadow-elevated);transform:translateY(-1px)}.patient-credit-banner img{object-fit:contain;background:#fff;border-radius:10px;flex-shrink:0;width:68px;height:68px}.patient-credit-banner p{color:var(--text);margin:0;font-size:.9rem;font-weight:600}@media (width<=560px){.patient-credit-banner{text-align:center;flex-direction:column}}.patient-updates{margin:0;padding:0;list-style:none}.patient-updates li{border-bottom:1px solid var(--border);align-items:flex-start;gap:.75rem;padding:.65rem 0;font-size:.9rem;display:flex}.patient-updates li:last-child{border-bottom:none}.patient-updates .dot{background:var(--violet);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.35rem;box-shadow:0 0 12px #a78bfa80}.patient-login-split{align-items:start;gap:2rem;display:grid}@media (width>=900px){.patient-login-split{grid-template-columns:1fr 1fr}}.patient-login-visual{border-radius:var(--radius);border:1px solid var(--border-bright);background:radial-gradient(ellipse 80% 60% at 20% 20%, #22d3ee1f, transparent 55%), radial-gradient(ellipse 70% 50% at 90% 80%, #a855f71f, transparent 50%), var(--surface-solid);flex-direction:column;justify-content:flex-end;min-height:280px;padding:2rem;display:flex}.patient-login-visual h2{margin:0 0 .5rem;font-size:1.5rem}.patient-login-visual p{color:var(--text-muted);max-width:28ch;margin:0;line-height:1.6}
