/* ONMD — physician-ready mobile-first styles */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --void:#060810; --deep:#0b0f1e; --surface:#111827; --panel:#161d2e; --card:#1a2235;
  --teal:#00e5c8; --amber:#f59e0b; --rose:#f43f5e; --sky:#38bdf8; --violet:#818cf8;
  --text-primary:#f1f5f9; --text-secondary:#94a3b8; --text-muted:#475569;
  --border:rgba(255,255,255,0.06); --border-bright:rgba(255,255,255,0.12);
  --glass-bg:rgba(22,29,46,0.85); --global-header-h:48px; --header-h:48px; --bottom-nav-h:64px;
  --radius:10px; --radius-lg:16px; --tap:44px;
  /* Clinical semantic colors — one meaning per color */
  --clinical-critical:#DC2626;
  --clinical-warning:#D97706;
  --clinical-trend:#6366F1;
  --clinical-revenue:#0D9488;
  --clinical-action:#0D9488;
}

[hidden] { display: none !important; }

html, body { height:100%; background:var(--void); color:var(--text-primary);
  font-family:'Syne',system-ui,sans-serif; font-size:15px; line-height:1.5; overflow-x:hidden; }
body { padding-top:var(--global-header-h); }

body::before { display:none; }

.aurora { position:fixed; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
.aurora-blob { position:absolute; border-radius:50%; filter:blur(120px); opacity:0.1; }
.aurora-blob:nth-child(1){ width:500px;height:500px;background:var(--teal);top:-150px;left:-80px; }
.aurora-blob:nth-child(2){ width:400px;height:400px;background:var(--violet);top:20%;right:-100px; }
.aurora-blob:nth-child(3){ width:350px;height:350px;background:var(--rose);bottom:-80px;left:25%; }

/* Screens */
.screen { display:none; position:relative; z-index:1; min-height:100vh; min-height:100dvh; }
.screen.active { display:flex; flex-direction:column; }
body.in-app { padding-bottom:var(--bottom-nav-h); scroll-padding-top:calc(var(--header-h) + env(safe-area-inset-top, 0px)); }

/* Global header */
.app-header { position:fixed; top:0; left:0; right:0; z-index:1000; height:var(--global-header-h);
  background:#060810; border-bottom:1px solid #0D9488; display:flex; align-items:center;
  justify-content:space-between; padding:0 12px; padding-top:env(safe-area-inset-top,0); }
.app-header-left { display:flex; align-items:center; min-width:0; }
.app-header-logo { width:32px; height:32px; display:block; flex-shrink:0; }
.app-header-brand { margin-left:8px; font-size:16px; font-weight:700; color:#fff; letter-spacing:.02em; }
.app-header-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.header-status { display:flex; align-items:center; gap:6px; font-size:10px; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:#86efac; }
.header-status-dot { width:8px; height:8px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 6px rgba(34,197,94,0.65); flex-shrink:0; }
.header-btn { min-height:32px; min-width:44px; padding:0 .75rem; background:rgba(255,255,255,0.05);
  border:1px solid var(--border-bright); color:var(--text-secondary); border-radius:8px;
  font-size:12px; font-weight:600; cursor:pointer; font-family:'Syne',sans-serif; }

/* Banners — hidden by default; shown only via JS when needed */
.banner { position:fixed; top:var(--global-header-h); left:0; right:0; z-index:200; display:none; align-items:center;
  justify-content:center; padding:.4rem 1rem; font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.banner.is-visible { display:flex; }
.banner-pitch { background:linear-gradient(90deg,#7c3aed,#4f46e5); color:#fff; }
.banner-live { background:rgba(34,197,94,0.16); color:#86efac; font-weight:600; font-size:.78rem;
  letter-spacing:.02em; text-transform:none; border-bottom:1px solid rgba(34,197,94,0.35); gap:.5rem; }
.banner-network { background:rgba(56,189,248,0.07); color:rgba(241,245,249,0.62); font-size:.72rem;
  font-weight:500; letter-spacing:.01em; text-transform:none; border-bottom:1px solid rgba(56,189,248,0.15); }
.banner-info-btn { background:transparent; border:1px solid rgba(134,239,172,0.4); color:#86efac;
  border-radius:50%; width:22px; height:22px; font-size:.72rem; cursor:pointer; flex-shrink:0; line-height:1; padding:0; }
.banner-info-btn:hover { background:rgba(34,197,94,0.15); }
.banner-demo { background:rgba(13,148,136,0.12); color:rgba(241,245,249,0.72);
  font-size:.65rem; font-weight:500; letter-spacing:.01em; text-transform:none;
  padding:.3rem .85rem; border-bottom:1px solid rgba(13,148,136,0.18); }
.banner-offline { background:var(--amber); color:#000; }
.banner-pitch.is-visible ~ .screen.active, .banner-demo.is-visible ~ .screen.active,
.banner-live.is-visible ~ .screen.active, .banner-network.is-visible ~ .screen.active { padding-top:22px; }
.specialty-live-msg { display:none; margin:0; padding:.65rem 1rem; font-size:.82rem; line-height:1.45;
  color:var(--teal); background:rgba(0,229,200,0.06); border-bottom:1px solid var(--border); }
.no-gaps-note { color:var(--text-secondary); font-size:.85rem; line-height:1.5; padding:1rem 0; }

/* Toast */
.toast { position:fixed; bottom:calc(var(--bottom-nav-h) + 12px); left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--panel); border:1px solid var(--border-bright); padding:.65rem 1.1rem; border-radius:10px;
  font-size:.82rem; z-index:500; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; max-width:90vw; text-align:center; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }
.toast-success { border-color:rgba(0,229,200,0.4); color:var(--teal); }
.toast-info { border-color:rgba(56,189,248,0.3); }

/* Landing — Inter for reliable descenders (Syne clips g/y/p on Windows) */
#screen-landing { font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; }
#screen-landing .landing-stat-val,
#screen-landing .hospital-stat-val { font-family:'JetBrains Mono',monospace; }

#screen-landing { align-items:center; justify-content:flex-start; padding:1.5rem 1.25rem 2rem; }
.landing-shell { width:100%; max-width:420px; margin:0 auto; }
.landing-panel-left, .landing-panel-right { display:none; }
.phone-caption { display:none; }
.phone-frame { width:100%; }
.phone-status-bar { display:none; }
.phone-screen { width:100%; }
.landing-inner { max-width:420px; width:100%; text-align:center; margin:0 auto; }
.landing-hero { font-size:clamp(1.75rem,6.5vw,2.35rem); font-weight:700;
  line-height:1.55; margin:0 0 .85rem; letter-spacing:-.02em; overflow:visible;
  padding-bottom:.08em; }
.landing-hero-primary { color:#fff; }
.landing-hero-accent { color:#2DD4BF; display:inline-block; padding-bottom:.06em; }
.landing-tagline-sub { font-size:.92rem; color:var(--text-secondary); margin-bottom:2rem; line-height:1.7; }
.landing-foot { font-size:.78rem; color:var(--text-muted); margin-top:1.25rem; }
.compliance-disclaimer { font-size:.72rem; line-height:1.55; color:var(--text-muted); max-width:36rem; margin:1rem auto 0; }
.landing-compliance { padding:0 1rem; }
.site-footer { padding:1rem 1.25rem 5.5rem; text-align:center; border-top:1px solid var(--border); background:rgba(6,8,16,0.85); }
.landing-stats { display:flex; flex-direction:column; gap:.85rem; margin-bottom:2rem; text-align:left; }
.landing-stat { background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:1rem; }
.landing-stat-val { font-size:1.25rem; font-weight:800; color:var(--teal); font-family:'JetBrains Mono',monospace; }
.landing-stat-lbl { font-size:.78rem; color:var(--text-muted); margin-top:.2rem; }
.landing-foot { font-size:.75rem; color:var(--text-muted); margin-top:1.25rem; }
.btn-help { font-size:.82rem; margin-top:.25rem; color:var(--sky); }

/* Modals */
.modal-overlay { display:none; position:fixed; inset:0; z-index:400; background:rgba(6,8,16,0.88);
  backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:1.25rem; }
.modal-overlay.open { display:flex; }
.modal-card { background:var(--panel); border:1px solid var(--border-bright); border-radius:var(--radius-lg);
  padding:1.5rem; max-width:420px; width:100%; box-shadow:0 24px 80px rgba(0,0,0,0.5); }
.modal-title { font-size:1.1rem; font-weight:800; margin-bottom:.75rem; }
.modal-body { font-size:.88rem; color:var(--text-secondary); line-height:1.65; margin-bottom:1rem; }
.modal-body ol { margin:.75rem 0 .75rem 1.1rem; }
.modal-body li { margin-bottom:.5rem; }
.modal-countdown { font-size:.75rem; color:var(--teal); font-family:'JetBrains Mono',monospace; text-align:center; }
.help-body p { margin-bottom:.65rem; }
.modal-card .btn-primary, .modal-card .btn-secondary { margin-bottom:.5rem; }

.btn-primary, .btn-secondary, .btn-ghost, .btn-lg {
  display:flex; align-items:center; justify-content:center; width:100%;
  min-height:var(--tap); border-radius:10px; font-family:'Syne',sans-serif;
  font-weight:700; font-size:.95rem; cursor:pointer; border:none; transition:opacity .15s; margin-bottom:.65rem; }
.btn-primary { background:linear-gradient(135deg,var(--teal),var(--sky)); color:var(--void); }
.btn-secondary { background:rgba(255,255,255,0.06); border:1px solid var(--border-bright); color:var(--text-primary); }
.btn-ghost { background:transparent; color:var(--text-muted); min-height:var(--tap); }
.btn-primary:active, .btn-secondary:active { opacity:.85; }

/* NPI */
#screen-npi { padding:2rem 1.25rem; align-items:center; }
.npi-inner { max-width:420px; width:100%; }
.back-link { background:none; border:none; color:var(--text-muted); font-size:.85rem; cursor:pointer; min-height:var(--tap); margin-bottom:1rem; }
.npi-title { font-size:1.5rem; font-weight:800; margin-bottom:.35rem; }
.npi-sub { color:var(--text-secondary); font-size:.88rem; margin-bottom:1.25rem; }
.npi-input { width:100%; min-height:var(--tap); background:var(--surface); border:1px solid var(--border-bright);
  color:var(--text-primary); font-size:1rem; padding:0 1rem; border-radius:10px; margin-bottom:.75rem; outline:none; }
.npi-input:focus { border-color:rgba(0,229,200,0.45); }
.npi-error { color:var(--rose); font-size:.82rem; margin-bottom:.75rem; }
.npi-welcome { color:var(--teal); font-size:.88rem; font-weight:600; margin-bottom:.75rem; }
.npi-profile { margin:.75rem 0 1rem; padding:.85rem 1rem; background:var(--surface-2); border:1px solid var(--border); border-radius:10px; text-align:center; }
.npi-profile-name { font-size:1.05rem; font-weight:700; color:var(--text-primary); margin:0 0 .25rem; }
.npi-profile-spec { font-size:.82rem; color:var(--text-secondary); margin:0; }

.last-update { display:none; font-size:.65rem; color:var(--text-muted); font-family:'JetBrains Mono',monospace;
  padding:.35rem 1rem; text-align:right; border-bottom:1px solid var(--border); }
body.in-app .last-update:not(:empty) { display:block; }

.physician-greeting { padding:.75rem 1rem; font-size:.85rem; color:var(--teal); background:rgba(0,229,200,0.06);
  border-bottom:1px solid rgba(0,229,200,0.15); }

/* Peer dashboard */
.peer-dashboard { margin:0 1rem 1rem; background:var(--panel); border:1px solid var(--border); border-radius:var(--radius-lg); padding:1rem 1.15rem; }
.peer-title { font-size:.95rem; font-weight:800; margin-bottom:.15rem; }
.peer-sub { font-size:.68rem; color:var(--text-muted); margin-bottom:1rem; line-height:1.5; }
.peer-metric { margin-bottom:.85rem; }
.peer-metric-label { font-size:.72rem; font-weight:600; color:var(--text-secondary); margin-bottom:.35rem; display:flex; justify-content:space-between; }
.peer-bar-track { height:8px; background:var(--surface); border-radius:4px; position:relative; overflow:hidden; }
.peer-bar-fill { height:100%; border-radius:4px; background:linear-gradient(90deg,var(--teal),var(--sky)); }
.peer-bar-avg { position:absolute; top:-2px; width:2px; height:12px; background:var(--text-muted); border-radius:1px; }
.peer-note { font-size:.62rem; color:var(--text-muted); margin-top:.75rem; font-style:italic; }

/* Outcome summary */
.outcome-summary { margin:0 1rem 1rem; padding:1rem 1.15rem; background:linear-gradient(135deg,rgba(0,229,200,0.08),rgba(56,189,248,0.06));
  border:1px solid rgba(0,229,200,0.25); border-radius:var(--radius-lg); font-size:.88rem; color:var(--text-secondary); }
.outcome-summary strong { color:var(--teal); }

/* Alert action button — compact CTA, revenue teal only */
.alert-action-btn { display:flex; align-items:center; justify-content:center; width:100%;
  min-height:31px; padding:.45rem 1rem; margin-top:.85rem;
  background:var(--clinical-action); color:#fff;
  border:none; border-radius:8px; font-family:'Syne',sans-serif; font-weight:700; font-size:.82rem; cursor:pointer; }
.alert-action-btn:active { opacity:.88; }
.alert-decision-row { display:flex; gap:8px; margin:10px 0 6px; flex-wrap:wrap; }
.alert-decision-btn { flex:1; min-width:72px; min-height:var(--tap); padding:8px 10px; border-radius:8px;
  font-size:11px; font-weight:600; cursor:pointer; border:1px solid var(--border); background:var(--surface-2); color:var(--text); }
.alert-decision-btn.accept { border-color:rgba(0,229,200,.4); color:var(--teal); }
.alert-decision-btn.dismiss { border-color:rgba(251,191,36,.35); color:var(--amber); }
.alert-decision-btn.na { border-color:var(--border); color:var(--text-muted); }
.dismiss-reason-select { width:100%; margin-bottom:8px; padding:8px; border-radius:8px;
  background:var(--surface-2); border:1px solid var(--border); color:var(--text); font-size:11px; }
.alert-family-badge { font-size:10px; font-weight:600; letter-spacing:.04em; text-transform:uppercase; color:var(--sky); background:rgba(56,189,248,.12); padding:3px 8px; border-radius:999px; margin-left:auto; }
.alert-title-meta { font-size:12px; font-weight:600; color:var(--sky); margin:4px 0 6px; }
.alert-card-head-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.alert-related-toggle { font-size:11px; padding:6px 10px; margin:6px 0; color:var(--sky); background:transparent; border:1px solid rgba(56,189,248,.35); border-radius:6px; cursor:pointer; width:100%; text-align:left; }
.alert-related-list { margin:6px 0 10px; padding:8px 10px; background:rgba(6,8,16,.5); border-radius:8px; border:1px solid var(--border); }
.alert-related-item { font-size:11px; color:var(--text-muted); padding:6px 0; border-bottom:1px solid var(--border); }
.alert-related-item:last-child { border-bottom:none; }
.alert-related-item strong { color:var(--text); display:block; margin-bottom:2px; }
.alert-trend-badge { font-size:.58rem; font-weight:700; padding:.18rem .45rem; border-radius:4px;
  background:rgba(99,102,241,0.15); color:var(--clinical-trend); text-transform:uppercase; letter-spacing:.04em; }

.vital-rate { font-size:.62rem; color:var(--text-muted); font-family:'JetBrains Mono',monospace; margin-top:.2rem; }
.vital-trend-worsening { color:var(--rose) !important; }

/* Skeleton */
.skeleton-wrap { padding:1rem; }
.skeleton-card { height:88px; background:linear-gradient(90deg,var(--surface),var(--panel),var(--surface));
  background-size:200% 100%; animation:shimmer 1.2s infinite; border-radius:var(--radius); margin-bottom:.65rem; }
@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

.error-recovery { display:none; flex-direction:column; align-items:center; justify-content:center; padding:3rem 1.5rem; text-align:center; gap:1rem; min-height:50vh; }
.error-recovery.is-visible { display:flex; }
.error-recovery p { color:var(--text-secondary); max-width:320px; }

/* Patient list */
.list-toolbar { padding:.65rem 1rem; }
.sort-select { min-height:var(--tap); width:100%; background:var(--surface); border:1px solid var(--border);
  color:var(--text-primary); border-radius:8px; padding:0 .75rem; font-family:'Syne',sans-serif; }
.patient-list { padding:0 1rem 1rem; display:flex; flex-direction:column; gap:.5rem; }
.mobile-only { display:none; }

.pt-card { display:flex; align-items:center; gap:.75rem; background:var(--panel); border:1px solid var(--border);
  border-radius:var(--radius); padding:.85rem 1rem; cursor:pointer; min-height:var(--tap);
  transition:border-color .12s,background .12s; -webkit-tap-highlight-color:transparent; }
.pt-card:active { background:rgba(255,255,255,0.04); }
.pt-card.active { border-color:rgba(0,229,200,0.35); background:rgba(0,229,200,0.04); }
.pt-card-score { font-size:1.2rem; font-weight:800; font-family:'JetBrains Mono',monospace; min-width:36px; text-align:center; }
.val-rose{color:var(--rose)} .val-amber{color:var(--amber)} .val-teal{color:var(--teal)} .val-sky{color:var(--sky)}
.pt-card-body { flex:1; min-width:0; }
.pt-card-name { font-weight:700; font-size:.92rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pt-card-meta { font-size:.72rem; color:var(--text-muted); font-family:'JetBrains Mono',monospace; }
.pt-card-stats { display:flex; gap:.75rem; margin-top:.25rem; font-size:.72rem; }
.pt-stat-alert { color:var(--rose); font-weight:600; }
.pt-stat-rev { color:var(--teal); }
.severity-dot { width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.sev-critical{background:var(--rose);box-shadow:0 0 6px var(--rose)}
.sev-warning{background:var(--amber);box-shadow:0 0 6px var(--amber)}
.sev-stable{background:var(--teal)}

/* Detail */
#detail-panel { padding:0 1rem 6rem; }
.back-to-list { display:none; align-items:center; gap:.35rem; width:100%; min-height:var(--tap);
  background:none; border:none; color:var(--sky); font-family:'Syne',sans-serif; font-weight:700;
  font-size:.85rem; cursor:pointer; padding:.65rem 0; margin-bottom:.25rem; -webkit-tap-highlight-color:transparent; }

.detail-hero { display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:1rem 0 1.15rem; margin-bottom:.85rem; border-bottom:1px solid var(--border); }
.detail-id-block { width:100%; margin-top:.85rem; }
.detail-pt-name { font-size:1.35rem; font-weight:800; line-height:1.2; }
.detail-meta { font-size:.78rem; color:var(--text-secondary); font-family:'JetBrains Mono',monospace;
  margin-top:.35rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.45rem; }

.detail-revenue-strip { margin-top:.85rem; font-size:1.05rem; font-weight:600; font-family:'JetBrains Mono',monospace;
  color:var(--clinical-revenue); padding:.55rem 1rem; background:rgba(13,148,136,0.08); border:1px solid rgba(13,148,136,0.22);
  border-radius:999px; letter-spacing:-.01em; }
.detail-revenue-strip.revenue-critical { color:var(--clinical-critical); background:rgba(220,38,38,0.08); border-color:rgba(220,38,38,0.22); }

.payer-badge { display:inline-block; font-size:.62rem; font-weight:700; padding:.15rem .45rem; border-radius:4px; text-transform:uppercase; }
.payer-medicare{background:rgba(56,189,248,0.12);color:var(--sky);border:1px solid rgba(56,189,248,0.25)}
.payer-medicaid{background:rgba(129,140,248,0.12);color:var(--violet);border:1px solid rgba(129,140,248,0.25)}
.payer-commercial{background:rgba(245,158,11,0.12);color:var(--amber);border:1px solid rgba(245,158,11,0.25)}

.onmd-score-wrap { display:flex; flex-direction:column; align-items:center; }
.onmd-score-hero .onmd-score-ring { width:104px; height:104px; }
.onmd-score-hero .onmd-score-ring svg { width:104px; height:104px; }
.onmd-score-hero .score-val { font-size:1.75rem; }
.onmd-score-hero .onmd-score-title { font-size:.68rem; margin-top:.35rem; letter-spacing:.06em; }

.onmd-score-ring { position:relative; width:80px; height:80px; }
.onmd-score-ring svg { width:80px; height:80px; transform:rotate(-90deg); }
.ring-bg{fill:none;stroke:var(--surface);stroke-width:7}
.ring-fill{fill:none;stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .6s ease}
.ring-critical{stroke:var(--rose)} .ring-warning{stroke:var(--amber)} .ring-stable{stroke:var(--teal)}
.score-inner { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.score-val { font-size:1.3rem; font-weight:800; font-family:'JetBrains Mono',monospace; }
.score-lbl { font-size:.5rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); }
.onmd-score-title { font-size:.62rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); margin-top:.2rem; }

.readmit-block { background:var(--panel); border:1px solid var(--border); border-radius:var(--radius-lg);
  padding:.85rem 1rem; margin-bottom:1rem; }
.readmit-label { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em;
  color:var(--text-muted); margin-bottom:.35rem; }
.readmit-score-row { display:flex; align-items:baseline; gap:.45rem; }
.readmit-pct { font-size:1.45rem; font-weight:800; font-family:'JetBrains Mono',monospace; line-height:1; }
.readmit-risk-text { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.readmit-bar-track { height:6px; background:var(--surface); border-radius:3px; margin-top:.5rem; overflow:hidden; }
.readmit-bar-fill { height:100%; border-radius:3px; transition:width .5s; }
.readmit-context { font-size:1rem; font-weight:400; color:var(--text-muted); margin-top:.5rem; line-height:1.6; }

.section-title { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em;
  color:var(--text-muted); margin-bottom:.6rem; display:flex; align-items:center; gap:.5rem; }
.section-title::after { content:''; flex:1; height:1px; background:var(--border); }

.vitals-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:.5rem; margin-bottom:1rem; }
@media(min-width:768px){ .vitals-grid{ grid-template-columns:repeat(4,1fr); } }
.vital-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--radius); padding:.7rem .85rem; }
.vital-card.alert-critical { border-color:rgba(244,63,94,0.35); }
.vital-name { font-size:.62rem; font-weight:700; text-transform:uppercase; color:var(--text-muted); }
.vital-value-row { display:flex; align-items:baseline; gap:.25rem; margin-top:.2rem; }
.vital-val { font-size:1.2rem; font-weight:700; font-family:'JetBrains Mono',monospace; }
.vital-unit { font-size:.62rem; color:var(--text-muted); }
.vital-trend { font-size:.85rem; font-weight:700; margin-left:.15rem; }

.track-tabs { display:flex; gap:.35rem; margin-bottom:.75rem; background:var(--void); padding:.25rem; border-radius:8px; border:1px solid var(--border); }
.track-tab { flex:1; min-height:var(--tap); border:none; background:transparent; color:var(--text-muted);
  font-family:'Syne',sans-serif; font-weight:700; font-size:.78rem; border-radius:6px; cursor:pointer; }
.track-tab.active { background:var(--panel); color:var(--text-primary); }
.tab-count { font-size:.62rem; padding:.1rem .35rem; border-radius:99px; background:rgba(244,63,94,0.15); color:var(--rose); margin-left:.25rem; }

.alert-list { display:flex; flex-direction:column; gap:1.1rem; }
.no-alerts { text-align:center; padding:2rem; color:var(--text-muted); background:var(--panel); border-radius:var(--radius); border:1px solid var(--border); }
.zero-state-card {
  text-align:center; padding:1.75rem 1.25rem; background:var(--panel);
  border-radius:var(--radius); border:1px solid rgba(0,229,200,0.28);
  box-shadow:0 0 0 1px rgba(0,229,200,0.06) inset;
}
.zero-state-title { color:var(--teal); font-weight:700; font-size:.95rem; margin-bottom:.45rem; }
.zero-state-sub { color:var(--text-muted); font-size:.82rem; line-height:1.45; }
.payer-unknown { opacity:0.75; font-weight:500; }
.alert-card { background:var(--panel); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.alert-card.ind-critical { border-color:rgba(220,38,38,0.28); box-shadow:0 0 0 1px rgba(220,38,38,0.05); }
.alert-card.ind-warning { border-color:rgba(217,119,6,0.22); }
.alert-card.ind-trend { border-color:rgba(99,102,241,0.28); box-shadow:0 0 0 1px rgba(99,102,241,0.05); }
.alert-card-head { display:flex; flex-direction:column; align-items:flex-start; gap:.5rem;
  padding:calc(.85rem + 4px) calc(1rem + 4px) calc(.65rem + 4px); }
.alert-card.ind-critical .alert-card-head { background:rgba(220,38,38,0.06); }
.alert-card.ind-trend .alert-card-head { background:rgba(99,102,241,0.06); }
.alert-card-head-row { display:flex; align-items:center; gap:.45rem; flex-wrap:wrap; width:100%; }
.ind-badge { font-size:.58rem; font-weight:700; padding:.18rem .45rem; border-radius:4px; text-transform:uppercase; flex-shrink:0; letter-spacing:.04em; }
.ind-critical .ind-badge { background:rgba(220,38,38,0.14); color:var(--clinical-critical); }
.ind-warning .ind-badge { background:rgba(217,119,6,0.12); color:var(--clinical-warning); }
.ind-trend .ind-badge { background:rgba(99,102,241,0.14); color:var(--clinical-trend); }
.alert-title { font-weight:700; font-size:1rem; line-height:1.4; width:100%; color:var(--text-primary); margin:.35rem 0 0; }
.alert-summary { font-weight:700; font-size:.95rem; line-height:1.4; width:100%; color:var(--text-primary); }
.alert-card-body { padding:calc(.65rem + 4px) calc(1rem + 4px) calc(1rem + 4px); border-top:1px solid var(--border); }
.alert-detail { font-size:1rem; font-weight:400; line-height:1.6; color:var(--text-secondary); margin-bottom:.75rem;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.action-text { font-size:1rem; font-weight:400; color:var(--text-secondary); margin-bottom:.75rem;
  padding-left:.5rem; border-left:2px solid rgba(148,163,184,0.35); line-height:1.6; }
.alert-icd-row { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; margin-bottom:.75rem; }
.icd-label { font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); }
.alert-meta-row { display:flex; flex-wrap:wrap; gap:.45rem; align-items:center; }
.doc-impact-row { font-size:.72rem; font-weight:500; color:var(--text-muted); margin-top:.65rem; font-family:'JetBrains Mono',monospace; }
.alert-compliance-note { font-size:.68rem; line-height:1.45; color:var(--text-muted); margin:.55rem 0 0; font-style:italic; }
.revenue-chip { font-size:.75rem; font-weight:600; padding:.22rem .55rem; border-radius:5px;
  background:rgba(13,148,136,0.1); color:var(--clinical-revenue); border:1px solid rgba(13,148,136,0.28); font-family:'JetBrains Mono',monospace; }
.icd-chip { font-size:.72rem; font-weight:500; padding:.2rem .55rem; border-radius:4px;
  background:rgba(255,255,255,0.03); color:var(--text-secondary); border:1px solid rgba(255,255,255,0.14);
  font-family:'JetBrains Mono',monospace; letter-spacing:.04em; }

.sep1-card { background:var(--panel); border:1px solid rgba(244,63,94,0.25); border-radius:var(--radius); overflow:hidden; margin-bottom:1rem; }
.sep1-header { display:flex; justify-content:space-between; padding:.75rem 1rem; background:rgba(244,63,94,0.06); }
.sep1-title { display:flex; align-items:center; gap:.4rem; font-weight:700; color:var(--rose); font-size:.85rem; }
.sep1-pulse { width:8px; height:8px; background:var(--rose); border-radius:50%; animation:pulse 1.4s infinite; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.sep1-timer { font-family:'JetBrains Mono',monospace; font-size:.75rem; color:var(--text-secondary); }
.sep1-items { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; padding:.75rem; }
.sep1-item { display:flex; gap:.45rem; background:var(--card); border:1px solid var(--border); border-radius:7px; padding:.55rem .65rem; font-size:.78rem; }
.sep1-complete { border-color:rgba(0,229,200,0.25); }

#stats-bar { display:flex; flex-wrap:wrap; gap:.5rem; padding:1rem; }
.stat-chip { flex:1; min-width:70px; background:var(--panel); border:1px solid var(--border); border-radius:8px; padding:.6rem; text-align:center; }
.stat-chip-val { font-size:1.1rem; font-weight:800; font-family:'JetBrains Mono',monospace; }
.stat-chip-lbl { font-size:.6rem; color:var(--text-muted); text-transform:uppercase; }
.tab-hint { padding:2rem 1rem; color:var(--text-muted); text-align:center; font-size:.88rem; }

.revenue-panel { padding:2rem 1rem; text-align:center; }
.revenue-big { font-size:2.5rem; font-weight:800; color:var(--teal); font-family:'JetBrains Mono',monospace; }
.revenue-sub { color:var(--text-secondary); margin-top:.5rem; font-size:.88rem; }

.settings-panel { padding:1.5rem 1rem; display:flex; flex-direction:column; gap:1rem; }
.settings-label { font-size:.82rem; color:var(--text-secondary); margin-bottom:.35rem; }
.digest-success { color:var(--teal); font-size:.85rem; }

.viral-prompt { margin:1.5rem 1rem; padding:1.25rem; background:linear-gradient(135deg,rgba(0,229,200,0.06),rgba(56,189,248,0.05));
  border:1px solid rgba(0,229,200,0.2); border-radius:var(--radius-lg); text-align:center; }
.viral-prompt p { margin-bottom:1rem; font-size:.88rem; color:var(--text-secondary); }

/* Bottom nav */
.bottom-nav { position:fixed; bottom:0; left:0; right:0; height:var(--bottom-nav-h); background:var(--glass-bg);
  backdrop-filter:blur(16px); border-top:1px solid var(--border); display:flex; z-index:150;
  padding-bottom:env(safe-area-inset-bottom); }
.bottom-nav-item { flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.1rem; background:none; border:none; color:var(--text-muted); font-size:.62rem; font-weight:600;
  cursor:pointer; min-height:var(--tap); position:relative; -webkit-tap-highlight-color:transparent; }
.bottom-nav-item.active { color:var(--teal); }
.nav-icon { font-size:1.1rem; line-height:1; }
.nav-badge { position:absolute; top:6px; right:calc(50% - 24px); font-size:.55rem; background:var(--rose); color:#fff;
  padding:.1rem .3rem; border-radius:99px; font-family:'JetBrains Mono',monospace; }
.nav-badge-teal { background:var(--teal); color:var(--void); }

@media(min-width:768px) {
  .bottom-nav { display:none; }
  body.in-app { padding-bottom:0; }
  #detail-panel { max-width:900px; margin:0 auto; }
}

@media(max-width:767px) {
  #patient-list { display:flex; }
  .app-tab-panel[data-tab="patients"].detail-focus .list-toolbar,
  .app-tab-panel[data-tab="patients"].detail-focus #patient-list,
  .app-tab-panel[data-tab="patients"].detail-focus #mobile-patient-list,
  .app-tab-panel[data-tab="patients"].detail-focus #viral-prompt { display:none; }
  .app-tab-panel[data-tab="patients"].detail-focus .back-to-list { display:flex; }
  .app-tab-panel[data-tab="patients"].detail-focus #detail-panel { padding-top:.25rem; }
}

.two-modes-section { padding: 24px 0; width: 100%; max-width: 600px; margin: 0 auto; }
.two-modes-heading { font-size: 18px; color: #F9FAFB; text-align: center; margin-bottom: 16px; font-weight: 700; }
.two-modes-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .two-modes-grid { grid-template-columns: 1fr; } }
.mode-card { background: #0F172A; border: 1px solid #374151; border-radius: 12px; padding: 16px; }
.mode-card.mode-physician { border-top: 2px solid #0D9488; }
.mode-card.mode-cdi { border-top: 2px solid #6366F1; }
.mode-tag { font-size: 9px; letter-spacing: 2px; color: #6B7280; margin-bottom: 8px; font-weight: 600; }
.mode-title { font-size: 14px; color: #F9FAFB; font-weight: 700; margin-bottom: 4px; }
.mode-tagline { font-size: 11px; color: #0D9488; margin-bottom: 10px; }
.mode-card.mode-cdi .mode-tagline { color: #6366F1; }
.mode-bullets { list-style: none; padding: 0; margin: 0 0 12px 0; }
.mode-bullets li { font-size: 11px; color: #9CA3AF; padding: 3px 0; padding-left: 12px; position: relative; }
.mode-bullets li:before { content: "•"; color: #0D9488; position: absolute; left: 0; }
.mode-card.mode-cdi .mode-bullets li:before { color: #6366F1; }
.mode-cta { font-size: 11px; color: #6366F1; text-decoration: none; font-weight: 600; }
.ehr-complement { margin-top: 16px; padding: 12px 16px; background: #0F172A; border-radius: 8px; border-left: 2px solid #0D9488; }
.ehr-complement-heading { font-size: 12px; color: #2DD4BF; font-weight: 700; margin-bottom: 4px; }
.ehr-complement-body { font-size: 11px; color: #6B7280; line-height: 1.5; }

.modal-card-wide { max-width: 520px; max-height: 85vh; overflow-y: auto; }
.predischarge-gaps { display: flex; flex-direction: column; gap: 12px; margin: 16px 0; text-align: left; }
.predischarge-gap { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 12px; }
.predischarge-gap-title { font-size: 13px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px; }
.predischarge-gap-detail { font-size: 11px; color: var(--text-secondary); line-height: 1.45; margin-bottom: 8px; }
.btn-predischarge { margin-top: 8px; font-size: 11px; padding: 6px 10px; min-height: 32px; }
.pt-card-actions { margin-top: 6px; }
.pt-card .btn-predischarge { width: 100%; }

.cdi-page { max-width: 960px; margin: 0 auto; padding: 1rem 1.25rem 3rem; }
.cdi-total { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.25rem; margin-bottom: 1.25rem; text-align: center; }
.cdi-total-val { font-size: 1.75rem; font-weight: 700; color: var(--teal); font-family: 'JetBrains Mono', monospace; }
.cdi-total-lbl { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
.cdi-table-wrap { overflow-x: auto; }
.cdi-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.cdi-table th, .cdi-table td { padding: 10px 8px; border-bottom: 1px solid var(--border); text-align: left; }
.cdi-table th { color: var(--text-muted); font-weight: 600; font-size: 10px; text-transform: uppercase; letter-spacing: .04em; }
.cdi-table td { color: var(--text-secondary); }
.cdi-table .cdi-rev { color: var(--teal); font-family: 'JetBrains Mono', monospace; font-weight: 600; }
.cdi-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.cdi-actions button, .cdi-actions a { font-size: 10px; padding: 6px 8px; min-height: 32px; }
.cdi-header-label { font-size: 11px; color: var(--teal); margin-left: 8px; font-weight: 600; }

/* Desktop landing — Option A: left overview | phone frame | right hospital stats */
@media (min-width: 1024px) {
  #screen-landing { padding:1.5rem 2rem 3rem; align-items:stretch; }
  .landing-shell {
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto minmax(240px,1fr);
    gap:2rem 2.5rem;
    max-width:1280px;
    width:100%;
    margin:0 auto;
    align-items:start;
  }
  .landing-panel-left, .landing-panel-right { display:flex; flex-direction:column; padding-top:.5rem; overflow:visible; }
  .landing-panel-left { text-align:left; }
  .landing-panel-left .landing-hero,
  .landing-panel-left .landing-overview { flex-shrink:0; }
  .landing-panel-right { text-align:left; }
  .landing-free-badge {
    display:inline-block; align-self:flex-start;
    font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
    color:var(--void); background:linear-gradient(135deg,var(--teal),var(--sky));
    padding:.4rem .75rem; border-radius:99px; margin-bottom:1.25rem;
  }
  .landing-brand-headline { margin-bottom:1.1rem; text-align:left; line-height:1.4; flex-shrink:0; padding-bottom:.05em; }
  .landing-brand-name { display:block; font-size:clamp(2rem,2.8vw,2.75rem); font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1.15; }
  .landing-brand-expansion { display:block; font-size:clamp(.95rem,1.4vw,1.15rem); font-weight:600; color:var(--teal); margin-top:.35rem; letter-spacing:.01em; line-height:1.5; }
  .landing-overview { font-size:.95rem; color:var(--text-secondary); line-height:1.75; margin-bottom:1.25rem; padding-bottom:.2em; }
  .landing-proof-list { list-style:none; padding:0; margin:0 0 1.5rem; }
  .landing-proof-list li {
    font-size:.82rem; color:var(--text-secondary); padding:.35rem 0 .35rem 1rem; position:relative; line-height:1.45;
  }
  .landing-proof-list li::before { content:"✓"; color:var(--teal); position:absolute; left:0; font-weight:700; }
  .landing-panel-foot { font-size:.75rem; color:var(--text-muted); margin-top:.75rem; }
  .landing-panel .landing-desktop-cta { width:100%; max-width:320px; }
  .landing-panel-right .landing-desktop-cta { max-width:100%; }

  .phone-frame-wrap { display:flex; flex-direction:column; align-items:center; }
  .phone-caption { display:block; font-size:.72rem; color:var(--text-muted); margin-top:.85rem; text-align:center; }
  .phone-frame {
    width:390px; height:780px; flex-shrink:0;
    background:#0a0e18; border:3px solid #2a3348; border-radius:44px;
    box-shadow:0 32px 80px rgba(0,0,0,0.55), 0 0 0 1px rgba(255,255,255,0.04) inset;
    display:flex; flex-direction:column; overflow:hidden;
  }
  .phone-status-bar {
    display:flex; align-items:center; justify-content:space-between;
    height:36px; padding:0 1.25rem; flex-shrink:0;
    font-size:.65rem; color:var(--text-muted); background:#0a0e18;
  }
  .phone-notch { width:72px; height:6px; background:#1e293b; border-radius:99px; }
  .phone-time { font-family:'JetBrains Mono',monospace; font-weight:600; color:var(--text-secondary); }
  .phone-icons { font-size:.5rem; letter-spacing:2px; opacity:.5; }
  .phone-screen {
    flex:1; overflow-y:auto; overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    background:var(--void);
    border-radius:0 0 40px 40px;
  }
  .phone-screen .landing-inner { max-width:100%; padding:1rem 1rem 2rem; }
  .phone-screen .two-modes-section { max-width:100%; }
  .phone-screen .two-modes-grid { grid-template-columns:1fr; }
  .phone-screen .btn-lg { font-size:.85rem; min-height:40px; }

  .hospital-stat-card {
    background:var(--panel); border:1px solid var(--border); border-radius:var(--radius-lg);
    padding:1.15rem 1.25rem; margin-bottom:.85rem;
  }
  .hospital-stat-primary { border-color:rgba(0,229,200,0.25); background:rgba(0,229,200,0.04); }
  .hospital-stat-val { font-size:2rem; font-weight:800; color:var(--teal); font-family:'JetBrains Mono',monospace; line-height:1.1; }
  .hospital-stat-val-sm { font-size:1.5rem; }
  .hospital-stat-lbl { font-size:.72rem; color:var(--text-muted); margin-top:.35rem; line-height:1.45; }
  .landing-impact-list { list-style:none; padding:0; margin:0 0 1.25rem; }
  .landing-impact-list li { font-size:.82rem; color:var(--text-secondary); padding:.45rem 0; border-bottom:1px solid var(--border); line-height:1.45; }
  .landing-impact-list li:last-child { border-bottom:none; }
  .landing-impact-list strong { color:var(--text-primary); }
  .inline-link { color:var(--teal); text-decoration:none; }
  .inline-link:hover { text-decoration:underline; }
  .landing-panel-right .btn-ghost { text-align:left; justify-content:flex-start; padding-left:0; margin-top:.25rem; }
}

@media (min-width: 1024px) and (max-width: 1180px) {
  .landing-shell { grid-template-columns:1fr auto; gap:1.5rem; }
  .landing-panel-right { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; gap:1rem; align-items:flex-start; }
  .landing-panel-right .hospital-stat-card { flex:1; min-width:200px; margin-bottom:0; }
  .landing-panel-right .landing-impact-list { flex:1 1 100%; }
  .landing-panel-right .landing-desktop-cta { flex:1 1 auto; max-width:220px; }
}
