/* =====================================================================
   Sahasra Clinical AI 360 (AI Prescription Intelligence) — Admin Theme
   ATHENTECH India Pvt. Ltd.  |  Sahasra HIS GenX Suite
   Shares the same design language as Sahasra Digital Signage Cloud (SDS)
   so the two admin products feel like one family of tools.
   ===================================================================== */

:root{
  --sca-primary:#1e6fd9;
  --sca-primary-dark:#1657ab;
  --sca-accent:#00b8a9;
  --sca-danger:#e5433d;
  --sca-warning:#f5a623;
  --sca-success:#22a45d;
  --sca-dark:#0f1b2d;
  --sca-sidebar:#10233d;
  --sca-sidebar-hover:#1c3a63;
  --sca-body:#eef2f7;
  --sca-card:#ffffff;
  --sca-border:#e2e8f0;
  --sca-text:#243044;
  --sca-muted:#6b7a90;
  --sca-radius:12px;
  --sca-shadow:0 6px 22px rgba(16,35,61,.08);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--sca-body);
  color:var(--sca-text);
  font-size:14px;
}

/* ---------- Layout ---------- */
.sca-layout{display:flex;min-height:100vh}
.sca-sidebar{
  width:255px;background:var(--sca-sidebar);color:#c7d4e6;
  position:fixed;top:0;bottom:0;left:0;overflow-y:auto;z-index:1030;
  transition:transform .25s ease;
}
.sca-main{margin-left:255px;flex:1;min-width:0;display:flex;flex-direction:column}
.sca-content{padding:22px 26px 40px}

