/* ==== Prognocis-style Dashboard (clean; no yellow "read-only") ==== */
:root{
  --pc-blue:#1e3a8a;
  --pc-blue-2:#2b4db3;
  --pc-rail:#0f172a;
  --pc-bg:#eef2f7;
  --pc-card:#ffffff;
  --pc-border:#d1d5db;
  --pc-head:#f3f4f6;
  --pc-text:#111827;
}
*{box-sizing:border-box}
body{background:var(--pc-bg); color:var(--pc-text);}
.pc-topbar{
  display:flex; align-items:center; justify-content:space-between;
  background:linear-gradient(0deg,var(--pc-blue),var(--pc-blue-2));
  color:#fff; padding:10px 14px; border-bottom:3px solid #0b1a52;
}
.pc-topbar .brand{font-weight:700}
.pc-topbar .brand-title{margin-right:6px}
.pc-navtabs{display:flex; gap:14px}
.pc-tab{color:#cfe3ff; text-decoration:none; padding:6px 8px; border-radius:6px}
.pc-tab.active,.pc-tab:hover{background:rgba(255,255,255,0.15); color:#fff}
.pc-actions .pc-icon-btn{background:#fff; border:none; border-radius:8px; padding:4px 8px; cursor:pointer}

.patient-meta{
  display:flex; flex-wrap:wrap; gap:16px;
  background:#fff; padding:8px 14px; border-bottom:1px solid var(--pc-border);
}

.pc-workarea{display:flex; min-height:calc(100vh - 140px);}
.pc-left-rail{
  width:220px; background:var(--pc-rail); color:#cbd5e1; padding:14px 0; flex-shrink:0;
  position:sticky; top:0; height:calc(100vh - 140px); overflow:auto;
}
.rail-title{font-weight:700; padding:0 16px 8px 16px; color:#e2e8f0}
.rail-list{list-style:none; margin:0; padding:0}
.rail-list li{margin:0}
.rail-list a{display:block; padding:8px 16px; text-decoration:none; color:#cbd5e1; border-left:3px solid transparent}
.rail-section{padding:10px 16px; font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:#94a3b8}
.rail-list a:hover{background:rgba(255,255,255,0.06); color:#fff; border-left-color:#60a5fa}

.pc-main{position:relative; flex:1; background:var(--pc-bg); min-height:800px; overflow:auto}
.pc-card{
  position:absolute; background:var(--pc-card); border:1px solid var(--pc-border);
  border-radius:10px; box-shadow:0 2px 6px rgba(0,0,0,.08); overflow:hidden;
}
.pc-card-head{
  background:var(--pc-head); padding:8px 10px; display:flex; align-items:center; justify-content:space-between;
  border-bottom:1px solid var(--pc-border); cursor:move; user-select:none;
}
.pc-card-body{padding:10px}
.pc-expand{border:none; background:#e5e7eb; border-radius:6px; width:26px; height:26px; cursor:pointer}
.pc-inline{display:flex; align-items:center; gap:8px}
textarea,input{width:100%; border:1px solid var(--pc-border); border-radius:6px; padding:6px 8px; background:#fff}