/* ============================================================
   EdgeCare.ai — Pro Console (multi-patient command center)
   Layers on top of dashboard.css
   ============================================================ */
.pro-body{display:flex;flex-direction:column;min-height:100vh;background:var(--bg);}

/* topbar */
.pro-top{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 26px;height:64px;background:var(--night);color:#fff;position:sticky;top:0;z-index:60;}
.pro-top .brand img{height:41px;}
.pro-top .brand{display:flex;align-items:center;gap:10px;}
.pro-top .pro-badge{font-size:10.5px;font-weight:800;letter-spacing:.6px;color:#fff;background:var(--blue);padding:2px 7px;border-radius:5px;}
.pro-top-right{display:flex;align-items:center;gap:18px;font-size:13px;color:#aebbcd;}
.pro-top-right .who{display:flex;align-items:center;gap:10px;}
.pro-top-right .who .ava{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b7dd8,#5BA0D9);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;}
.pro-top-right a{color:#aebbcd;display:flex;align-items:center;gap:6px;}
.pro-top-right a:hover{color:#fff;}
.pro-top-right a svg{width:15px;height:15px;}

/* ticker */
.ticker{background:linear-gradient(90deg,#16202E,#1C2940);height:38px;overflow:hidden;position:relative;border-bottom:1px solid rgba(255,255,255,.06);}
.ticker::before,.ticker::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.ticker::before{left:0;background:linear-gradient(90deg,#16202E,transparent);}
.ticker::after{right:0;background:linear-gradient(270deg,#16202E,transparent);}
.ticker-track{display:flex;align-items:center;height:100%;white-space:nowrap;animation:tick 48s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
@keyframes tick{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.ti{display:inline-flex;align-items:center;gap:9px;padding:0 28px;font-size:12.5px;color:#cdd9e8;flex-shrink:0;}
.ti b{color:#fff;font-weight:700;}
.ti .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;}
.dot.crit{background:var(--red);animation:fl 1s infinite;}
.dot.warn{background:var(--amber);animation:fl 1.6s infinite;}
.dot.info{background:var(--blue-light);}
@keyframes fl{0%,100%{opacity:1;}50%{opacity:.35;}}

/* layout */
.pro-grid{display:grid;grid-template-columns:336px 1fr;flex:1;min-height:0;}
.roster{border-right:1px solid var(--border);background:var(--panel);display:flex;flex-direction:column;height:calc(100vh - 102px);position:sticky;top:102px;}
.roster-head{padding:18px 18px 12px;border-bottom:1px solid var(--border-soft);}
.roster-head h2{font-size:16px;font-weight:800;}
.roster-head .sub{font-size:12.5px;color:var(--muted);margin-top:1px;}
.caseload{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px;}
.cl{border-radius:10px;padding:9px 6px;text-align:center;cursor:pointer;border:1px solid var(--border);transition:.16s;background:var(--panel);}
.cl:hover{box-shadow:var(--shadow-sm);}
.cl.on{border-color:var(--ink);}
.cl b{display:block;font-size:19px;font-weight:800;line-height:1;}
.cl span{font-size:10px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;}
.cl .d{width:7px;height:7px;border-radius:50%;display:inline-block;margin-bottom:4px;}
.search{margin-top:12px;position:relative;}
.search input{width:100%;border:1px solid var(--border);border-radius:10px;padding:9px 12px 9px 34px;font-family:var(--font);font-size:13px;background:var(--bg);color:var(--ink);}
.search input:focus{outline:none;border-color:var(--green-light);background:#fff;}
.search svg{position:absolute;left:11px;top:9px;width:16px;height:16px;color:var(--muted);}
.roster-list{overflow-y:auto;padding:10px;flex:1;display:flex;flex-direction:column;gap:7px;}

/* patient row */
.prow{display:flex;align-items:center;gap:12px;padding:11px;border-radius:12px;border:1px solid var(--border);background:var(--panel);cursor:pointer;transition:.16s;position:relative;}
.prow:hover{box-shadow:var(--shadow-sm);border-color:var(--green-light);}
.prow.sel{border-color:var(--ink);background:var(--bg);box-shadow:inset 3px 0 0 var(--green);}
.prow.s-critical{border-left:3px solid var(--red);}
.prow.s-warning{border-left:3px solid var(--amber);}
.prow.s-device{border-left:3px solid var(--yellow);}
.prow .pava{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;}
.ring-high{background:#EAF7EE;color:var(--green);border:2px solid var(--green-light);}
.ring-med{background:#FBF3E6;color:var(--amber);border:2px solid var(--amber);}
.ring-low{background:#FDEDED;color:var(--red);border:2px solid var(--red);}
.prow .pinfo{flex:1;min-width:0;}
.prow .pnm{font-size:14px;font-weight:700;line-height:1.15;}
.prow .pmt{font-size:11.5px;color:var(--muted);}
.prow .palert{font-size:11px;font-weight:700;margin-top:3px;display:inline-block;}
.prow .pstatus{position:absolute;top:10px;right:10px;width:9px;height:9px;border-radius:50%;}
.st-green{background:var(--green-light);} .st-orange{background:var(--amber);animation:fl 1.6s infinite;}
.st-red{background:var(--red);animation:fl 1s infinite;} .st-yellow{background:var(--yellow);animation:fl 1.6s infinite;}

/* detail */
.detail{padding:22px 28px 50px;overflow-x:hidden;min-width:0;}
.pat-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--r);padding:20px 22px;}
.pat-head .big-ava{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;flex-shrink:0;}
.pat-head .ph-main{min-width:0;}
.pat-head h2{font-size:22px;font-weight:800;letter-spacing:-.5px;}
.pat-head .ph-sub{font-size:13px;color:var(--muted);margin-top:2px;}
.pat-head .ph-stats{display:flex;gap:26px;margin-left:auto;flex-wrap:wrap;}
.pat-head .ph-stat b{display:block;font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1;}
.pat-head .ph-stat span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}

.tabs{display:flex;gap:4px;margin:20px 0 18px;border-bottom:1px solid var(--border);}
.tab{border:none;background:none;font-family:var(--font);font-size:14px;font-weight:600;color:var(--muted);padding:10px 16px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:.16s;}
.tab:hover{color:var(--ink);}
.tab.on{color:var(--green-deep);border-bottom-color:var(--green);}
.tabview[hidden]{display:none;}

/* clinical metric table */
.cat-block{margin-bottom:22px;}
.cat-block .cb-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.cat-block .cb-head h4{font-size:14.5px;font-weight:800;}
.cat-block .cb-head .cb-tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--blue);background:var(--blue-pale);padding:2px 8px;border-radius:5px;}
.metric-table{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.mcell{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;}
.mcell .ml{font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.25;min-height:28px;}
.mcell .mv{font-size:18px;font-weight:800;letter-spacing:-.4px;margin-top:5px;}
.mcell .mv small{font-size:11px;font-weight:600;color:var(--muted);}
.mcell .mflag{display:inline-block;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;margin-top:6px;}
.flag-ok{background:var(--green-pale);color:var(--green-deep);}
.flag-watch{background:var(--amber-pale);color:var(--amber);}
.flag-high{background:var(--red-pale);color:var(--red);}

@media (max-width:1240px){.metric-table{grid-template-columns:repeat(3,1fr);}}
@media (max-width:1080px){
  .pro-grid{grid-template-columns:1fr;}
  .roster{position:static;height:auto;max-height:360px;border-right:none;border-bottom:1px solid var(--border);}
  .pat-head .ph-stats{margin-left:0;width:100%;}
  .metric-table{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
  .metric-table{grid-template-columns:1fr 1fr;}
  .caseload{grid-template-columns:repeat(2,1fr);}
  .pro-top-right .who span{display:none;}
  .pro-top{padding:0 16px;height:58px;}
  .pro-top .brand img{height:36px;}
  .detail{padding:18px 16px 44px;}
  .pat-head{padding:16px;gap:14px;}
  .pat-head h2{font-size:19px;}
  .pat-head .ph-stats{gap:18px;}
  .pat-head .ph-stat b{font-size:19px;}
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .tabs::-webkit-scrollbar{display:none;}
  .tab{white-space:nowrap;flex:0 0 auto;padding:10px 13px;font-size:13.5px;}
  .roster{max-height:none;}
}
