:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body{height:100%}body{margin:0;min-width:320px;min-height:100vh;width:100%;font-family:Arial,sans-serif;background:#f5f7fa}.card{max-width:400px;margin:80px auto;padding:25px;background:#fff;border-radius:8px;box-shadow:0 0 10px #0000001a}input{width:100%;padding:10px;margin:8px 0;box-sizing:border-box}button{width:100%;padding:10px;background:#0078d4;color:#fff;border:none;border-radius:8px;cursor:pointer}.error{color:red;margin-top:10px}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.2fr 1fr;background:#0b1220}.auth-left{display:flex;align-items:center;justify-content:center;padding:48px;color:#fff;background:radial-gradient(1200px 700px at 20% 20%,rgba(59,130,246,.3),transparent 60%),radial-gradient(900px 600px at 70% 60%,rgba(34,197,94,.22),transparent 55%),linear-gradient(135deg,#0b1220,#0f1a33)}.auth-left-inner{width:100%;max-width:520px}.auth-brand{font-size:52px;font-weight:1000;letter-spacing:.3px;line-height:1.02}.auth-tagline{margin-top:14px;font-size:18px;font-weight:700;opacity:.92;line-height:1.35}.auth-right{display:flex;align-items:center;justify-content:center;padding:28px;background:#f3f6fb}.auth-label{display:block;margin:10px 0 6px;font-size:13px;font-weight:800;color:#0f172a}.auth-error{margin-top:10px;color:#b91c1c;font-weight:800}.auth-footer{margin-top:12px;text-align:center}.auth-card{width:100%;max-width:420px;margin:80px auto;padding:30px;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a}.auth-card h2{text-align:center;margin-bottom:20px;margin-top:0}.auth-card input{width:100%;padding:12px;margin-bottom:12px;border-radius:6px;border:1px solid #ccc}.auth-card button{width:100%;padding:12px;background:#2563eb;color:#fff;border:none;border-radius:6px;font-weight:700;cursor:pointer;transition:transform .14s ease,filter .14s ease,box-shadow .18s ease;box-shadow:0 12px 30px #2563eb38}.auth-card button:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 16px 40px #2563eb47}.auth-card button:active{transform:translateY(0);filter:brightness(.99)}.auth-card button:disabled{cursor:not-allowed;opacity:.7;transform:none;box-shadow:none}.auth-input-wrap{position:relative;width:100%}.auth-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:14px;opacity:.8;pointer-events:none}.auth-input-with-icon{padding-left:38px!important}.auth-btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.auth-spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-toast{position:fixed;right:18px;bottom:18px;z-index:999;max-width:360px;padding:12px 14px;border-radius:14px;background:#b91c1cf2;color:#fff;font-weight:900;box-shadow:0 22px 60px #00000059;border:1px solid rgba(255,255,255,.14)}@media(max-width:900px){.auth-split{grid-template-columns:1fr}.auth-left{padding:36px 22px}.auth-brand{font-size:42px}}.patient-home{width:100vw;min-height:100vh;margin:0;padding:0;background:#0b1220;color:#fff;font-family:Arial,sans-serif}.patient-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#111827f2;border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.patient-topbar-title{font-size:16px;font-weight:800;letter-spacing:.3px}.patient-topbar-right{display:flex;gap:10px;align-items:center}.patient-topbar-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#ffffff0f}.patient-topbar-text{font-size:13px;font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.patient-topbar-logout{border:none;cursor:pointer;background:#ef4444;color:#fff;width:40px;height:40px;border-radius:12px;font-size:16px}.patient-topbar-logout:hover{filter:brightness(1.05)}.patient-logo{width:56px;height:56px;object-fit:contain}.patient-topbar-left{display:flex;align-items:center;gap:10px}.patient-home-main{width:100%;max-width:none;margin:0;padding:22px 16px 30px;display:grid;grid-template-columns:1fr;gap:16px}.patient-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.patient-action-card{width:100%;text-align:left;border:none;cursor:pointer;padding:18px;border-radius:18px;color:#fff;min-height:140px;box-shadow:0 14px 40px #00000052}.patient-action-card:active{transform:translateY(1px)}.patient-action-title{font-size:18px;font-weight:900;margin-bottom:8px}.patient-action-subtitle{font-size:13px;opacity:.9;line-height:1.35}.action-red{background:linear-gradient(135deg,#ef4444,#b91c1c)}.action-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.action-green{background:linear-gradient(135deg,#22c55e,#15803d)}.patient-status-panel{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:16px}.patient-status-title{font-weight:900;font-size:14px;opacity:.95;margin-bottom:10px}.patient-status-value{font-size:18px;font-weight:900}.patient-status-muted{margin-top:10px;font-size:12px;opacity:.85;line-height:1.35}@media(max-width:900px){.patient-actions{grid-template-columns:1fr}.patient-topbar-item{display:none}}.home-container{min-height:100vh;padding:30px;background:#f5f7fb;font-family:Arial,sans-serif}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px}.logout-btn{background:#ff4d4f;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer}.card-container{display:flex;gap:30px;justify-content:center;flex-wrap:wrap}.action-card{width:300px;padding:25px;border-radius:12px;cursor:pointer;background:#fff;box-shadow:0 4px 12px #00000014;transition:transform .2s ease}.action-card:hover{transform:translateY(-6px)}.action-card h3{margin-bottom:10px}.action-card p{color:#555;font-size:14px}.action-card.emergency{border-left:6px solid red}.action-card.hospital{border-left:6px solid #1677ff}.topbar-logo-btn:focus-visible{outline:3px solid rgba(59,130,246,.8);outline-offset:4px;border-radius:12px}.em-page{min-height:100vh;background:#f9fafb;color:#111827;font-family:Arial,sans-serif}.em-hero{padding:22px 16px;background:linear-gradient(135deg,#dc26262e,#b91c1c14);border-bottom:1px solid rgba(17,24,39,.08)}.em-hero-title{font-size:22px;font-weight:1000}.em-hero-subtitle{margin-top:6px;font-size:13px;font-weight:800;opacity:.85}.em-container{max-width:1100px;margin:0 auto;padding:16px}.em-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.em-col{display:flex;flex-direction:column;gap:14px}.em-card{background:#fff;border-radius:14px;padding:14px;box-shadow:0 10px 30px #00000014;border:1px solid rgba(17,24,39,.06)}.em-card-title{font-weight:1000;font-size:14px;margin-bottom:10px}.em-kv{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid rgba(17,24,39,.06)}.em-kv:last-child{border-bottom:none}.em-k{font-size:12px;font-weight:900;opacity:.75}.em-v{font-size:13px;font-weight:1000;text-align:right}.em-label{display:block;font-weight:900;font-size:12px;margin:8px 0 6px}.em-textarea{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(17,24,39,.18);background:#fff;font-size:14px;line-height:1.35;resize:vertical}.em-row{display:flex;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}.em-radio{display:flex;align-items:center;gap:10px;font-weight:900;font-size:13px}.em-location{margin-top:10px;padding:10px;border-radius:12px;background:#2563eb0f;border:1px solid rgba(37,99,235,.12)}.em-location-title{font-weight:1000;font-size:12px}.em-location-value{margin-top:6px;font-size:12px;opacity:.85}.em-btn{margin-top:12px;width:100%;background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;font-size:18px;padding:14px;border-radius:10px;border:none;cursor:pointer;font-weight:1000;position:relative;box-shadow:0 18px 46px #dc262638;transition:transform .14s ease,filter .14s ease,box-shadow .18s ease}.em-btn:not(:disabled){animation:em-pulse 1.6s ease-in-out infinite}@keyframes em-pulse{0%{box-shadow:0 18px 46px #dc262638}50%{box-shadow:0 18px 46px #dc262638,0 0 0 10px #dc26261a}to{box-shadow:0 18px 46px #dc262638}}.em-btn:hover{transform:translateY(-1px);filter:brightness(1.02);box-shadow:0 22px 60px #dc262647}.em-btn:disabled{opacity:.75;cursor:not-allowed;transform:none;box-shadow:none}.em-btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.em-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;animation:em-spin .85s linear infinite}@keyframes em-spin{to{transform:rotate(360deg)}}.em-subtitle{font-weight:1000;margin-top:10px}.em-list ul{margin:8px 0 0;padding-left:18px}.em-status-row{margin-top:12px;display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#22c55e14;border:1px solid rgba(34,197,94,.14)}.em-status-text{font-weight:1000}.em-live-status{font-size:15px;font-weight:1000}.em-muted{margin-top:10px;font-size:12px;opacity:.75;line-height:1.35}.em-help{margin-top:10px;font-size:12px;opacity:.8}.em-toast{position:fixed;right:18px;bottom:18px;z-index:999;max-width:380px;padding:12px 14px;border-radius:14px;background:#0f172af2;color:#fff;font-weight:900;box-shadow:0 22px 60px #00000059;border:1px solid rgba(255,255,255,.14)}.severity-high{color:#b91c1c;font-weight:1000}.severity-medium{color:#d97706;font-weight:1000}.severity-low{color:#15803d;font-weight:1000}.em-heartbeat{margin-top:12px;height:22px;border-radius:12px;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);overflow:hidden;position:relative}.em-heartbeat-line{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,transparent 12%,rgba(220,38,38,0) 12%,rgba(220,38,38,0) 20%,rgba(220,38,38,.9) 22%,rgba(220,38,38,.9) 24%,rgba(220,38,38,0) 26%,rgba(220,38,38,0) 35%,rgba(220,38,38,.9) 37%,rgba(220,38,38,.9) 38%,rgba(220,38,38,0) 40%,rgba(220,38,38,0) 100%);transform:translate(-60%);animation:em-heartbeat-scan 1.2s linear infinite}@keyframes em-heartbeat-scan{0%{transform:translate(-60%)}to{transform:translate(160%)}}@media(max-width:900px){.em-grid{grid-template-columns:1fr}}.hosp-page{min-height:100vh;background:#f3f6fb;color:#0f172a;font-family:Arial,sans-serif}.hosp-topbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid rgba(15,23,42,.1);padding:12px 16px;display:flex;align-items:center;justify-content:space-between}.hosp-topbar-left{display:flex;align-items:center;gap:10px}.hosp-brand{font-weight:900;letter-spacing:.2px}.hosp-topbar-right{display:flex;align-items:center;gap:10px}.hosp-pill{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#0f172a0a;border:1px solid rgba(15,23,42,.08);border-radius:999px;font-size:13px;font-weight:700;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hosp-logout{width:auto;padding:10px 12px;border-radius:12px;border:none;cursor:pointer;font-weight:900;background:#ef4444;color:#fff}.hosp-logout:hover{filter:brightness(1.05)}.hosp-container{padding:18px 16px 28px;max-width:1200px;margin:0 auto}.hosp-panels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.hosp-panel{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:12px}.hosp-panel-title{font-size:12px;opacity:.75;font-weight:800}.hosp-panel-value{font-size:22px;font-weight:900;margin-top:6px}.hosp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hosp-section{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:16px;padding:14px}.hosp-section-title{font-weight:900;margin:0 0 10px}.req-card{border:1px solid rgba(15,23,42,.08);border-radius:14px;padding:12px;margin-bottom:10px;background:#fff}.req-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.req-patient{font-weight:900}.req-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sev-badge{padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.sev-red{background:#fee2e2;color:#991b1b}.sev-orange{background:#ffedd5;color:#9a3412}.sev-green{background:#dcfce7;color:#166534}.req-time{font-size:12px;opacity:.7;font-weight:700}.req-symptoms{margin-top:8px;font-size:13px;opacity:.9}.req-actions{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap}.req-btn{width:auto;padding:10px 12px;border-radius:12px;border:none;cursor:pointer;font-weight:900}.req-accept{background:#16a34a;color:#fff}.req-reject{background:#dc2626;color:#fff}.req-admit{background:#2563eb;color:#fff}.req-refer{background:#0f172a;color:#fff}.hosp-popup-overlay{position:fixed;inset:0;background:#0206178c;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.hosp-popup{width:100%;max-width:520px;background:#fff;border-radius:18px;padding:16px;border:1px solid rgba(15,23,42,.1);box-shadow:0 30px 80px #00000059}.hosp-popup-title{font-weight:900;font-size:18px;margin-bottom:10px}.hosp-popup-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid rgba(15,23,42,.08)}.hosp-popup-row:last-child{border-bottom:none}.hosp-popup-label{opacity:.75;font-weight:800}.hosp-popup-value{font-weight:900;text-align:right}.hosp-popup-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}.hosp-logo{width:56px;height:56px;object-fit:contain}.topbar-logo-btn{width:auto;padding:0;border:none;background:transparent;cursor:pointer;display:flex;align-items:center}.topbar-logo-btn:focus-visible{outline:3px solid rgba(37,99,235,.75);outline-offset:4px;border-radius:12px}@media(max-width:900px){.hosp-panels{grid-template-columns:repeat(2,minmax(0,1fr))}.hosp-grid{grid-template-columns:1fr}.hosp-pill{display:none}}.ai-page{width:100vw;min-height:100vh;background:#0b1220;color:#fff}.ai-container{width:100%;max-width:1100px;margin:0 auto;padding:18px 16px 28px}.ai-header{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.ai-title{margin:0;font-weight:900}.ai-disclaimer{margin-top:6px;font-size:13px;opacity:.85}.ai-profile{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:10px 12px;font-weight:800;font-size:13px;line-height:1.5}.ai-form{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px}.ai-label{display:block;font-weight:900;margin-bottom:6px;opacity:.95}.ai-textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#02061759;color:#fff;padding:12px;box-sizing:border-box;resize:vertical}.ai-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.ai-field{display:flex;flex-direction:column}.ai-select{border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#02061759;color:#fff;padding:10px}.ai-analyze-btn{margin-top:12px;width:100%;padding:12px;border-radius:14px;border:none;cursor:pointer;font-weight:900;background:#3b82f6;color:#fff}.ai-analyze-btn:disabled{opacity:.7;cursor:not-allowed}.ai-error{margin-top:10px;background:#ef444433;border:1px solid rgba(239,68,68,.35);padding:10px;border-radius:14px;font-weight:800}.ai-card{margin-top:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:14px}.ai-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ai-card-title{font-weight:900}.ai-card-text{margin:10px 0 0;opacity:.92;line-height:1.5}.ai-section{margin-top:12px}.ai-section-title{font-weight:900;margin-bottom:8px}.ai-list{margin:0;padding-left:18px;opacity:.92}.risk-badge{padding:6px 10px;border-radius:999px;font-weight:900;font-size:12px}.risk-low{background:#22c55e33;border:1px solid rgba(34,197,94,.35);color:#a7f3d0}.risk-medium{background:#f59e0b33;border:1px solid rgba(245,158,11,.35);color:#fde68a}.risk-high{background:#ef444433;border:1px solid rgba(239,68,68,.35);color:#fecaca}.ai-warning{margin-top:6px;font-weight:900;color:#fecaca}.ai-ok{margin-top:6px;opacity:.9}.ai-emergency-btn{margin-top:10px;width:100%;padding:12px;border-radius:14px;border:none;cursor:pointer;font-weight:900;background:#ef4444;color:#fff}@media(max-width:900px){.ai-header{flex-direction:column;align-items:stretch}.ai-row{grid-template-columns:1fr}}.findclinic-page{min-height:100vh;background:#0b1220;color:#fff;font-family:Arial,sans-serif}.findclinic-container{padding:18px 16px 28px;max-width:980px;margin:0 auto}.findclinic-header{display:flex;align-items:center;gap:12px;margin:10px 0 14px}.findclinic-back{width:44px;height:44px;border-radius:14px;border:none;cursor:pointer;background:#ffffff14;color:#fff;font-size:18px;font-weight:900}.findclinic-back:hover{filter:brightness(1.05)}.findclinic-title{font-size:20px;margin:0;font-weight:1000}.findclinic-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:16px;box-shadow:0 14px 40px #00000052}.findclinic-label{display:block;margin:10px 0 6px;font-size:13px;font-weight:900;opacity:.95}.findclinic-input,.findclinic-textarea{width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:#03071299;color:#fff}.findclinic-textarea{resize:vertical}.findclinic-row{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.findclinic-checkbox{display:flex;align-items:center;gap:10px;font-weight:800}.findclinic-secondary{border:none;cursor:pointer;padding:10px 12px;border-radius:12px;font-weight:900;color:#0b1220;background:#e2e8f0}.findclinic-secondary:hover{filter:brightness(1.03)}.findclinic-muted{margin-top:10px;font-size:12px;opacity:.85}.findclinic-primary{margin-top:12px;width:100%;border:none;cursor:pointer;padding:14px;border-radius:16px;font-weight:1000;font-size:15px;background:linear-gradient(135deg,#22c55e,#15803d);color:#fff;box-shadow:0 18px 46px #22c55e40;transition:transform .14s ease,filter .14s ease}.findclinic-primary:hover{transform:translateY(-1px);filter:brightness(1.03)}.findclinic-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.findclinic-btn-loading{display:inline-flex;align-items:center;justify-content:center;gap:10px}.findclinic-spinner{width:16px;height:16px;border-radius:999px;border:2px solid rgba(255,255,255,.55);border-top-color:#fff;animation:findclinic-spin .85s linear infinite}@keyframes findclinic-spin{to{transform:rotate(360deg)}}.findclinic-results{margin-top:16px}.findclinic-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.findclinic-results-title{font-size:16px;font-weight:1000}.findclinic-results-sub{font-size:12px;opacity:.9}.findclinic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.findclinic-result-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:14px}.findclinic-result-top{display:flex;align-items:start;justify-content:space-between;gap:12px}.findclinic-result-name{font-weight:1000}.findclinic-result-rating{font-weight:1000;background:#ffffff14;border-radius:999px;padding:6px 10px}.findclinic-result-meta{margin-top:8px;font-size:13px;opacity:.92;line-height:1.35}.findclinic-actions{margin-top:12px;display:flex;gap:10px}.findclinic-call,.findclinic-nav{flex:1;text-align:center;border:none;cursor:pointer;padding:11px 12px;border-radius:14px;font-weight:1000;text-decoration:none}.findclinic-call{background:#e2e8f0;color:#0b1220}.findclinic-nav{background:#2563eb;color:#fff}.findclinic-call:hover,.findclinic-nav:hover{filter:brightness(1.03)}.findclinic-call:disabled,.findclinic-nav:disabled{opacity:.6;cursor:not-allowed}.findclinic-cta{margin-top:12px}.findclinic-emergency{width:100%;border:none;cursor:pointer;padding:14px;border-radius:16px;font-weight:1000;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff}.findclinic-emergency:hover{filter:brightness(1.03)}.findclinic-toast{position:fixed;right:18px;bottom:18px;z-index:999;max-width:360px;padding:12px 14px;border-radius:14px;background:#0f172af2;color:#fff;font-weight:900;box-shadow:0 22px 60px #00000059;border:1px solid rgba(255,255,255,.14)}@media(max-width:900px){.findclinic-grid{grid-template-columns:1fr}}
