:root{--teal-900: #0d3d3d;--teal-800: #0f5252;--teal-700: #117070;--teal-600: #148f8f;--teal-500: #16a3a3;--teal-400: #34c4c4;--teal-100: #e0f5f5;--teal-50: #f0fafa;--rose-600: #c2365a;--rose-400: #e05a7a;--rose-100: #fde8ee;--rose-50: #fff0f4;--red-600: #dc2626;--red-100: #fee2e2;--red-50: #fff5f5;--amber-500: #f59e0b;--amber-100: #fef3c7;--amber-50: #fffbeb;--green-600: #16a34a;--green-100: #dcfce7;--green-50: #f0fdf4;--gray-900: #111827;--gray-700: #374151;--gray-500: #6b7280;--gray-300: #d1d5db;--gray-100: #f3f4f6;--gray-50: #f9fafb;--white: #ffffff;--shadow-sm: 0 1px 2px rgba(0,0,0,.06);--shadow: 0 2px 8px rgba(0,0,0,.08);--shadow-md: 0 4px 16px rgba(0,0,0,.1);--shadow-lg: 0 8px 32px rgba(0,0,0,.12);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--font-sans: "Inter", system-ui, -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-sans);background:var(--gray-50);color:var(--gray-900);line-height:1.5;min-height:100vh}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem;color:var(--teal-700)}.spinner{width:40px;height:40px;border:3px solid var(--teal-100);border-top-color:var(--teal-600);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--teal-900) 0%,var(--teal-700) 50%,var(--rose-600) 100%);padding:1rem}.auth-card{background:var(--white);border-radius:var(--radius-xl);padding:2.5rem 2rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-logo{text-align:center;margin-bottom:2rem}.logo-icon{font-size:2.5rem}.auth-logo h1{font-size:1.75rem;font-weight:700;color:var(--teal-800);margin-top:.25rem}.auth-logo p{color:var(--gray-500);font-size:.875rem}.auth-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;background:var(--gray-100);border-radius:var(--radius-sm);padding:.25rem;margin-bottom:1.25rem}.auth-mode-toggle button{border:none;background:transparent;color:var(--gray-700);border-radius:var(--radius-sm);padding:.5rem .75rem;font-family:var(--font-sans);font-weight:600;cursor:pointer}.auth-mode-toggle button.active{background:var(--white);color:var(--teal-800);box-shadow:var(--shadow-sm)}.auth-form h2{font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;color:var(--gray-900)}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--gray-500);font-size:.875rem}.public-auth-shell{flex-direction:column;gap:1rem}.public-auth-footer{width:min(100%,720px);display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem .9rem;color:#ffffffdb;font-size:.84rem}.public-auth-footer a{color:#ffffffeb;text-decoration:none;font-weight:700}.public-auth-footer a:hover{text-decoration:underline}.trust-page-shell{min-height:100vh;background:linear-gradient(180deg,var(--teal-50),var(--rose-50) 55%,var(--white));color:var(--gray-900)}.trust-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,2rem);background:#ffffffeb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(213,223,220,.82)}.trust-brand{display:inline-flex;align-items:center;gap:.6rem;color:var(--teal-800);text-decoration:none;font-weight:900;font-size:1.05rem}.trust-nav{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;justify-content:flex-end}.trust-nav a,.trust-footer a,.trust-card a{color:var(--teal-700);font-weight:800;text-decoration:none}.trust-nav a:hover,.trust-footer a:hover,.trust-card a:hover{text-decoration:underline}.trust-main{width:min(100% - 2rem,980px);margin:0 auto;padding:2rem 0}.trust-hero{padding:clamp(1.2rem,5vw,2.5rem) 0 1rem}.trust-hero h1{font-size:clamp(1.85rem,5vw,3rem);line-height:1.05;color:var(--teal-900);margin-bottom:.75rem}.trust-hero p{max-width:720px;color:var(--gray-700);font-size:1.05rem}.trust-card{background:#fffffff5;border:1px solid rgba(213,223,220,.82);border-radius:var(--radius-xl);padding:1.25rem;box-shadow:var(--shadow-sm);margin-top:1rem}.trust-card h2{color:var(--gray-900);font-size:1.15rem;margin-bottom:.35rem}.trust-card p,.trust-card li{color:var(--gray-700);font-size:.96rem}.trust-card ul{margin:.7rem 0 0 1.2rem}.trust-card li{margin-top:.35rem}.trust-note{margin-top:.85rem;padding:.75rem;border-radius:16px;background:var(--amber-50);border:1px solid var(--amber-100)}.trust-contact-form{margin-top:1rem}.trust-footer{width:min(100% - 2rem,980px);margin:0 auto;padding:1rem 0 2rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--gray-600);font-size:.9rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans);background:var(--white);color:var(--gray-900);transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px #16a3a31f}.form-group small{display:block;margin-top:.25rem;color:var(--gray-500);font-size:.8125rem}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-error{background:var(--red-50);border:1px solid #fca5a5;color:var(--red-600);padding:.625rem .875rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.success-msg{text-align:center;padding:1.5rem;color:var(--green-600)}.success-msg p{margin-bottom:1rem}.success-inline{background:var(--green-50);border:1px solid var(--green-100);color:var(--green-600);padding:.625rem .875rem;border-radius:var(--radius-sm);font-size:.875rem}.form-help{color:var(--gray-500);font-size:.875rem;margin-bottom:1rem}.form-section{background:var(--gray-50);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem}.form-section h3{font-size:.9375rem;font-weight:600;margin-bottom:1rem;color:var(--teal-800)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.625rem 1.25rem;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;cursor:pointer;border:none;transition:all .15s;font-family:var(--font-sans)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--teal-600);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--teal-700)}.btn-secondary{background:var(--teal-50);color:var(--teal-800);border:1px solid var(--teal-100)}.btn-secondary:hover:not(:disabled){background:var(--teal-100)}.btn-danger{background:var(--red-600);color:var(--white)}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-full{width:100%}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-link{background:none;border:none;color:var(--teal-600);cursor:pointer;font-size:.875rem;padding:0;font-family:var(--font-sans);text-decoration:underline}.btn-link:hover{color:var(--teal-800)}.notification-opt-in{background:#ffffff29;color:var(--white);border:1px solid rgba(255,255,255,.32)}.notification-opt-in:hover{background:#ffffff42}.notification-status{display:inline-flex;align-items:center;max-width:min(360px,38vw);padding:.35rem .65rem;border-radius:var(--radius-sm);font-size:.8125rem;line-height:1.25;font-weight:600}.notification-status.blocked{background:var(--amber-100);color:#92400e;border:1px solid #fcd34d}.notification-status.enabled{background:var(--green-100);color:var(--green-600);border:1px solid #86efac}.icon-btn{background:none;border:none;cursor:pointer;font-size:1.25rem;position:relative;padding:.25rem}.notification-center-wrap{position:relative}.notification-center-trigger{min-width:44px;min-height:44px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--white);background:#ffffff24;border:1px solid rgba(255,255,255,.25)}.notification-center-panel{position:absolute;top:calc(100% + .6rem);right:0;z-index:80;width:min(360px,calc(100vw - 1rem));max-height:70vh;overflow-y:auto;background:var(--white);color:var(--gray-900);border-radius:22px;border:1px solid rgba(213,223,220,.88);box-shadow:var(--shadow-lg);padding:.85rem}.notification-center-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .25rem .75rem}.notification-center-header span{color:var(--gray-500);font-size:.78rem;font-weight:800}.notification-center-list{display:flex;flex-direction:column;gap:.55rem}.notification-center-item{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.65rem;text-align:left;border:1px solid var(--gray-100);background:var(--gray-50);border-radius:18px;padding:.7rem;cursor:pointer;font-family:var(--font-sans)}.notification-center-item strong{display:block;color:var(--gray-900);font-size:.9rem}.notification-center-item small{display:block;color:var(--gray-600);font-size:.78rem;margin-top:.15rem}.notification-dot{width:10px;height:10px;border-radius:999px;margin-top:.3rem;background:var(--teal-600)}.notification-severe .notification-dot,.notification-danger .notification-dot{background:var(--red-600);box-shadow:0 0 0 3px #dc262624}.notification-high .notification-dot,.notification-alert .notification-dot{background:var(--amber-500)}.notification-message .notification-dot{background:var(--teal-600)}.app-root{position:relative}.signout-btn{position:fixed;top:1rem;right:1rem;z-index:100;background:var(--white);border:1px solid var(--gray-300);color:var(--gray-700);padding:.375rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;cursor:pointer}.signout-btn:hover{background:var(--gray-100)}.hospital-dashboard,.patient-dashboard{min-height:100vh;display:flex;flex-direction:column}.dashboard-header{background:var(--teal-800);color:var(--white);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--shadow-md)}.header-left{display:flex;align-items:center;gap:.75rem}.logo-icon-sm{font-size:1.75rem}.header-left h1{font-size:1.125rem;font-weight:700;line-height:1.2}.header-left p{font-size:.8125rem;opacity:.8}.header-right,.header-badges{display:flex;align-items:center;gap:.75rem}.alert-badge{background:var(--red-600);color:#fff;border:none;border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8125rem;font-weight:600;cursor:pointer;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.75}}.msg-badge{background:var(--teal-500);color:#fff;border:none;border-radius:var(--radius-sm);padding:.375rem .75rem;font-size:.8125rem;cursor:pointer}.badge{background:var(--red-600);color:#fff;border-radius:999px;font-size:.6875rem;padding:0 .3rem;min-width:1.1rem;display:inline-block;text-align:center;position:absolute;top:0;right:0}.tab-nav{background:var(--white);border-bottom:1px solid var(--gray-100);display:flex;overflow-x:auto;padding:0 1rem;scrollbar-width:none}.tab-nav::-webkit-scrollbar{display:none}.tab-btn{display:flex;align-items:center;gap:.375rem;padding:.875rem 1rem;border:none;background:none;color:var(--gray-500);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .15s;position:relative}.tab-btn.active{color:var(--teal-700);border-bottom-color:var(--teal-600)}.tab-btn:hover:not(.active){color:var(--gray-700);background:var(--gray-50)}.tab-badge{background:var(--red-600);color:#fff;border-radius:999px;font-size:.6875rem;padding:.1rem .35rem;min-width:1.2rem;text-align:center}.dashboard-content{flex:1;padding:1.5rem;overflow-y:auto;max-width:1200px;margin:0 auto;width:100%}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.full-width{grid-column:1 / -1}.card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.card h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--gray-800)}.stat-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100);display:flex;align-items:center;gap:1rem}.stat-icon{font-size:2rem}.stat-label{font-size:.8125rem;color:var(--gray-500);font-weight:500}.stat-value{font-size:1.75rem;font-weight:700;color:var(--gray-900);line-height:1.1}.stat-unit{font-size:.8125rem;color:var(--gray-500)}.stat-empty{color:var(--gray-400);font-size:.875rem}.stat-red{border-left:3px solid var(--red-600)}.stat-yellow{border-left:3px solid var(--amber-500)}.stat-green{border-left:3px solid var(--green-600)}.vitals-trends{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.trends-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.trends-header h3{font-size:1rem;font-weight:600;color:var(--gray-800)}.trends-header span{font-size:.8125rem;color:var(--gray-500);white-space:nowrap}.trend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.trend-card{min-width:0;border:1px solid var(--gray-100);border-radius:var(--radius-sm);background:var(--gray-50);padding:.875rem}.trend-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.trend-title-row h4{font-size:.9375rem;font-weight:600;color:var(--gray-800)}.trend-title-row span{font-size:.75rem;color:var(--gray-500);white-space:nowrap}.trend-chart{width:100%;height:auto;display:block;overflow:visible}.trend-grid-line{stroke:var(--gray-100);stroke-width:1}.trend-axis-label{fill:var(--gray-500);font-size:10px}.trend-legend{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:.5rem}.trend-legend span{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--gray-600)}.trend-legend i{width:8px;height:8px;border-radius:50%;flex-shrink:0}.trend-empty{min-height:176px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gray-400);font-size:.875rem}.alert-chip{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.alert-green,.alert-normal{background:var(--green-100);color:var(--green-600)}.alert-yellow,.alert-high{background:var(--amber-100);color:#92400e}.alert-red,.alert-very_high{background:var(--red-100);color:var(--red-600)}.alert-low{background:var(--rose-100);color:var(--rose-600)}.alert-none{background:var(--gray-100);color:var(--gray-500)}.risk-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.05em}.risk-high{background:var(--red-100);color:var(--red-600)}.risk-medium{background:var(--amber-100);color:#92400e}.risk-low{background:var(--green-100);color:var(--green-600)}.bp-status-low{background:var(--rose-100);color:var(--rose-600)}.bp-status-normal{background:var(--green-100);color:var(--green-600)}.bp-status-high{background:var(--amber-100);color:#92400e}.bp-status-very_high{background:var(--red-100);color:var(--red-600)}.risk-badge-sm{font-size:.6875rem;padding:.15rem .5rem;border-radius:999px;font-weight:700}.level-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.8125rem;font-weight:700}.level-red,.level-very_high{background:var(--red-100);color:var(--red-600)}.level-yellow,.level-high{background:var(--amber-100);color:#92400e}.level-low{background:var(--rose-100);color:var(--rose-600)}.level-normal{background:var(--green-100);color:var(--green-600)}.live-badge{display:inline-block;color:var(--green-600);font-size:.75rem;font-weight:600;animation:livepulse 1.5s infinite}@keyframes livepulse{0%,to{opacity:1}50%{opacity:.4}}.alert-list{display:flex;flex-direction:column;gap:.5rem}.alert-row{display:flex;align-items:flex-start;gap:.875rem;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--gray-100)}.alert-row.alert-red,.alert-row.alert-very_high{background:var(--red-50);border-color:#fca5a5}.alert-row.alert-yellow,.alert-row.alert-high{background:var(--amber-50);border-color:#fcd34d}.alert-row.alert-low{background:var(--rose-50);border-color:var(--rose-400)}.alert-row.alert-normal{background:var(--green-50);border-color:var(--green-100)}.alert-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}.dot-red,.dot-very_high{background:var(--red-600);box-shadow:0 0 0 3px #dc262633}.dot-yellow,.dot-high{background:var(--amber-500)}.dot-green,.dot-normal{background:var(--green-600)}.dot-low{background:var(--rose-600)}.alert-info{flex:1}.alert-info strong{display:block;font-size:.9375rem}.alert-info p{font-size:.875rem;color:var(--gray-600);margin-top:.2rem}.alert-meta{text-align:right;flex-shrink:0}.ack-badge{display:inline-block;background:var(--green-100);color:var(--green-600);padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;margin-top:.25rem}.alert-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--gray-200);margin-bottom:.75rem;box-shadow:var(--shadow-sm)}.alert-card-red,.alert-card-very_high{border-left:4px solid var(--red-600);background:var(--red-50)}.alert-card-yellow,.alert-card-high{border-left:4px solid var(--amber-500);background:var(--amber-50)}.alert-card-low{border-left:4px solid var(--rose-600);background:var(--rose-50)}.alert-card-normal{border-left:4px solid var(--green-600);background:var(--green-50)}.alert-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.alert-card h4{font-size:1rem;font-weight:600;margin-bottom:.25rem}.alert-patient{font-size:.875rem;color:var(--gray-600);margin-top:.5rem}.alert-actions{margin-top:.75rem}.critical-alert-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem clamp(1rem,3vw,1.5rem);background:linear-gradient(135deg,var(--red-600),#991b1b);color:var(--white);box-shadow:var(--shadow-md)}.critical-alert-banner strong{display:block;font-size:1rem}.critical-alert-banner p{color:#ffffffdb;font-size:.875rem}.staff-safety-dashboard{background:linear-gradient(135deg,var(--red-50),var(--rose-50));border:1px solid #fca5a5;border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.staff-safety-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-kicker{font-size:.75rem;font-weight:800;color:var(--red-600);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem}.staff-safety-header h2{font-size:1.35rem;color:var(--gray-900);line-height:1.2}.staff-safety-header p,.staff-safety-clear p,.severe-alert-details,.staff-note small,.daily-risk-item p{color:var(--gray-600);font-size:.875rem}.severe-count{min-width:48px;height:48px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--red-600);color:#fff;font-weight:900;font-size:1.25rem}.staff-safety-clear{display:flex;align-items:flex-start;gap:.75rem;padding:.9rem;border-radius:20px;background:var(--white);border:1px solid rgba(213,223,220,.82)}.staff-safety-clear .app-icon{color:var(--green-600);flex-shrink:0}.severe-alert-list{display:flex;flex-direction:column;gap:.875rem}.severe-alert-card{background:var(--white);border-radius:22px;padding:1rem;border:1px solid #fca5a5;box-shadow:var(--shadow-sm)}.severe-alert-card.urgency-amber{border-left:5px solid var(--amber-500)}.severe-alert-card.urgency-orange{border-left:5px solid #f97316}.severe-alert-card.urgency-critical{border-left:5px solid var(--red-600);box-shadow:0 8px 28px #dc262624}.severe-alert-main{display:grid;grid-template-columns:1fr auto;align-items:start;gap:1rem}.severe-alert-main h3{font-size:1.12rem;color:var(--gray-900);margin:.35rem 0 .12rem}.severe-bp-value{text-align:right;color:var(--red-600)}.severe-bp-value strong{display:block;font-size:1.65rem;line-height:1;font-weight:900}.severe-bp-value span{font-size:.78rem;font-weight:700;color:var(--gray-500)}.waiting-badge{display:inline-flex;min-height:30px;align-items:center;border-radius:999px;padding:.22rem .65rem;font-size:.78rem;font-weight:800}.waiting-amber{background:var(--amber-100);color:#92400e}.waiting-orange{background:#ffedd5;color:#c2410c}.waiting-critical{background:var(--red-100);color:var(--red-600)}.severe-alert-details{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.severe-alert-details span{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:999px;padding:.25rem .6rem}.severe-alert-actions,.patient-contact-actions,.daily-risk-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.severe-alert-actions{justify-content:space-between;margin-top:.9rem}.contact-warning-inline{display:inline-flex;align-items:center;min-height:40px;margin:0;padding:.45rem .65rem}.escalation-status,.escalation-notice{margin-top:.75rem}.escalation-status{background:var(--amber-50);border:1px solid var(--amber-100);color:#92400e;border-radius:16px;padding:.65rem .75rem;font-size:.85rem;font-weight:700}.staff-note-box{margin-top:.95rem;padding-top:.85rem;border-top:1px solid var(--gray-100)}.staff-note-box label{display:block;font-size:.8rem;font-weight:800;color:var(--gray-700);margin-bottom:.45rem}.staff-note-input{display:grid;grid-template-columns:1fr auto;gap:.5rem}.staff-note-input input{min-height:48px;border:1.5px solid var(--gray-300);border-radius:16px;padding:.65rem .85rem;font-family:var(--font-sans);font-size:.95rem}.staff-note-input input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px #16a3a31f}.staff-note-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.7rem}.staff-note{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:16px;padding:.65rem .75rem}.staff-note p{color:var(--gray-800);font-size:.9rem}.safety-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1rem}.safety-filter-bar button{min-height:44px;border:1px solid var(--gray-200);border-radius:999px;background:var(--white);color:var(--gray-700);padding:.45rem .85rem;font-family:var(--font-sans);font-weight:800;cursor:pointer}.safety-filter-bar button.active{background:var(--teal-600);color:var(--white);border-color:var(--teal-600)}.danger-text{color:var(--red-600)!important;font-weight:800}.daily-risk-card{margin-bottom:1rem;background:linear-gradient(135deg,var(--red-50),var(--amber-50));border-color:#fca5a5}.daily-risk-list{display:flex;flex-direction:column;gap:.75rem}.daily-risk-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.9rem;padding:.85rem;border-radius:20px;background:var(--white);border:1px solid rgba(252,165,165,.72)}.daily-risk-item strong{display:block;color:var(--gray-900);font-size:.98rem}.admin-reports-tab{display:flex;flex-direction:column;gap:1rem}.admin-reports-header{align-items:flex-start}.admin-reports-header p,.tool-card-header p,.staff-performance-item p,.role-permissions-card p{color:var(--gray-600);font-size:.875rem}.admin-metric-grid,.staff-control-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.admin-metric-card{background:var(--white);border:1px solid rgba(213,223,220,.82);border-radius:20px;padding:1rem;box-shadow:var(--shadow-sm)}.admin-metric-card span{display:block;color:var(--gray-500);font-size:.78rem;text-transform:uppercase;letter-spacing:.02em;font-weight:800}.admin-metric-card strong{display:block;margin-top:.35rem;color:var(--teal-800);font-size:1.8rem;line-height:1;font-weight:900}.admin-metric-amber strong{color:#92400e}.admin-metric-red strong{color:var(--red-600)}.monthly-summary-card,.export-card,.staff-performance-card,.role-permissions-card{border-radius:var(--radius-lg)}.monthly-summary-card.summary-urgent{border-color:#fca5a5;background:linear-gradient(135deg,var(--red-50),var(--white))}.monthly-summary-card.summary-watch{border-color:var(--amber-100);background:linear-gradient(135deg,var(--amber-50),var(--white))}.monthly-summary-card.summary-steady{border-color:var(--green-100);background:linear-gradient(135deg,var(--green-50),var(--white))}.summary-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.summary-mini-stat{padding:.85rem;border-radius:18px;background:var(--white);border:1px solid rgba(213,223,220,.82)}.summary-mini-stat span{display:block;color:var(--gray-500);font-size:.78rem;font-weight:800}.summary-mini-stat strong{display:block;color:var(--gray-900);font-size:1.35rem;line-height:1.1;margin-top:.25rem}.export-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.export-actions .btn{width:100%}.staff-performance-list{display:flex;flex-direction:column;gap:.75rem}.staff-performance-item{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;align-items:center;gap:.9rem;padding:.85rem;border-radius:20px;background:var(--gray-50);border:1px solid var(--gray-100)}.staff-performance-item strong{display:block;color:var(--gray-900)}.staff-performance-metrics{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.staff-performance-metrics span{display:inline-flex;align-items:center;min-height:32px;background:var(--white);border:1px solid rgba(213,223,220,.82);border-radius:999px;padding:.25rem .65rem;color:var(--gray-700);font-size:.8rem;font-weight:800}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.permissions-grid>div{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:18px;padding:.85rem}.permissions-grid h4{color:var(--gray-800);margin-bottom:.5rem;font-size:.95rem}.permissions-grid p{margin-top:.35rem}.staff-control-summary{margin-bottom:.85rem}.staff-control-summary .admin-metric-card strong{font-size:1.45rem}.staff-control-note{margin-bottom:1rem}.patients-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.patients-header h2{font-size:1.25rem;font-weight:600}.search-input{flex:1;min-width:200px;padding:.5rem .875rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans)}.search-input:focus{outline:none;border-color:var(--teal-500);box-shadow:0 0 0 3px #16a3a31f}.patients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.patient-card{background:var(--white);border-radius:var(--radius);padding:1rem;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;align-items:flex-start;gap:.875rem;transition:box-shadow .15s}.patient-card:hover{box-shadow:var(--shadow-md)}.risk-border-high{border-left:3px solid var(--red-600)}.risk-border-medium{border-left:3px solid var(--amber-500)}.risk-border-low{border-left:3px solid var(--green-600)}.patient-avatar,.contact-avatar{width:40px;height:40px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.patient-avatar-lg{width:64px;height:64px;border-radius:50%;background:var(--teal-100);color:var(--teal-700);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.5rem;flex-shrink:0}.patient-info{flex:1;min-width:0}.patient-info strong{display:block;font-size:.9375rem;font-weight:600}.patient-info p{font-size:.8125rem;color:var(--gray-500);margin-top:.1rem}.back-btn{background:none;border:none;color:var(--teal-700);cursor:pointer;font-size:.9375rem;padding:0;margin-bottom:1.25rem;display:flex;align-items:center;gap:.375rem}.patient-header-card{background:var(--white);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--gray-100);display:flex;gap:1.25rem;align-items:flex-start;margin-bottom:1.25rem;flex-wrap:wrap}.patient-header-card h2{font-size:1.25rem;font-weight:700}.patient-meta{margin-left:auto;text-align:right;font-size:.875rem;color:var(--gray-600)}.patient-meta p{margin-bottom:.25rem}.patient-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;margin-bottom:1rem}.active-alerts{margin-bottom:1.25rem}.active-alerts h3,.vitals-history h3{margin-bottom:.75rem}.patient-summary-report{background:var(--white);border:1px solid var(--gray-100);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.25rem;margin-bottom:1.25rem}.summary-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100);margin-bottom:1rem}.summary-kicker{font-size:.75rem;font-weight:700;color:var(--teal-700);text-transform:uppercase;letter-spacing:.04em}.summary-report-header h2{font-size:1.35rem;margin-top:.2rem}.summary-report-header p{color:var(--gray-600)}.summary-print-meta{text-align:right;font-size:.8125rem;color:var(--gray-500);white-space:nowrap}.summary-print-meta strong{display:block;color:var(--gray-800);font-size:.9375rem}.summary-section{margin-top:1.25rem}.summary-section h3{font-size:1rem;font-weight:700;color:var(--gray-800);margin-bottom:.75rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}.summary-field{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius-sm);padding:.75rem;min-width:0}.summary-field span{display:block;color:var(--gray-500);font-size:.75rem;margin-bottom:.2rem}.summary-field strong{display:block;color:var(--gray-800);font-size:.9375rem;font-weight:600;word-break:break-word}.summary-empty{color:var(--gray-400);font-size:.9375rem}.summary-list{display:flex;flex-direction:column;gap:.75rem}.summary-list-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border:1px solid var(--gray-100);border-radius:var(--radius-sm);background:var(--gray-50)}.summary-list-item p{color:var(--gray-600);font-size:.875rem;margin-top:.2rem}.summary-list-item small{color:var(--gray-500);font-size:.75rem}.summary-table{width:100%;border-collapse:collapse;font-size:.875rem}.summary-table th{text-align:left;color:var(--gray-600);font-weight:700;padding:.625rem;border-bottom:1px solid var(--gray-200);background:var(--gray-50)}.summary-table td{padding:.625rem;border-bottom:1px solid var(--gray-100);color:var(--gray-700);vertical-align:top}.vitals-table{width:100%;border-collapse:collapse;font-size:.875rem}.vitals-table th{padding:.625rem .75rem;background:var(--gray-50);text-align:left;font-weight:600;color:var(--gray-600);border-bottom:1px solid var(--gray-200)}.vitals-table td{padding:.625rem .75rem;border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.vitals-table tr:hover td{background:var(--teal-50)}.bp-preview{padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9375rem;font-weight:500;margin-top:.75rem}.bp-green,.bp-normal{background:var(--green-100);color:var(--green-600);border:1px solid #86efac}.bp-yellow,.bp-high{background:var(--amber-100);color:#92400e;border:1px solid #fcd34d}.bp-red,.bp-very_high{background:var(--red-100);color:var(--red-600);border:1px solid #fca5a5}.bp-low{background:var(--rose-100);color:var(--rose-600);border:1px solid var(--rose-400)}.patient-safety-card{background:linear-gradient(135deg,#f0fafafa,#fff0f4f5)}.safety-card-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem}.safety-card-header h3{margin-bottom:.25rem}.safety-card-header p,.education-note p,.bp-meaning-card p,.urgent-warning-card p,.contact-warning{color:var(--gray-600);font-size:.875rem}.safety-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.safety-actions .btn{width:100%}.emergency-call-missing{display:flex;flex-direction:column;gap:.45rem}.contact-warning{background:var(--amber-50);border:1px solid var(--amber-100);color:#92400e;border-radius:var(--radius-sm);padding:.6rem .75rem}.bp-guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;padding:1rem;background:#11182761}.bp-guide-dialog{width:min(100%,430px);max-height:min(88vh,760px);overflow-y:auto;background:var(--white);border-radius:28px;padding:1.1rem;box-shadow:var(--shadow-lg);border:1px solid rgba(213,223,220,.86)}.bp-guide-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem}.bp-guide-header h2{font-size:1.2rem;line-height:1.25;color:var(--gray-900)}.bp-guide-header p{color:var(--gray-600);font-size:.9rem;margin-top:.25rem}.bp-guide-steps{display:grid;gap:.65rem;margin-bottom:.9rem}.bp-guide-step{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--teal-50);border:1px solid var(--teal-100);border-radius:18px}.bp-guide-step span{width:30px;height:30px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--teal-600);color:var(--white);font-weight:800}.bp-guide-step p{color:var(--gray-800);font-size:.92rem;font-weight:600}.education-note{display:flex;align-items:flex-start;gap:.6rem;background:var(--rose-50);border:1px solid var(--rose-100);border-radius:18px;padding:.75rem;margin:.75rem 0}.education-note .app-icon{color:var(--rose-600);flex-shrink:0;margin-top:.1rem}.bp-meaning-card{margin-top:.75rem;padding:.85rem;border-radius:18px;border:1px solid}.bp-meaning-title{display:flex;align-items:center;gap:.45rem;margin-bottom:.35rem}.bp-meaning-title strong{text-transform:uppercase;font-size:.85rem;letter-spacing:.02em}.bp-meaning-card small{display:block;margin-top:.45rem;color:var(--gray-500);font-size:.78rem}.bp-meaning-normal{background:var(--green-50);border-color:var(--green-100);color:var(--green-600)}.bp-meaning-high{background:var(--amber-50);border-color:var(--amber-100);color:#92400e}.bp-meaning-severe{background:var(--red-50);border-color:#fca5a5;color:var(--red-600)}.urgent-warning-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.875rem;margin-top:.85rem;padding:.9rem;border-radius:20px;background:var(--red-50);border:1px solid #fca5a5}.urgent-warning-card h4{display:flex;align-items:center;gap:.45rem;color:var(--red-600);font-size:.98rem;margin-bottom:.25rem}.patient-urgent-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;background:linear-gradient(135deg,var(--red-50),var(--rose-50));border:1px solid #fca5a5;border-left:5px solid var(--red-600);border-radius:24px;padding:1rem;box-shadow:var(--shadow-sm);margin-bottom:1rem}.patient-urgent-feedback h3{display:flex;align-items:center;gap:.45rem;color:var(--red-600);font-size:1.05rem;margin-bottom:.25rem}.patient-urgent-feedback p{color:var(--gray-700);font-size:.92rem}.urgent-feedback-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.danger-signs-list .bp-guide-step{background:var(--red-50);border-color:#fca5a5}.danger-signs-list .bp-guide-step span{background:var(--red-600)}.tool-card-header{display:flex;align-items:flex-start;gap:.875rem;margin-bottom:1rem}.tool-card-header h3{margin-bottom:.2rem}.tool-card-header p{color:var(--gray-600);font-size:.875rem}.pregnancy-card{background:linear-gradient(135deg,#f0fdf4fa,#fff5f8f5)}.medication-card{background:linear-gradient(135deg,#f0fafafa,#f9fafbfa)}.pregnancy-summary{padding:.95rem;border-radius:20px;background:var(--white);border:1px solid rgba(213,223,220,.82);margin-bottom:.85rem}.pregnancy-weeks{color:var(--gray-900);font-size:1rem;font-weight:800;margin-bottom:.65rem}.pregnancy-meta-row{display:flex;flex-wrap:wrap;gap:.45rem;color:var(--gray-600);font-size:.82rem}.pregnancy-meta-row span,.trimester-pill,.medication-status{display:inline-flex;align-items:center;min-height:30px;border-radius:999px;padding:.22rem .6rem;font-weight:700;background:var(--gray-100);color:var(--gray-700)}.trimester-pill{background:var(--green-100);color:var(--green-600)}.pregnancy-form,.medication-form{margin-top:1rem}.segmented-control{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:.25rem;background:var(--gray-100);border-radius:18px;margin-bottom:.85rem}.segmented-control button{min-height:44px;border:0;border-radius:14px;background:transparent;color:var(--gray-600);font-weight:800;cursor:pointer;font-family:var(--font-sans)}.segmented-control button.active{background:var(--white);color:var(--teal-800);box-shadow:var(--shadow-sm)}.tool-actions{display:flex;gap:.65rem;flex-wrap:wrap}.tool-actions .btn{flex:1 1 140px}.tool-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.medication-list{display:flex;flex-direction:column;gap:.7rem}.medication-item{display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:center;padding:.85rem;border-radius:20px;background:var(--white);border:1px solid rgba(213,223,220,.82)}.medication-main strong{display:block;color:var(--gray-900);font-size:.96rem}.medication-main p{color:var(--gray-600);font-size:.84rem;margin:.18rem 0 .45rem}.medication-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}.medication-status{font-size:.75rem;text-transform:capitalize}.medication-status.status-taken,.medication-taken .medication-status{background:var(--green-100);color:var(--green-600)}.medication-status.status-missed,.medication-missed .medication-status{background:var(--rose-100);color:var(--rose-600)}.medication-status.status-scheduled,.medication-scheduled .medication-status{background:var(--teal-100);color:var(--teal-700)}.meaning-card{display:flex;align-items:flex-start;gap:.6rem;margin-top:.85rem;padding:.8rem;border-radius:18px;border:1px solid}.meaning-card .app-icon{flex-shrink:0;margin-top:.1rem}.meaning-card strong{display:block;font-size:.83rem;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.2rem}.meaning-card p{color:var(--gray-600);font-size:.86rem}.meaning-teal{background:var(--teal-50);border-color:var(--teal-100);color:var(--teal-700)}.meaning-rose{background:var(--rose-50);border-color:var(--rose-100);color:var(--rose-600)}.meaning-amber{background:var(--amber-50);border-color:var(--amber-100);color:#92400e}.meaning-green{background:var(--green-50);border-color:var(--green-100);color:var(--green-600)}.symptom-grid{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.symptom-chip{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border:1.5px solid var(--gray-300);border-radius:999px;font-size:.8125rem;cursor:pointer;transition:all .15s;color:var(--gray-700)}.symptom-chip input{display:none}.symptom-chip.selected{background:var(--teal-100);border-color:var(--teal-500);color:var(--teal-800);font-weight:500}.symptom-chip:hover{border-color:var(--teal-400)}.history-list{display:flex;flex-direction:column;gap:.75rem}.history-list h2{margin-bottom:1rem}.history-card{background:var(--white);border-radius:var(--radius);padding:1rem;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm)}.border-red,.border-very_high{border-left:3px solid var(--red-600)}.border-yellow,.border-high{border-left:3px solid var(--amber-500)}.border-low{border-left:3px solid var(--rose-600)}.border-green,.border-normal,.border-none{border-left:3px solid var(--gray-200)}.history-date{font-size:.8125rem;color:var(--gray-500);margin-bottom:.5rem}.history-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.stat-chip{display:inline-block;padding:.2rem .6rem;background:var(--gray-100);border-radius:999px;font-size:.8125rem;color:var(--gray-700)}.history-symptoms{font-size:.8125rem;color:var(--gray-500)}.messages-container{display:flex;height:calc(100vh - 180px);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--gray-200);background:var(--white)}.contacts-panel{width:260px;flex-shrink:0;border-right:1px solid var(--gray-100);overflow-y:auto;display:flex;flex-direction:column}.contacts-panel h3{padding:1rem;font-size:1rem;font-weight:600;border-bottom:1px solid var(--gray-100)}.contact-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;cursor:pointer;transition:background .1s}.contact-item:hover{background:var(--gray-50)}.contact-item.active{background:var(--teal-50)}.contact-name{font-size:.9375rem;font-weight:500}.contact-role{font-size:.75rem;color:var(--gray-500);text-transform:capitalize}.thread-status{display:inline-block;margin-top:.25rem;padding:.1rem .45rem;border-radius:999px;font-size:.6875rem;font-weight:700}.thread-status-new{background:var(--rose-100);color:var(--rose-600)}.thread-status-assigned{background:var(--teal-100);color:var(--teal-800)}.thread-status-closed{background:var(--gray-100);color:var(--gray-500)}.chat-panel{flex:1;display:flex;flex-direction:column;min-width:0}.chat-header{padding:1rem;border-bottom:1px solid var(--gray-100)}.chat-header strong{display:block;font-size:1rem}.chat-header span{font-size:.8125rem;color:var(--gray-500);text-transform:capitalize}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.625rem}.message{max-width:70%;display:flex;flex-direction:column}.message p{padding:.625rem .875rem;border-radius:var(--radius);font-size:.9375rem;word-break:break-word}.message small{font-size:.75rem;color:var(--gray-400);margin-top:.2rem}.message.sent{align-self:flex-end;align-items:flex-end}.message.sent p{background:var(--teal-600);color:#fff;border-radius:var(--radius) var(--radius) 4px var(--radius)}.message.received{align-self:flex-start;align-items:flex-start}.message.received p{background:var(--gray-100);color:var(--gray-900);border-radius:var(--radius) var(--radius) var(--radius) 4px}.chat-input{display:flex;gap:.5rem;padding:.875rem;border-top:1px solid var(--gray-100)}.chat-input input{flex:1;padding:.625rem .875rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.9375rem;font-family:var(--font-sans)}.chat-input input:focus{outline:none;border-color:var(--teal-500)}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:.9375rem}.appointments-list h2,.appointments-tab h2{margin-bottom:1rem;font-size:1.25rem;font-weight:600}.appointments-list h3,.appointments-tab h3{margin:1rem 0 .75rem;font-size:1rem;font-weight:600;color:var(--gray-700)}.appt-card{background:var(--white);border-radius:var(--radius);padding:1rem;border:1px solid var(--gray-100);box-shadow:var(--shadow-sm);margin-bottom:.75rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.appt-card strong{display:block;font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.appt-card p{font-size:.875rem;color:var(--gray-600)}.appt-card-body{flex:1;min-width:0}.appt-card-compact{margin-bottom:0;padding:.875rem}.appointment-stack{display:flex;flex-direction:column;gap:.75rem}.appointment-stack .appt-card{margin-bottom:0}.appt-status-scheduled{border-left:3px solid var(--teal-600)}.appt-status-confirmed{border-left:3px solid var(--green-600)}.appt-status-completed{border-left:3px solid var(--gray-300)}.appt-status-cancelled{border-left:3px solid var(--red-600)}.appt-status-no_show{border-left:3px solid var(--amber-500)}.appt-meta-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.5rem}.appt-notes{font-size:.8125rem;color:var(--gray-500);margin-top:.375rem;font-style:italic}.appt-actions{display:flex;gap:.5rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.appt-form{margin-bottom:1.5rem}.tab-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.tab-header h2{font-size:1.25rem;font-weight:600;flex:1}.status-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-scheduled{background:var(--teal-100);color:var(--teal-700)}.status-confirmed{background:var(--green-100);color:var(--green-600)}.status-completed{background:var(--gray-100);color:var(--gray-600)}.status-cancelled{background:var(--red-100);color:var(--red-600)}.status-no_show{background:var(--amber-100);color:#92400e}.reminder-badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.reminder-sent{background:var(--green-100);color:var(--green-600)}.reminder-pending{background:var(--amber-100);color:#92400e}.notif-item{padding:.75rem;border-bottom:1px solid var(--gray-100);cursor:pointer}.notif-item:hover{background:var(--gray-50)}.notif-item strong{display:block;font-size:.9375rem}.notif-item p{font-size:.875rem;color:var(--gray-600);margin-top:.2rem}.notif-item small{font-size:.75rem;color:var(--gray-400)}.appt-item{padding:.75rem;border-bottom:1px solid var(--gray-100)}.appt-item strong{display:block;font-size:.9375rem;font-weight:600}.appt-item p{font-size:.875rem;color:var(--gray-600)}.hospitals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.hospital-card h3{font-size:1rem;font-weight:600}.hospital-card-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem}.hospital-icon{font-size:1.5rem;flex-shrink:0}.hospital-details p{font-size:.875rem;color:var(--gray-600);margin-bottom:.2rem}.status-dot{width:10px;height:10px;border-radius:50%;margin-left:auto;flex-shrink:0}.status-dot.active{background:var(--green-600)}.status-dot.inactive{background:var(--gray-400)}.status-dot-inline{font-size:.8125rem;font-weight:500}.status-dot-inline.active{color:var(--green-600)}.status-dot-inline.inactive{color:var(--gray-500)}.role-badge{background:var(--teal-100);color:var(--teal-800);padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize}.filter-group{display:flex;gap:.375rem}.filter-btn{padding:.375rem .875rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;font-size:.875rem;color:var(--gray-700)}.filter-btn.active{background:var(--teal-600);color:var(--white);border-color:var(--teal-600)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--gray-400)}.empty-msg{color:var(--gray-400);font-size:.9375rem;padding:1rem 0}.subtitle{color:var(--gray-500);font-size:.9375rem;margin-bottom:1.5rem}.record-form-container{max-width:600px}.record-form-container h2{font-size:1.25rem;font-weight:700;margin-bottom:.25rem}.record-form{margin-top:1.5rem}.form-card{max-width:600px}.alerts-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.alerts-header h2{font-size:1.25rem;font-weight:600;flex:1}.alerts-list{display:flex;flex-direction:column}@media (max-width: 640px){.dashboard-content{padding:1rem}.input-row{grid-template-columns:1fr}.trust-header{align-items:flex-start;flex-direction:column}.trust-nav{justify-content:flex-start;gap:.55rem .75rem}.trust-main{width:min(100% - 1rem,430px);padding-top:1rem}.trust-card{border-radius:22px;padding:1rem}.trust-footer{width:min(100% - 1rem,430px);flex-direction:column}.messages-container{height:calc(100vh - 160px)}.contacts-panel{width:80px}.contact-name,.contact-role{display:none}.overview-grid{grid-template-columns:1fr 1fr}.trend-grid{grid-template-columns:1fr}.trends-header{align-items:flex-start;flex-direction:column;gap:.25rem}.safety-actions,.urgent-warning-card,.tool-form-grid,.medication-item{grid-template-columns:1fr}.medication-actions{justify-content:stretch}.medication-actions .btn{flex:1}.staff-safety-header,.severe-alert-main,.daily-risk-item,.staff-note-input,.staff-performance-item,.permissions-grid{grid-template-columns:1fr}.staff-performance-metrics{justify-content:flex-start}.admin-metric-grid,.staff-control-summary,.summary-mini-grid,.export-actions{grid-template-columns:1fr}.critical-alert-banner,.patient-urgent-feedback{grid-template-columns:1fr;align-items:stretch}.critical-alert-banner{flex-direction:column;align-items:flex-start}.critical-alert-banner .btn,.urgent-feedback-actions .btn,.urgent-feedback-actions .emergency-call-missing,.urgent-feedback-actions .emergency-call-missing .btn{width:100%}.notification-center-panel{position:fixed;left:.5rem;right:.5rem;top:calc(5rem + env(safe-area-inset-top));width:auto}.urgent-feedback-actions{justify-content:stretch}.staff-safety-header{display:grid}.severe-bp-value{text-align:left}.severe-alert-actions,.daily-risk-actions,.patient-contact-actions{align-items:stretch}.severe-alert-actions .btn,.daily-risk-actions .btn,.patient-contact-actions .btn{flex:1 1 130px}.bp-guide-backdrop{align-items:flex-end;padding:.75rem}.appt-card{flex-direction:column}.appt-actions{width:100%;justify-content:flex-start}.patients-grid{grid-template-columns:1fr}.tab-btn span{display:none}.patient-header-card{flex-direction:column}.patient-meta{margin-left:0;text-align:left}}.signout-btn-inline{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.3rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;cursor:pointer;font-family:var(--font-sans)}.signout-btn-inline:hover{background:#ffffff40}:root{--teal-900: #063f3d;--teal-800: #0d5b57;--teal-700: #0e766f;--teal-600: #11998e;--teal-500: #19b8aa;--teal-100: #dff7f2;--teal-50: #f0fbf8;--rose-600: #c24168;--rose-400: #f08aa8;--rose-100: #ffe4ec;--rose-50: #fff5f8;--gray-900: #10201f;--gray-700: #3b5350;--gray-500: #71817e;--gray-300: #d5dfdc;--gray-100: #edf3f1;--gray-50: #f7fbf9;--shadow-sm: 0 8px 24px rgba(13, 91, 87, .07);--shadow: 0 14px 36px rgba(13, 91, 87, .1);--shadow-md: 0 18px 48px rgba(13, 91, 87, .14);--radius-sm: 14px;--radius: 20px;--radius-lg: 26px;--radius-xl: 32px}html,body,#root{width:100%;max-width:100%;min-height:100%;overflow-x:hidden}body{background:linear-gradient(180deg,#f1fbf8,#fff7fa 42%,#f7fbf9);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}.app-icon{flex:0 0 auto;vertical-align:middle}.brand-mark{width:48px;height:48px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--teal-600),var(--rose-400));box-shadow:0 12px 24px #11998e38}.auth-container{align-items:flex-start;padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1.25rem + env(safe-area-inset-bottom));background:linear-gradient(180deg,#eafaf6,#fff6f9 52%,#f7fbf9);overflow-y:auto}.auth-card{max-width:430px;padding:1.25rem;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow-md)}.auth-logo{margin-bottom:1.35rem}.auth-logo .brand-mark{margin-bottom:.85rem}.auth-logo h1{font-size:1.65rem;letter-spacing:0}.auth-logo p{font-size:.95rem}.auth-mode-toggle{border-radius:20px;padding:.35rem;background:#f1f6f4}.auth-mode-toggle button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border-radius:16px;font-size:.95rem}.auth-form h2{font-size:1.18rem;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:center;gap:.4rem;font-size:.84rem;font-weight:700;color:var(--gray-700)}.form-group input,.form-group select,.form-group textarea,.search-input,.chat-input input{min-height:52px;border-radius:16px;border:1.5px solid #dbe6e3;background:#fbfefd;font-size:1rem}.form-group textarea{min-height:96px}.btn,.btn-sm,.btn-lg,.signout-btn-inline,.alert-badge,.msg-badge,.notification-opt-in{min-height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:700}.btn{padding:.72rem 1rem}.btn-sm{padding:.55rem .85rem;font-size:.84rem}.btn-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:var(--teal-700);font-weight:700}.dashboard-header{position:sticky;top:0;z-index:30;padding:calc(.95rem + env(safe-area-inset-top)) 1rem 1rem;border-bottom-left-radius:28px;border-bottom-right-radius:28px;background:linear-gradient(135deg,var(--teal-800),var(--teal-600));box-shadow:0 18px 38px #063f3d2e;flex-wrap:wrap}.header-left{min-width:0}.header-left h1{font-size:1.15rem}.header-left p{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-right,.header-badges{min-width:0;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.signout-btn-inline,.notification-opt-in{background:#ffffff29;border:1px solid rgba(255,255,255,.34)}.icon-btn{width:48px;height:48px;border-radius:16px;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:#ffffff24}.notification-status{min-height:44px;max-width:min(100%,320px);border-radius:16px}.dashboard-content{width:100%;max-width:980px;padding:1rem}.patient-dashboard{background:linear-gradient(180deg,#f1fbf8,#fff7fa 48%,#f8fbfa)}.patient-dashboard .dashboard-header,.patient-dashboard .dashboard-content{width:100%;max-width:430px;margin-left:auto;margin-right:auto}.patient-dashboard .dashboard-content{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.tab-nav{gap:.35rem;padding:.65rem 1rem;background:#ffffffeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.tab-btn{min-height:52px;border-radius:18px;border-bottom:0;padding:.65rem .8rem;gap:.45rem}.tab-btn.active{background:var(--teal-50);color:var(--teal-800);border-bottom-color:transparent}.tab-icon{color:currentColor}.patient-bottom-nav{position:fixed;left:50%;bottom:calc(.75rem + env(safe-area-inset-bottom));transform:translate(-50%);z-index:60;width:min(430px,calc(100% - 1rem));border:1px solid rgba(213,223,220,.8);border-radius:26px;box-shadow:0 18px 45px #10201f29;justify-content:space-around;overflow:visible}.patient-bottom-nav .tab-btn{flex:1;min-width:0;min-height:58px;flex-direction:column;gap:.16rem;padding:.38rem .18rem;font-size:.69rem}.patient-bottom-nav .tab-btn span{display:block}.patient-bottom-nav .tab-badge{position:absolute;top:.25rem;right:18%}.overview-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:.9rem}.patient-dashboard .overview-grid{grid-template-columns:1fr}.card,.stat-card,.vitals-trends,.trend-card,.history-card,.patient-card,.appt-card,.form-section,.patient-summary-report,.summary-field,.hospital-card{border-radius:var(--radius);border:1px solid rgba(213,223,220,.72);box-shadow:var(--shadow-sm);background:#fffffff5}.card h3,.form-section h3,.trends-header h3,.appointments-list h2,.appointments-tab h2,.history-list h2,.patients-header h2,.tab-header h2{display:flex;align-items:center;gap:.45rem;font-size:1.08rem;letter-spacing:0}.stat-card{min-height:116px;padding:1rem;align-items:center}.stat-icon{width:52px;height:52px;border-radius:19px;display:inline-flex;align-items:center;justify-content:center;color:var(--teal-700);background:var(--teal-50);font-size:1.25rem}.stat-red .stat-icon{color:var(--red-600);background:var(--red-50)}.stat-yellow .stat-icon{color:#92400e;background:var(--amber-50)}.stat-green .stat-icon{color:var(--green-600);background:var(--green-50)}.stat-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.02em}.stat-value{font-size:1.65rem}.record-form-container,.form-card{max-width:430px;margin-left:auto;margin-right:auto}.form-section{padding:1rem;background:#fffffff5}.symptom-grid{gap:.55rem}.symptom-chip{min-height:48px;border-radius:16px;padding:.55rem .8rem;background:#fff}.bp-preview,.form-error,.success-inline{border-radius:16px}.alert-row,.alert-card,.notif-item,.summary-list-item{border-radius:18px}.alert-chip,.risk-badge,.risk-badge-sm,.level-badge,.status-badge,.reminder-badge,.role-badge,.thread-status{border-radius:999px;letter-spacing:0}.patients-grid,.hospitals-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.patient-card{min-height:92px}.patient-avatar,.contact-avatar{width:44px;height:44px;background:var(--teal-50)}.patient-avatar-lg{background:var(--teal-50)}.inline-meta,.stat-chip{display:inline-flex;align-items:center;gap:.35rem}.messages-container{border-radius:24px;border:1px solid rgba(213,223,220,.76);box-shadow:var(--shadow-sm)}.contacts-panel h3,.chat-header{background:#fbfefd}.contact-item{min-height:64px;border-radius:16px}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.message p{border-radius:20px;line-height:1.45}.message.sent p{background:linear-gradient(135deg,var(--teal-700),var(--teal-500));border-radius:20px 20px 6px}.message.received p{background:#eef5f3;border-radius:20px 20px 20px 6px}.chat-input{align-items:center;background:#fbfefd}.appt-card{align-items:stretch}.appt-actions{gap:.5rem}.vitals-table,.summary-table{table-layout:fixed;width:100%}.vitals-table th,.vitals-table td,.summary-table th,.summary-table td{overflow-wrap:anywhere}@media (max-width: 720px){.auth-card{padding:1.1rem}.dashboard-header{align-items:flex-start}.header-right,.header-badges{width:100%;justify-content:flex-start}.hospital-dashboard:not(.patient-dashboard) .dashboard-content{padding-bottom:1.25rem}.hospital-dashboard:not(.patient-dashboard) .tab-nav{min-height:74px;padding-inline:.75rem}.hospital-dashboard:not(.patient-dashboard) .tab-btn{flex-direction:column;min-width:82px;font-size:.72rem}.hospital-dashboard:not(.patient-dashboard) .tab-btn span{display:block}.input-row{grid-template-columns:1fr;gap:0}.overview-grid,.trend-grid,.summary-grid{grid-template-columns:1fr}.patients-header,.tab-header,.alerts-header,.summary-report-header,.patient-header-card{flex-direction:column;align-items:stretch}.search-input{width:100%;min-width:0}.messages-container{height:auto;min-height:calc(100dvh - 230px);flex-direction:column;gap:.75rem;border:0;box-shadow:none;background:transparent;overflow:visible}.contacts-panel{width:100%;max-width:100%;min-height:auto;flex-direction:row;gap:.5rem;border:1px solid rgba(213,223,220,.76);border-radius:22px;background:#fff;padding:.55rem;overflow-x:auto}.contacts-panel h3{display:none}.contact-item{min-width:190px;background:var(--gray-50)}.contact-name,.contact-role{display:block}.chat-panel{min-height:58vh;border:1px solid rgba(213,223,220,.76);border-radius:22px;background:#fff;overflow:hidden}.message{max-width:88%}.chat-input{padding:.65rem}.chat-input input{min-width:0}.vitals-table,.vitals-table thead,.vitals-table tbody,.vitals-table tr,.vitals-table td,.summary-table,.summary-table thead,.summary-table tbody,.summary-table tr,.summary-table td{display:block;width:100%}.vitals-table thead,.summary-table thead{display:none}.vitals-table tr,.summary-table tr{margin-bottom:.75rem;padding:.75rem;border:1px solid rgba(213,223,220,.76);border-radius:18px;background:#fff;box-shadow:var(--shadow-sm)}.vitals-table td,.summary-table td{padding:.35rem 0;border-bottom:0;color:var(--gray-700)}.appt-card{flex-direction:column}.appt-actions,.patient-detail-actions{width:100%;justify-content:stretch}.appt-actions .btn,.patient-detail-actions .btn{flex:1 1 auto}}@media (min-width: 900px){body.app-desktop-web{background:linear-gradient(180deg,#eefaf6,#fbf7fa 42%,#f7fbf9)}body.app-desktop-web .auth-container{align-items:center;padding:2rem}body.app-desktop-web .auth-card{max-width:520px;padding:2rem}body.app-desktop-web .auth-card:has(.input-row){max-width:640px}body.app-desktop-web .hospital-dashboard,body.app-desktop-web .patient-dashboard{align-items:center;background:linear-gradient(180deg,#eefaf6,#fff8fb 48%,#f7fbf9)}body.app-desktop-web .dashboard-header,body.app-desktop-web .tab-nav,body.app-desktop-web .dashboard-content,body.app-desktop-web .patient-dashboard .dashboard-header,body.app-desktop-web .patient-dashboard .dashboard-content{width:100%;max-width:1180px}body.app-desktop-web .dashboard-header{position:sticky;top:0;margin-inline:auto;padding:1rem 1.25rem;border-radius:0 0 28px 28px;align-items:center}body.app-desktop-web .header-left p{max-width:520px}body.app-desktop-web .header-right,body.app-desktop-web .header-badges{width:auto;justify-content:flex-end;margin-left:auto}body.app-desktop-web .tab-nav{position:sticky;top:80px;z-index:25;margin-inline:auto;justify-content:flex-start;border-radius:0 0 24px 24px;border:1px solid rgba(213,223,220,.7);border-top:0;box-shadow:var(--shadow-sm);overflow-x:auto}body.app-desktop-web .patient-bottom-nav{left:auto;bottom:auto;transform:none;box-shadow:var(--shadow-sm)}body.app-desktop-web .patient-bottom-nav .tab-btn,body.app-desktop-web .tab-btn{flex:0 0 auto;min-width:128px;min-height:54px;flex-direction:row;gap:.45rem;padding:.7rem .95rem;font-size:.9rem}body.app-desktop-web .patient-bottom-nav .tab-badge{position:static}body.app-desktop-web .dashboard-content,body.app-desktop-web .patient-dashboard .dashboard-content{padding:1.5rem 1.25rem 2rem}body.app-desktop-web .overview-grid,body.app-desktop-web .patient-dashboard .overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.app-desktop-web .full-width{grid-column:1 / -1}body.app-desktop-web .trend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.app-desktop-web .record-form-container,body.app-desktop-web .form-card{max-width:760px}body.app-desktop-web .patients-grid,body.app-desktop-web .hospitals-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.app-desktop-web .messages-container{height:calc(100vh - 220px);min-height:520px;flex-direction:row;overflow:hidden;background:var(--white);border:1px solid rgba(213,223,220,.76);box-shadow:var(--shadow-sm)}body.app-desktop-web .contacts-panel{width:300px;max-width:300px;flex-direction:column;border-right:1px solid var(--gray-100);border-radius:0;padding:0;overflow-y:auto;overflow-x:hidden}body.app-desktop-web .contacts-panel h3{display:block}body.app-desktop-web .contact-item{min-width:0;border-radius:0;background:transparent}body.app-desktop-web .chat-panel{min-height:0;border:0;border-radius:0}body.app-desktop-web .chat-messages{min-height:0}body.app-desktop-web .message{max-width:70%}body.app-desktop-web .vitals-table,body.app-desktop-web .summary-table{display:table;width:100%;table-layout:auto}body.app-desktop-web .vitals-table thead,body.app-desktop-web .summary-table thead{display:table-header-group}body.app-desktop-web .vitals-table tbody,body.app-desktop-web .summary-table tbody{display:table-row-group}body.app-desktop-web .vitals-table tr,body.app-desktop-web .summary-table tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}body.app-desktop-web .vitals-table th,body.app-desktop-web .vitals-table td,body.app-desktop-web .summary-table th,body.app-desktop-web .summary-table td{display:table-cell;width:auto;padding:.625rem .75rem}body.app-desktop-web .appt-card{flex-direction:row}body.app-desktop-web .appt-actions,body.app-desktop-web .patient-detail-actions{width:auto;justify-content:flex-end}body.app-desktop-web .appt-actions .btn,body.app-desktop-web .patient-detail-actions .btn{flex:0 0 auto}body.app-desktop-web .patient-header-card,body.app-desktop-web .summary-report-header,body.app-desktop-web .tab-header,body.app-desktop-web .patients-header,body.app-desktop-web .alerts-header{flex-direction:row;align-items:center}body.app-desktop-web .search-input{max-width:420px}}body.app-mobile-shell .patient-bottom-nav{position:fixed}@media print{body{background:#fff;color:#111827}.dashboard-header,.tab-nav,.no-print,.patient-detail>.back-btn,.patient-detail>.patient-header-card,.patient-detail>.active-alerts,.patient-detail>.vitals-history{display:none!important}.hospital-dashboard,.dashboard-content,.patient-detail{display:block;max-width:none;width:100%;margin:0;padding:0;overflow:visible}.patient-summary-report{border:0;box-shadow:none;border-radius:0;margin:0;padding:0}.summary-report-header,.summary-section{break-inside:avoid;page-break-inside:avoid}.summary-field,.summary-list-item,.summary-table th,.summary-table td{border-color:#d1d5db}.summary-field,.summary-list-item,.summary-table th{background:#f9fafb}}