/* ---------- Brand ---------- */
.sca-brand{
  display:flex;align-items:center;gap:11px;padding:16px 18px;
  border-bottom:1px solid rgba(255,255,255,.07);
  text-decoration:none;
}
.sca-brand .logo{
  width:40px;height:40px;border-radius:10px;flex:none;
  background:linear-gradient(135deg,var(--sca-primary),var(--sca-accent));
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px;
}
.sca-brand b{color:#fff;font-size:14px;letter-spacing:.3px;display:block;line-height:1.15}
.sca-brand small{color:#8fa3bf;font-size:11px}

/* ---------- Nav ---------- */
.sca-nav{padding:10px 0}
.sca-nav .nav-head{
  font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;
  color:#61789b;padding:14px 20px 6px;font-weight:600;
}
.sca-nav a{
  display:flex;align-items:center;gap:12px;padding:10px 20px;color:#c7d4e6;
  text-decoration:none;font-size:13.5px;border-left:3px solid transparent;transition:.15s;
}
.sca-nav a i{width:18px;text-align:center;font-size:16px;color:#8fa3bf}
.sca-nav a:hover{background:var(--sca-sidebar-hover);color:#fff}
.sca-nav a.active{
  background:var(--sca-sidebar-hover);color:#fff;border-left-color:var(--sca-accent);
}
.sca-nav a.active i{color:var(--sca-accent)}

/* ---------- Topbar ---------- */
.sca-topbar{
  height:60px;background:#fff;border-bottom:1px solid var(--sca-border);
  display:flex;align-items:center;gap:16px;padding:0 22px;position:sticky;top:0;z-index:1020;
}
.sca-topbar .page-title{font-size:17px;font-weight:600;margin:0}
.sca-topbar .page-title small{display:block;font-size:11.5px;color:var(--sca-muted);font-weight:400}
.sca-topbar .spacer{flex:1}
.sca-user{display:flex;align-items:center;gap:10px}
.sca-user .av{
  width:38px;height:38px;border-radius:50%;background:var(--sca-primary);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:600;flex:none;
}
.sca-user .nm{line-height:1.15}
.sca-user .nm b{font-size:13px;display:block}
.sca-user .nm span{font-size:11px;color:var(--sca-muted)}
.sca-topbar .tb-icon{
  width:38px;height:38px;border-radius:9px;border:1px solid var(--sca-border);
  background:#fff;display:flex;align-items:center;justify-content:center;color:#4a5a72;
  cursor:pointer;font-size:17px;text-decoration:none;
}
.sca-topbar .tb-icon:hover{background:#f4f7fb;color:#4a5a72}
.menu-toggle{display:none}

/* ---------- Page header ---------- */
.page-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.page-head h4{margin:0;font-size:20px;font-weight:600}
.page-head .sub{color:var(--sca-muted);font-size:13px}
.page-head .actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}

/* ---------- Cards ---------- */
.card{
  background:var(--sca-card);border:1px solid var(--sca-border);border-radius:var(--sca-radius);
  box-shadow:var(--sca-shadow);margin-bottom:20px;
}
.card .card-header{
  background:transparent;border-bottom:1px solid var(--sca-border);
  padding:14px 18px;font-weight:600;display:flex;align-items:center;gap:10px;
}
.card .card-title{margin:0;font-size:15px;font-weight:600}
.card .card-body{padding:18px}

/* ---------- Stat tiles (spec section 34 dashboard cards) ---------- */
.stat{display:flex;align-items:center;gap:14px;padding:18px}
.stat .ic{
  width:52px;height:52px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  font-size:24px;color:#fff;flex:none;
}
.stat .val{font-size:26px;font-weight:700;line-height:1}
.stat .lbl{color:var(--sca-muted);font-size:12.5px;margin-top:4px}
.bg-grad-blue{background:linear-gradient(135deg,#1e6fd9,#3d8bff)}
.bg-grad-green{background:linear-gradient(135deg,#22a45d,#4fd18b)}
.bg-grad-red{background:linear-gradient(135deg,#e5433d,#ff7a6e)}
.bg-grad-amber{background:linear-gradient(135deg,#f5a623,#ffce6b)}
.bg-grad-teal{background:linear-gradient(135deg,#00b8a9,#4ee3d5)}
.bg-grad-purple{background:linear-gradient(135deg,#6a5acd,#9b8bff)}

/* ---------- Status / confidence badges ---------- */
.st{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;
  padding:3px 10px;border-radius:20px;white-space:nowrap}
.st .d{width:7px;height:7px;border-radius:50%;background:currentColor}
.st-success{background:#e5f6ec;color:#1c8a4d}
.st-danger{background:#fdeaea;color:#c9302c}
.st-info{background:#e6f0fd;color:#1657ab}
.st-warning{background:#fff4e0;color:#c07c12}
.st-muted{background:#eef1f5;color:#6b7a90}

/* ---------- Tables ---------- */
.table{margin:0}
.table thead th{
  background:#f6f8fb;color:#55647c;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.4px;border-bottom:1px solid var(--sca-border);font-weight:600;white-space:nowrap;
}
.table td,.table th{vertical-align:middle;padding:11px 14px}
.table tbody tr:hover{background:#f8fafd}
.table td .sub{font-size:11.5px;color:var(--sca-muted)}
.table .form-control-sm{font-size:12.5px}

/* ---------- Buttons ---------- */
.btn{border-radius:9px;font-size:13px;font-weight:500;padding:7px 14px}
.btn-primary{background:var(--sca-primary);border-color:var(--sca-primary)}
.btn-primary:hover{background:var(--sca-primary-dark);border-color:var(--sca-primary-dark)}
.btn-outline-primary{color:var(--sca-primary);border-color:var(--sca-primary)}
.btn-outline-primary:hover{background:var(--sca-primary);border-color:var(--sca-primary)}
.btn-danger{background:var(--sca-danger);border-color:var(--sca-danger)}
.btn-sm{padding:4px 10px;font-size:12px}

/* ---------- Forms ---------- */
.form-control,.form-select{border-radius:9px;border-color:#d7dfea;padding:9px 12px;font-size:13.5px}
.form-control:focus,.form-select:focus{border-color:var(--sca-primary);box-shadow:0 0 0 3px rgba(30,111,217,.15)}

/* ---------- Nav tabs (Analysis Viewer) ---------- */
.nav-tabs{border-bottom:1px solid var(--sca-border);padding:0 10px}
.nav-tabs .nav-link{border:0;border-bottom:3px solid transparent;color:var(--sca-muted);font-weight:600;font-size:13px;padding:12px 14px}
.nav-tabs .nav-link.active{color:var(--sca-primary);border-bottom-color:var(--sca-primary);background:transparent}

/* ---------- Staged processing checklist (spec section 9) ---------- */
.stage-list{list-style:none;margin:0;padding:0}
.stage-list li{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:13.5px;color:var(--sca-muted)}
.stage-list li .ic{width:20px;height:20px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:11px;border:2px solid var(--sca-border);color:transparent}
.stage-list li.done{color:var(--sca-text)}
.stage-list li.done .ic{background:var(--sca-success);border-color:var(--sca-success);color:#fff}
.stage-list li.active{color:var(--sca-primary);font-weight:600}
.stage-list li.active .ic{border-color:var(--sca-primary)}
.stage-list li.active .ic::after{content:"";width:9px;height:9px;border-radius:50%;background:var(--sca-primary);animation:sca-pulse 1s infinite}
@keyframes sca-pulse{0%,100%{opacity:1}50%{opacity:.3}}
.stage-list li.pending .ic{border-color:var(--sca-border)}

/* ---------- AI disclaimer ---------- */
.ai-disclaimer{
  background:#fff4e0;border:1px solid #f5dcae;color:#7a5310;padding:12px 16px;
  border-radius:var(--sca-radius);font-size:.85rem;margin-bottom:18px;display:flex;gap:10px;align-items:flex-start;
}
.ai-disclaimer i{font-size:18px;color:#c07c12;margin-top:1px}

/* ---------- Misc ---------- */
.dot-sep{color:#c3ccd8;margin:0 6px}
.text-muted-2{color:var(--sca-muted)}
.chip{display:inline-block;font-size:11px;padding:2px 9px;border-radius:20px;
  background:#eef2f8;color:#4a5a72;font-weight:500}

/* ---------- Mobile sidebar ---------- */
.sca-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1025}
@media(max-width:991px){
  .sca-sidebar{transform:translateX(-100%)}
  .sca-sidebar.open{transform:translateX(0)}
  .sca-main{margin-left:0}
  .sca-backdrop.show{display:block}
  .menu-toggle{display:inline-flex!important}
}

/* =====================================================================
   Login (split-screen, matches SDS Cloud auth page)
   ===================================================================== */
.auth{display:grid;grid-template-columns:1.15fr .85fr;min-height:100vh}

.auth-brand{position:relative;overflow:hidden;color:#fff;padding:46px 54px;
    background:radial-gradient(1200px 500px at -10% -10%,rgba(0,184,169,.35),transparent 55%),
               radial-gradient(900px 500px at 110% 120%,rgba(30,111,217,.55),transparent 55%),
               linear-gradient(135deg,#0b1526 0%,#12294a 55%,#173a63 100%)}
.auth-brand::after{content:"";position:absolute;inset:0;
    background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:22px 22px;opacity:.5}
.auth-brand-inner{position:relative;z-index:2;display:flex;flex-direction:column;min-height:calc(100vh - 92px)}
.brand-top{position:relative;z-index:2;display:flex;align-items:center;gap:14px}
.brand-top .athen{height:40px;background:#fff;border-radius:9px;padding:6px 12px;object-fit:contain}
.brand-top .fallback{font-weight:800;letter-spacing:.5px;font-size:19px}
.brand-top .divider{width:1px;height:30px;background:rgba(255,255,255,.25)}
.brand-top .pill{font-size:11px;letter-spacing:2px;text-transform:uppercase;opacity:.75}

.brand-hero{position:relative;z-index:2;margin-top:40px}
.brand-hero .kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:2px;
    text-transform:uppercase;color:#8fe3da;font-weight:700}
.brand-hero h1{font-size:34px;line-height:1.16;font-weight:800;margin:14px 0 10px}
.brand-hero h1 span{background:linear-gradient(90deg,#48d1c4,#7db8ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-hero .lede{font-size:15px;line-height:1.6;color:rgba(255,255,255,.78);max-width:48ch}

.carousel-sca{position:relative;z-index:2;margin-top:30px;min-height:150px}
.cslide{position:absolute;inset:0;opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s;pointer-events:none}
.cslide.on{opacity:1;transform:none;pointer-events:auto}
.cslide .ic{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;
    font-size:26px;background:linear-gradient(135deg,var(--sca-primary),var(--sca-accent));box-shadow:0 10px 26px rgba(0,184,169,.35);margin-bottom:16px}
.cslide h3{font-size:20px;font-weight:750;margin:0 0 6px}
.cslide p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.75);margin:0;max-width:46ch}
.cdots{position:relative;z-index:2;margin-top:26px;display:flex;gap:9px}
.cdots button{width:26px;height:5px;border:0;border-radius:6px;background:rgba(255,255,255,.25);cursor:pointer;transition:.3s;padding:0}
.cdots button.on{background:var(--sca-accent);width:38px}

.brand-contact{position:relative;z-index:2;margin-top:auto;padding-top:32px;
    display:flex;flex-wrap:wrap;gap:18px;font-size:13px;color:rgba(255,255,255,.82)}
.brand-contact a{color:inherit;text-decoration:none}
.brand-contact .ci{display:flex;align-items:center;gap:8px}
.brand-contact .ci i{color:#48d1c4}

.auth-form{display:flex;align-items:center;justify-content:center;padding:40px 30px;background:#fff}
.auth-form.wide{padding:40px 24px}
.auth-card{width:100%;max-width:390px}
.auth-card.wide{max-width:480px}
.auth-logo{width:56px;height:56px;border-radius:15px;margin-bottom:16px;
    background:linear-gradient(135deg,var(--sca-primary),var(--sca-accent));display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px}
.auth-card h2{font-size:23px;font-weight:800;margin:0 0 4px;color:var(--sca-dark)}
.auth-card .sub{color:#7b8aa0;font-size:13.5px;margin-bottom:20px}
.auth-card label{font-size:12.5px;font-weight:600;margin-bottom:5px;color:#33425a}
.auth-card .input-group-text{background:#f7f9fc;border-color:#d7dfea;color:#8090a6}
.btn-signin{background:linear-gradient(135deg,var(--sca-primary),#1657ab);border:0;font-weight:650;letter-spacing:.2px;color:#fff}
.btn-signin:hover{filter:brightness(1.06);color:#fff}
.legal{margin-top:20px;text-align:center;font-size:12px;color:#8090a6}
.copyfoot{margin-top:10px;text-align:center;font-size:11.5px;color:#a4b0c2}

@media(max-width:900px){
    .auth{grid-template-columns:1fr}
    .auth-brand{padding:30px 26px 26px}
    .auth-brand-inner{min-height:auto}
    .brand-hero{margin-top:24px}.brand-hero h1{font-size:27px}
    .carousel-sca{min-height:150px}
    .brand-contact{padding-top:24px}
}

/* =====================================================================
   Section 7 - Medical report batch upload (Prescriptions/Upload.aspx)
   ===================================================================== */
.rpt-dropzone{
  border:2px dashed #c2cede;border-radius:var(--sca-radius);
  padding:26px 20px;text-align:center;cursor:pointer;color:var(--sca-muted);
  background:#f7f9fc;transition:.15s;
}
.rpt-dropzone:hover,.rpt-dropzone:focus{border-color:var(--sca-primary);color:var(--sca-text);outline:none}
.rpt-dropzone.is-over{border-color:var(--sca-primary);background:#eef4fe;color:var(--sca-primary-dark)}
.rpt-dropzone i{font-size:30px;display:block;margin-bottom:6px;color:var(--sca-primary)}
.rpt-dropzone .dz-main{font-size:14px;font-weight:600}
.rpt-dropzone .dz-link{color:var(--sca-primary);text-decoration:underline}
.rpt-dropzone .dz-sub{font-size:12px;margin-top:4px}

.rpt-list{display:flex;flex-direction:column;gap:8px}
.rpt-row{
  display:flex;align-items:flex-start;gap:12px;
  border:1px solid var(--sca-border);border-radius:10px;padding:11px 12px;background:#fff;
}
.rpt-icon{font-size:22px;color:var(--sca-muted);flex:none;line-height:1.2}
.rpt-meta{flex:1;min-width:0}
.rpt-name{font-weight:600;font-size:13.5px;word-break:break-all}
.rpt-sub{font-size:11.5px;color:var(--sca-muted);margin-top:1px}
.rpt-bar{height:6px;border-radius:4px;background:#e7edf5;margin-top:7px;overflow:hidden}
.rpt-bar span{display:block;height:100%;background:var(--sca-accent);transition:width .15s}
.rpt-msg{font-size:11.5px;margin-top:5px;color:var(--sca-muted)}
.rpt-msg.is-warn{color:#8a5b00}
.rpt-msg.is-err{color:var(--sca-danger)}
.rpt-actions{margin-top:7px;display:flex;gap:6px;flex-wrap:wrap}
.rpt-status{
  flex:none;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  white-space:nowrap;padding-top:1px;
}
.rpt-x{
  flex:none;border:0;background:transparent;color:var(--sca-muted);
  font-size:19px;line-height:1;cursor:pointer;padding:0 2px;
}
.rpt-x:hover{color:var(--sca-danger)}

.st-dot{width:9px;height:9px;border-radius:50%;flex:none;display:inline-block;background:#9aa7b8}
.st-selected{background:#9aa7b8}
.st-progress{background:var(--sca-accent)}
.st-ok{background:var(--sca-success)}
.st-warn{background:var(--sca-warning)}
.st-err{background:var(--sca-danger)}

.rpt-spin{
  width:12px;height:12px;border-radius:50%;display:inline-block;
  border:2px solid #d7e0ec;border-top-color:var(--sca-accent);animation:rpt-spin .8s linear infinite;
}
@keyframes rpt-spin{to{transform:rotate(360deg)}}

.rpt-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11.5px;color:var(--sca-muted)}
.rpt-legend span{display:flex;align-items:center;gap:6px}

/* =====================================================================
   Section 13 - Clinical AI Dashboard (Dashboard/Dashboard.aspx)
   Deep teal / white / light grey, with emerald = normal, amber =
   attention, red = critical. High-contrast, low-clutter.
   ===================================================================== */
.dash{
  --d-teal:#0e6b63;      --d-teal-dark:#0a534d;
  --d-normal:#1f9d6b;    --d-low:#b9770e;   --d-high:#c76a12;   --d-critical:#c0392b;
  --d-ink:#1e2b2b;       --d-muted:#5c6b6b; --d-line:#e3e9e8;   --d-surface:#f4f6f6;
  color:var(--d-ink);
}
.dash a{text-decoration:none;color:inherit}

.dash-top{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.dash-greet{font-size:11.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:var(--d-teal)}
.dash-h1{margin:2px 0 2px;font-size:22px;font-weight:700;color:var(--d-ink)}
.dash-sub{color:var(--d-muted);font-size:13px}
.dash-upload{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;
  background:var(--d-teal);color:#fff;font-weight:600;font-size:13.5px;
  padding:10px 16px;border-radius:9px;transition:.15s;
}
.dash-upload:hover{background:var(--d-teal-dark);color:#fff}

.dash-card{border:1px solid var(--d-line);box-shadow:none;margin-bottom:16px}
.dash-card .dash-card-h{
  display:flex;align-items:baseline;gap:10px;padding:14px 16px 0;
}
.dash-card-t{font-size:14.5px;font-weight:700}
.dash-card-meta{font-size:11.5px;color:var(--d-muted);margin-left:auto}
.dash-link{font-size:12px;color:var(--d-teal);font-weight:600;margin-left:auto}
.dash-loading,.dash-empty{padding:16px;color:var(--d-muted);font-size:13px}

.dash-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 16px 4px}
.dash-tile{border:1px solid var(--d-line);border-radius:10px;padding:14px 12px;background:#fff}
.dash-tile-n{font-size:26px;font-weight:800;line-height:1}
.dash-tile-l{font-size:12px;font-weight:600;color:var(--d-muted);margin-top:4px}
.dash-tile.g-normal{border-color:#bfe6d3}.dash-tile.g-normal .dash-tile-n{color:var(--d-normal)}
.dash-tile.g-low .dash-tile-n{color:var(--d-low)}
.dash-tile.g-high .dash-tile-n{color:var(--d-high)}
.dash-tile.g-critical{border-color:#eec3bd}.dash-tile.g-critical .dash-tile-n{color:var(--d-critical)}
.dash-note{padding:6px 16px 14px;font-size:11px;color:var(--d-muted);line-height:1.5}

.dash-activity{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.dash-act{background:#fff;border:1px solid var(--d-line);border-radius:10px;padding:12px}
.dash-act-n{font-size:19px;font-weight:700;color:var(--d-teal)}
.dash-act-l{font-size:11px;color:var(--d-muted);margin-top:2px;line-height:1.35}

.dash-cols{display:grid;grid-template-columns:1.6fr 1fr;gap:16px;align-items:start}
.dash-side .dash-card{margin-bottom:16px}

.dash-recent{padding:6px 8px 8px}
.dash-row{
  display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:8px;
}
.dash-row:hover{background:var(--d-surface)}
.dash-row + .dash-row{border-top:1px solid var(--d-line)}
.dash-row-main{flex:1;min-width:0}
.dash-row-t{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-row-s{font-size:11.5px;color:var(--d-muted);margin-top:2px}
.dash-row-meta{display:flex;align-items:center;gap:6px;flex:none}

.dash-chip{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px;white-space:nowrap}
.dash-chip.is-ok{background:#e4f4ec;color:var(--d-normal)}
.dash-chip.is-warn{background:#fbeed6;color:var(--d-low)}
.dash-chip.is-err{background:#f7e0dc;color:var(--d-critical)}
.dash-chip.is-progress{background:#e2eeed;color:var(--d-teal)}
.dash-chip.is-muted{background:#eef1f1;color:var(--d-muted)}
.dash-conf{font-size:11px;font-weight:700;color:var(--d-muted)}
.dash-conf.is-ok{color:var(--d-normal)}.dash-conf.is-warn{color:var(--d-low)}.dash-conf.is-err{color:var(--d-critical)}

.dash-findings,.dash-followups{padding:6px 8px 10px}
.dash-finding{display:flex;gap:10px;padding:10px;border-radius:8px}
.dash-finding:hover{background:var(--d-surface)}
.dash-finding + .dash-finding{border-top:1px solid var(--d-line)}
.dash-finding-dot{width:8px;height:8px;border-radius:50%;flex:none;margin-top:5px;background:var(--d-teal)}
.dash-finding.is-err .dash-finding-dot{background:var(--d-critical)}
.dash-finding.is-warn .dash-finding-dot{background:var(--d-low)}
.dash-finding.is-info .dash-finding-dot{background:var(--d-teal)}
.dash-finding-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.dash-finding-t{font-weight:600;font-size:12.5px}
.dash-finding-s{font-size:11.5px;color:var(--d-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dash-finding-m{font-size:10.5px;color:var(--d-muted);margin-top:1px}

.dash-followup{display:flex;gap:10px;padding:10px;border-radius:8px}
.dash-followup:hover{background:var(--d-surface)}
.dash-followup + .dash-followup{border-top:1px solid var(--d-line)}
.dash-followup-date{font-size:11.5px;font-weight:700;color:var(--d-teal);white-space:nowrap;flex:none;padding-top:1px}
.dash-followup-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.dash-followup-t{font-weight:600;font-size:12.5px}
.dash-followup-s{font-size:11.5px;color:var(--d-muted)}

@media(max-width:1100px){
  .dash-cols{grid-template-columns:1fr}
  .dash-activity{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:640px){
  .dash-glance{grid-template-columns:repeat(2,1fr)}
  .dash-activity{grid-template-columns:repeat(2,1fr)}
}


/* =====================================================================
   Smart Report - premium magazine layout (Reports/DocumentReport.aspx)
   ===================================================================== */
.srx-toolbar{display:flex;gap:8px;justify-content:flex-end;margin:0 auto 14px;max-width:1280px}

.srx-sheet{
  --s-serif:"Fraunces","Iowan Old Style","Georgia",serif;
  --s-sans:"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --s-teal:#0c5b54; --s-teal-2:#12857a; --s-mint:#38c9a4;
  --s-normal:#128a5e; --s-low:#b9770e; --s-high:#c2610f; --s-critical:#bd2f22; --s-unknown:#7d8d8b;
  --s-ink:#182524; --s-body:#3a4746; --s-muted:#6b7a78; --s-line:#e7eeec; --s-cream:#faf9f6;
  position:relative;max-width:1280px;margin:0 auto;background:#fff;color:var(--s-body);
  font-family:var(--s-sans);border-radius:18px;overflow:hidden;
  box-shadow:0 1px 2px rgba(12,91,84,.06),0 12px 30px rgba(12,91,84,.10),0 40px 80px -30px rgba(12,91,84,.22);
}
.srx-sheet::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;
  background:linear-gradient(90deg,var(--s-teal),var(--s-mint) 55%,#d9b877)}
.srx-loading,.srx-empty{padding:52px 40px;text-align:center;color:var(--s-muted);font-size:13px}
.srx-empty{padding:22px 32px;background:var(--s-cream);border-bottom:1px solid var(--s-line)}

/* ---- header banner: cover + AI summary side by side ---- */
.srx-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:stretch}
.srx-top > .srx-cover{
  padding:32px 34px;flex-direction:column;justify-content:center;gap:22px;flex-wrap:nowrap;
}
.srx-top > .srx-cover::after{display:none}
.srx-top > .srx-cover .srx-cover-l,
.srx-top > .srx-cover .srx-cover-r{min-width:0}
.srx-top > .srx-cover .srx-cover-r{border-top:1px solid rgba(255,255,255,.16);padding-top:14px}
.srx-top > .srx-cover .srx-title{font-size:28px;margin:4px 0 6px}
.srx-top > .srx-ai{margin:0;border-radius:0;box-shadow:inset 1px 0 0 rgba(255,255,255,.07);
  grid-template-columns:1fr 156px;align-items:center;gap:22px}
.srx-top > .srx-ai .srx-ring{width:146px;height:146px}
.srx-top > .srx-ai .srx-ai-para{-webkit-line-clamp:5;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:1024px){
  .srx-top{grid-template-columns:1fr}
  .srx-top > .srx-cover{padding:32px 30px;justify-content:flex-start}
  .srx-top > .srx-cover .srx-cover-r{border-top:0;padding-top:0}
  .srx-top > .srx-ai{margin:0;box-shadow:none;border-top:1px solid rgba(255,255,255,.08)}
  .srx-top > .srx-ai .srx-ai-para{-webkit-line-clamp:unset;overflow:visible}
}

.srx-cover{
  position:relative;display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;
  padding:40px 44px 34px;color:#eef6f4;
  background:
    radial-gradient(680px 300px at 88% -10%,rgba(56,201,164,.28),transparent 60%),
    radial-gradient(520px 360px at 0% 120%,rgba(217,184,119,.14),transparent 55%),
    linear-gradient(135deg,#0a4a44,#0c5b54 45%,#0f6f65);
}
.srx-cover::after{content:"";position:absolute;left:44px;right:44px;bottom:22px;height:1px;background:rgba(255,255,255,.18)}
.srx-cover-l{display:flex;flex-direction:column;gap:2px;min-width:240px}
.srx-mono{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;font-family:var(--s-serif);font-size:19px;font-weight:600;color:#eef6f4;margin-bottom:14px}
.srx-kicker{font-size:10.5px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#8fe0c8}
.srx-title{font-family:var(--s-serif);font-size:34px;font-weight:590;letter-spacing:-.5px;line-height:1.08;margin:6px 0 8px;color:#fff}
.srx-brand{font-size:12px;letter-spacing:.4px;opacity:.82}
.srx-cover-r{min-width:270px;display:flex;flex-direction:column;gap:0;font-size:12px}
.srx-cover-r > div{display:flex;justify-content:space-between;gap:20px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.srx-cover-r > div:last-child{border-bottom:0}
.srx-cover-r span{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:rgba(238,246,244,.62);padding-top:2px}
.srx-cover-r b{font-weight:500;text-align:right;max-width:190px}

/* ---- section headings ---- */
.srx-h{
  font-family:var(--s-serif);font-size:19px;font-weight:560;letter-spacing:-.2px;color:var(--s-ink);
  margin:38px 44px 14px;padding-bottom:10px;border-bottom:1px solid var(--s-line);
  display:flex;align-items:baseline;gap:12px;
}
.srx-h-n{font-family:var(--s-sans);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--s-teal-2);
  font-variant-numeric:tabular-nums;flex:none}
.srx-para{margin:0 44px 10px;font-size:13.5px;line-height:1.7;color:var(--s-body);max-width:66ch}
.srx-list{margin:0 44px 10px;padding-left:20px;font-size:13px;line-height:1.8}
.srx-followup{margin:16px 44px 0;padding:12px 16px;background:var(--s-cream);border-left:3px solid var(--s-teal);border-radius:8px;font-size:12.5px}

/* ---- AI summary card ---- */
.srx-ai{
  margin:24px 44px 6px;border-radius:16px;padding:26px 28px;color:#e9f4f1;
  display:grid;grid-template-columns:1fr 200px;gap:26px;align-items:center;
  background:
    radial-gradient(600px 200px at 100% 0,rgba(56,201,164,.22),transparent 60%),
    radial-gradient(400px 240px at -10% 120%,rgba(217,184,119,.12),transparent 55%),
    linear-gradient(150deg,#0a3f3a,#0d514b 60%,#0a3f3a);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px -20px rgba(10,63,58,.6);
}
.srx-ai-body{min-width:0}
.srx-ai-kicker{font-size:10.5px;font-weight:600;letter-spacing:2.4px;text-transform:uppercase;color:#7fe0c6;display:flex;align-items:center;gap:7px}
.srx-ai-head{font-family:var(--s-serif);font-size:22px;font-weight:560;line-height:1.24;letter-spacing:-.3px;color:#fff;margin:12px 0 10px}
.srx-ai-para{font-size:12.5px;line-height:1.65;color:#b9d3cd;margin:0 0 16px;max-width:60ch}
.srx-ai-chips{display:flex;flex-wrap:wrap;gap:8px}
.srx-mk{font-size:11px;font-weight:600;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.06);
  color:#dcece8;border:1px solid rgba(255,255,255,.14)}
.srx-mk.srx-b-low{background:rgba(185,119,14,.20);color:#f2cf98;border-color:rgba(185,119,14,.45)}
.srx-mk.srx-b-high{background:rgba(194,97,15,.20);color:#f3bd94;border-color:rgba(194,97,15,.45)}
.srx-mk.srx-b-critical{background:rgba(189,47,34,.24);color:#f2aaa1;border-color:rgba(189,47,34,.5)}
.srx-mk.srx-b-normal{background:rgba(56,201,164,.16);color:#a7ead5;border-color:rgba(56,201,164,.4)}
.srx-ai-score{text-align:center}
.srx-ai-score-note{font-size:9px;color:#8bb0a9;margin-top:6px;line-height:1.5;letter-spacing:.2px}
.srx-ai-foot{grid-column:1/-1;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
  border-top:1px solid rgba(255,255,255,.12);padding-top:14px;margin-top:6px;font-size:11px;color:#a3c1bb;letter-spacing:.2px}
.srx-ai-foot a{color:#7fe0c0;font-weight:600;text-decoration:none}
.srx-ai-foot a:hover{color:#a7ead5}

.srx-ring{width:172px;height:172px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}
.srx-ring-bg{fill:none;stroke:rgba(255,255,255,.10);stroke-width:9}
.srx-ring-fg{fill:none;stroke-width:9;stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px;
  transition:stroke-dashoffset .8s cubic-bezier(.3,.8,.3,1);stroke:url(#srxRingGrad)}
.srx-ring-n{fill:#fff;font-family:var(--s-serif);font-size:33px;font-weight:600;text-anchor:middle;letter-spacing:-1px}
.srx-ring-l{fill:#9fbdb6;font-size:8.5px;text-anchor:middle;letter-spacing:2px;text-transform:uppercase}

/* ---- overview ---- */
.srx-glance{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:6px 44px 4px}
.srx-tile{border:1px solid var(--s-line);border-radius:13px;padding:16px 14px;text-align:center;background:#fff;
  box-shadow:0 1px 2px rgba(12,91,84,.04)}
.srx-tile-n{font-family:var(--s-serif);font-size:30px;font-weight:600;line-height:1;letter-spacing:-1px}
.srx-tile-l{font-size:10.5px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:var(--s-muted);margin-top:6px}
.srx-tile.srx-b-normal{box-shadow:inset 0 3px 0 var(--s-normal),0 1px 2px rgba(12,91,84,.04)}
.srx-tile.srx-b-low{box-shadow:inset 0 3px 0 var(--s-low),0 1px 2px rgba(12,91,84,.04)}
.srx-tile.srx-b-high{box-shadow:inset 0 3px 0 var(--s-high),0 1px 2px rgba(12,91,84,.04)}
.srx-tile.srx-b-critical{box-shadow:inset 0 3px 0 var(--s-critical),0 1px 2px rgba(12,91,84,.04)}
.srx-glance-note{padding:10px 44px 2px;font-size:11.5px;color:var(--s-muted)}

.srx-bars{margin:14px 44px 6px;display:flex;flex-direction:column;gap:10px}
.srx-bar-row{display:grid;grid-template-columns:160px 1fr;gap:16px;align-items:center;font-size:12px}
.srx-bar-lbl{color:var(--s-ink);font-weight:600}
.srx-bar-lbl span{color:var(--s-muted);font-weight:400}
.srx-bar{height:12px;border-radius:999px;background:#eef2f1;overflow:hidden;display:flex;
  box-shadow:inset 0 1px 2px rgba(12,91,84,.10)}
.srx-seg{height:100%}
.srx-bg-normal{background:var(--s-normal)}.srx-bg-low{background:var(--s-low)}.srx-bg-high{background:var(--s-high)}
.srx-bg-critical{background:var(--s-critical)}.srx-bg-unknown{background:#cdd6d4}

/* ---- next best step ---- */
.srx-next{margin:2px 44px 6px;border:1px solid var(--s-line);border-radius:13px;padding:16px 18px;background:var(--s-cream)}
.srx-next-sub{font-size:10px;color:var(--s-teal-2);text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:8px}
.srx-next ol{margin:0;padding:0;list-style:none;counter-reset:s;font-size:12.5px;line-height:1.6}
.srx-next li{counter-increment:s;position:relative;padding:7px 0 7px 30px;border-bottom:1px solid var(--s-line)}
.srx-next li:last-child{border-bottom:0}
.srx-next li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:7px;
  font-family:var(--s-sans);font-size:10px;font-weight:700;color:var(--s-teal-2);letter-spacing:.5px}

/* ---- health picture chips ---- */
.srx-picture{display:flex;flex-wrap:wrap;gap:9px;padding:2px 44px}
.srx-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--s-line);border-radius:11px;padding:9px 13px;font-size:12px;background:#fff}
.srx-chip b{font-weight:600;color:var(--s-ink)}
.srx-chip span{color:var(--s-muted);font-size:10.5px;letter-spacing:.3px}
.srx-dot{width:8px;height:8px;border-radius:50%;flex:none}

/* ---- attention ---- */
.srx-attn{padding:0 44px;display:flex;flex-direction:column;gap:9px}
.srx-attn-row{border:1px solid var(--s-line);border-left-width:3px;border-radius:11px;padding:11px 15px;
  display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;background:#fff;
  box-shadow:0 1px 2px rgba(12,91,84,.04)}
.srx-attn-name{font-weight:600;font-size:12.5px;color:var(--s-ink)}
.srx-attn-val{font-size:12.5px;white-space:nowrap;font-variant-numeric:tabular-nums}
.srx-attn-ref{font-size:10.5px;color:var(--s-muted);white-space:nowrap;letter-spacing:.2px}
.srx-attn-note{grid-column:1/-1;font-size:11.5px;color:var(--s-muted);line-height:1.55}

/* ---- tables ---- */
.srx-profile{margin:0 44px 16px;border:1px solid var(--s-line);border-radius:13px;overflow:hidden}
.srx-profile-h{background:var(--s-cream);padding:10px 15px;font-weight:700;font-size:11px;color:var(--s-teal-2);
  text-transform:uppercase;letter-spacing:1.6px;border-bottom:1px solid var(--s-line)}
.srx-table{width:100%;border-collapse:collapse;font-size:12.5px}
.srx-table th{text-align:left;padding:9px 15px;background:#fff;color:var(--s-muted);font-weight:600;
  border-bottom:1px solid var(--s-line);font-size:9.5px;text-transform:uppercase;letter-spacing:1.2px}
.srx-table td{padding:9px 15px;border-bottom:1px solid #eef3f2;color:var(--s-body)}
.srx-table tr:last-child td{border-bottom:0}
.srx-table td:first-child{border-left:3px solid transparent;font-weight:500;color:var(--s-ink)}
.srx-table tr.srx-b-low td:first-child{border-left-color:var(--s-low)}
.srx-table tr.srx-b-high td:first-child{border-left-color:var(--s-high)}
.srx-table tr.srx-b-critical td:first-child{border-left-color:var(--s-critical)}
.srx-table tr.srx-b-normal td:first-child{border-left-color:#dfe8e5}
.srx-num{white-space:nowrap;font-variant-numeric:tabular-nums}
.srx-ref{color:var(--s-muted);white-space:pre-line;font-size:11.5px}

/* ---- pills ---- */
.srx-pill{display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  padding:3px 9px;border-radius:999px}
.srx-normal{color:var(--s-normal)} .srx-low{color:var(--s-low)} .srx-high{color:var(--s-high)}
.srx-critical{color:var(--s-critical)} .srx-unknown{color:var(--s-unknown)}
.srx-pill.srx-normal{background:#e3f3ec} .srx-pill.srx-low{background:#f8ecd7}
.srx-pill.srx-high{background:#f8e5d3} .srx-pill.srx-critical{background:#f7ded9} .srx-pill.srx-unknown{background:#eef1f0}
.srx-dot.srx-normal{background:var(--s-normal)} .srx-dot.srx-low{background:var(--s-low)}
.srx-dot.srx-high{background:var(--s-high)} .srx-dot.srx-critical{background:var(--s-critical)} .srx-dot.srx-unknown{background:var(--s-unknown)}
.srx-b-normal{border-left-color:#dfe8e5 !important}
.srx-b-low{border-left-color:var(--s-low) !important}
.srx-b-high{border-left-color:var(--s-high) !important}
.srx-b-critical{border-left-color:var(--s-critical) !important}
.srx-b-unknown{border-left-color:var(--s-unknown) !important}

/* ---- trends ---- */
.srx-trends{margin:0 44px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.srx-trend-empty{grid-column:1/-1;color:var(--s-muted);font-size:12px;padding:12px 0;font-style:italic}
.srx-trend{border:1px solid var(--s-line);border-radius:13px;padding:13px 15px;background:#fff}
.srx-trend-h{font-size:12px;font-weight:600;display:flex;align-items:baseline;gap:8px;color:var(--s-ink)}
.srx-trend-h .text-muted{font-size:10px;letter-spacing:.5px}
.srx-trend-h b{margin-left:auto;font-family:var(--s-serif);font-size:15px;color:var(--s-teal-2)}
.srx-spark-svg{width:100%;height:74px;display:block;margin-top:6px}
.srx-spark{fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.srx-spark.s1{stroke:var(--s-teal-2)}.srx-spark.s2{stroke:var(--s-high)}
.srx-spark-dot{fill:#fff;stroke:var(--s-teal-2);stroke-width:1.5}
.srx-trend-x{display:flex;justify-content:space-between;font-size:9px;color:var(--s-muted);margin-top:3px;letter-spacing:.3px}

.srx-foot{margin:34px 44px 34px;padding-top:16px;border-top:1px solid var(--s-line);
  font-size:10px;color:var(--s-muted);text-align:center;line-height:1.7;letter-spacing:.2px}

@media(max-width:720px){
  .srx-ai{grid-template-columns:1fr}
  .srx-glance{grid-template-columns:repeat(2,1fr)}
  .srx-bar-row{grid-template-columns:1fr}
  .srx-trends{grid-template-columns:1fr}
  .srx-attn-row{grid-template-columns:1fr}
  .srx-cover,.srx-ai{padding-left:24px;padding-right:24px}
  .srx-h,.srx-para,.srx-glance,.srx-bars,.srx-picture,.srx-attn,.srx-profile,.srx-trends,.srx-next,.srx-foot,.srx-followup,.srx-list{margin-left:20px;margin-right:20px}
  .srx-title{font-size:27px}
}
@media print{
  .sca-sidebar,.sca-topbar,.srx-toolbar{display:none !important}
  .sca-main{margin-left:0 !important}.sca-content{padding:0 !important}
  .srx-sheet{box-shadow:none;border:0;max-width:none;border-radius:0}
  .srx-cover,.srx-ai{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .srx-profile,.srx-attn-row,.srx-chip,.srx-trend,.srx-ai,.srx-next{break-inside:avoid}
  .srx-h{break-after:avoid}
}

/* ---------- Topbar: date/time + weather chips ---------- */
.sca-topbar .tb-meta{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.tb-chip{
  display:inline-flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:12px;font-weight:600;color:var(--sca-text);
  background:#f2f5f9;border:1px solid var(--sca-border);border-radius:8px;padding:5px 10px;
}
.tb-chip i{color:var(--sca-primary);font-size:13px}
.tb-weather i{color:var(--sca-accent)}
@media(max-width:1100px){ .tb-chip.tb-clock:first-child{display:none} }   /* hide the date chip, keep time + weather */
@media(max-width:760px){ .sca-topbar .tb-weather{display:none} }        /* keep just the time chip */
@media(max-width:520px){ .sca-topbar .tb-meta{display:none} }           /* very small: drop it entirely */

/* ---------- Footer strip ---------- */
.sca-main{min-height:100vh}
.sca-content{flex:1 0 auto}
.sca-footer{
  flex:none;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  padding:12px 26px;border-top:1px solid var(--sca-border);background:#fff;
  font-size:11.5px;color:var(--sca-muted);
}
.sca-footer b{color:var(--sca-text);font-weight:600}
.sca-footer .ft-ver{background:#eef2f7;border-radius:6px;padding:1px 6px;margin-left:4px;font-size:10.5px}
.sca-footer .ft-note i{color:var(--sca-success);margin-right:4px}
@media print{ .sca-footer{display:none} }

/* ---------- Session-expiry warning ---------- */
.sess-warn{position:fixed;left:0;right:0;bottom:0;z-index:2000;display:flex;justify-content:center;padding:14px}
.sess-warn-box{
  display:flex;align-items:center;gap:14px;max-width:520px;width:100%;
  background:#10233d;color:#eef4ff;border-radius:12px;padding:14px 16px;
  box-shadow:0 12px 40px rgba(16,35,61,.35);
}
.sess-warn-box > i{font-size:22px;color:#f5a623;flex:none}
.sess-warn-box b{font-size:13px}
.sess-warn-box p{margin:2px 0 0;font-size:11.5px;color:#b7c6dd}
.sess-warn-box .btn{flex:none;margin-left:auto}

/* ---------- Login: show-password affordance ---------- */
#btnShowPwd{cursor:pointer;background:#f7f9fc}
#btnShowPwd:hover i{color:var(--sca-primary)}

/* =====================================================================
   Mobile cross-check fixes
   ===================================================================== */
@media(max-width:640px){
  .sca-content{padding:14px 12px 28px}
  .page-head h4{font-size:18px}
  .card .card-body{padding:14px}
}

/* Wide data tables scroll inside their card instead of stretching the page */
.card .card-body.p-0{overflow-x:auto;-webkit-overflow-scrolling:touch}
.card .card-body.p-0 > .table{min-width:640px}

/* Topbar: reclaim width on small screens */
@media(max-width:560px){
  .sca-user .nm{display:none}
  .sca-topbar{gap:10px;padding:0 12px}
  .sca-topbar .page-title small{display:none}
}

/* Footer stacks on mobile */
@media(max-width:640px){
  .sca-footer{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 14px}
}

/* Session-expiry banner: let the button drop below on narrow phones */
@media(max-width:420px){
  .sess-warn{padding:8px}
  .sess-warn-box{flex-wrap:wrap}
  .sess-warn-box .btn{margin-left:0;width:100%}
}

/* Upload batch rows: stack the status/remove controls under the file meta */
@media(max-width:560px){
  .rpt-row{flex-wrap:wrap}
  .rpt-meta{flex-basis:100%;order:2}
  .rpt-status{order:1}
  .rpt-x{order:1;margin-left:auto}
}

/* Dashboard: findings/followups already stack; tighten the glance + activity grids */
@media(max-width:460px){
  .dash-glance{grid-template-columns:1fr 1fr}
  .dash-activity{grid-template-columns:1fr 1fr}
  .dash-row{flex-wrap:wrap}
  .dash-row-meta{order:3;width:100%;justify-content:flex-start}
}

/* Premium Smart Report: keep everything inside the sheet on phones */
@media(max-width:720px){
  .srx-cover-l,.srx-cover-r{min-width:0}
  .srx-cover-r b{max-width:none}
  .srx-glance{padding-left:20px;padding-right:20px}
  .srx-profile{overflow-x:auto}
  .srx-profile > .srx-table{min-width:520px}
  .srx-toolbar{justify-content:stretch}
  .srx-toolbar .btn{flex:1}
}
@media(max-width:420px){
  .srx-ai{padding:18px 16px}
  .srx-ring{width:130px;height:130px}
  .srx-title{font-size:23px}
  .srx-h,.srx-para,.srx-glance,.srx-bars,.srx-picture,.srx-attn,.srx-profile,.srx-trends,.srx-next,.srx-foot,.srx-followup,.srx-list{margin-left:14px;margin-right:14px}
  .srx-cover,.srx-ai{padding-left:16px;padding-right:16px}
}

/* Analysis viewer: don't stack two 80vh panes on a phone */
@media(max-width:767px){
  .row .col-md-5 .card[style*="80vh"],
  .row .col-md-7 .card[style*="80vh"]{height:auto !important}
  #ifrDocument{height:56vh !important}
}

/* Login: drop the marketing rail on small phones, show the form */
@media(max-width:600px){
  .auth-brand{padding:20px 18px}
  .brand-hero{margin-top:10px}
  .brand-hero h1{font-size:21px}
  .brand-hero .lede,.carousel-sca,.cdots,.brand-contact{display:none}
  .auth-form{padding:26px 18px}
}

/* ---------- Analysis Viewer: pdf.js source view + clinical source highlighting ---------- */
#pdfHost{width:100%;height:100%;overflow-y:auto;overflow-x:hidden;background:#51565c;padding:6px 0}
#pdfHost .src-frame{width:100%;height:100%;border:0;background:#fff}
#pdfHost .src-img{display:block;max-width:100%;margin:0 auto;background:#fff}
.pdf-page{position:relative;margin:0 auto 8px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.45);max-width:100%}
.pdf-page canvas{display:block}
.textLayer{position:absolute;left:0;top:0;overflow:hidden;line-height:1;opacity:1;
  transform-origin:0 0;-webkit-user-select:none;user-select:none}
.textLayer span,.textLayer br{position:absolute;white-space:pre;color:transparent;
  transform-origin:0 0;pointer-events:none}
.textLayer span.src-hl{
  background:rgba(255,209,0,.42);color:transparent;border-radius:2px;
  box-shadow:0 0 0 2px rgba(255,193,7,.8);
}
#srcToast{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);max-width:80%;
  background:#10233d;color:#fff;font-size:12px;line-height:1.4;padding:8px 14px;border-radius:8px;
  z-index:6;opacity:0;transition:opacity .2s;pointer-events:none;box-shadow:0 6px 20px rgba(0,0,0,.3);
}
#srcToast.on{opacity:1}
.src-link{cursor:pointer;border-bottom:1px dashed #a9b4c4}
.src-link:hover{background:#fff6cf;border-bottom-color:var(--sca-primary)}
.src-find{cursor:pointer;color:var(--sca-primary);font-size:12px}
.src-find:hover{color:var(--sca-primary-dark)}

/* ---------- Topbar notification bell ---------- */
.notif-wrap{position:relative}
#btnNotif{position:relative}
.notif-badge{
  position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;
  background:var(--sca-danger);color:#fff;font-size:10px;font-weight:700;line-height:16px;
  text-align:center;border-radius:9px;border:2px solid #fff;
}
.notif-panel{
  position:absolute;right:0;top:46px;width:340px;max-width:92vw;background:#fff;
  border:1px solid var(--sca-border);border-radius:12px;box-shadow:0 14px 40px rgba(16,35,61,.18);
  z-index:1400;overflow:hidden;
}
.notif-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;
  border-bottom:1px solid var(--sca-border);font-weight:600;font-size:13px}
.notif-head a{font-size:11.5px;font-weight:600;color:var(--sca-primary);text-decoration:none}
.notif-list{max-height:60vh;overflow-y:auto}
.notif-empty{padding:24px 14px;text-align:center;color:var(--sca-muted);font-size:12.5px}
.notif-item{display:flex;gap:10px;padding:10px 14px;text-decoration:none;color:var(--sca-text);
  border-bottom:1px solid #eef2f7}
.notif-item:last-child{border-bottom:0}
.notif-item:hover{background:#f6f9fd}
.notif-item.is-unread{background:#f0f6ff}
.notif-item.is-unread:hover{background:#e7f0ff}
.notif-item > i{font-size:16px;color:var(--sca-primary);flex:none;margin-top:1px}
.notif-item .bi-x-octagon,.notif-item .bi-exclamation-triangle-fill{color:var(--sca-danger)}
.notif-item .bi-exclamation-circle{color:var(--sca-warning)}
.notif-item .bi-check-circle{color:var(--sca-success)}
.notif-body{display:flex;flex-direction:column;gap:1px;min-width:0}
.notif-body b{font-size:12.5px}
.notif-body span{font-size:11.5px;color:var(--sca-muted);line-height:1.4}
.notif-body time{font-size:10.5px;color:#9aa7b8;margin-top:2px}
@media(max-width:560px){ .notif-panel{position:fixed;right:8px;left:8px;width:auto;top:54px} }
