
:root{
  --bg:#eef0f5;
  --card:#ffffff;
  --line:#dde3ea;
  --line2:#edf1f5;
  --text:#16202a;
  --muted:#64748b;
  --shadow:0 1px 4px rgba(16,24,40,.07),0 4px 12px rgba(16,24,40,.04);
  --shadow-sm:0 1px 3px rgba(16,24,40,.06);
  --shadow-lg:0 8px 32px rgba(16,24,40,.12);
  --radius:14px;
  --blue:#2563eb; --blueBg:#eff6ff; --blueTint:#bfdbfe; --blueTint2:#dbeafe;
  --green:#15803d; --greenBg:#ecfdf5; --greenTint:#86efac;
  --orange:#b45309; --orangeBg:#fff7ed;
  --red:#b91c1c; --redBg:#fef2f2;
  --amber:#92400e; --amberBg:#fffbeb;
  --purple:#6d28d9; --purpleBg:#f5f3ff;
  --fxl:17px; --fl:15px; --fm:14px; --fs:13px; --fxs:12px; --fxxs:11px;
  --gray1:#1e293b; --gray2:#475569; --gray3:#64748b;
  --gray4:#94a3b8; --gray5:#cbd5e1; --gray6:#f1f5f9; --gray7:#f8fafc;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{
  height:100%;background:var(--bg);color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"PingFang SC","Helvetica Neue",Arial,sans-serif;
  font-size:var(--fm);
}
button,input,textarea,select{font:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(37,99,235,.3);outline-offset:2px;
}

.screen{display:none}
.screen.active{display:flex;flex-direction:column;min-height:100vh}

/* ── LOGIN ── */
.login-screen{align-items:center;justify-content:center;background:var(--bg);padding:2rem 1rem}
.login-card{
  background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-lg);
  padding:2.5rem 2rem;width:100%;max-width:380px;
}
.login-logo{display:flex;align-items:center;gap:8px;margin-bottom:2rem}
.login-logo-mark{
  width:32px;height:32px;border-radius:50%;background:#1d4ed8;
  display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:900;color:#fff;letter-spacing:-.5px;
}
.login-logo-text{font-size:15px;font-weight:800;letter-spacing:-.2px;color:#1d4ed8}
.login-logo-sub{font-size:10px;color:var(--muted);letter-spacing:.06em;font-weight:600}
.login-title{font-size:20px;font-weight:700;color:var(--gray1);margin-bottom:4px}
.login-sub{font-size:var(--fs);color:var(--muted);margin-bottom:1.75rem}
.field-group{margin-bottom:1rem}
.field-label{display:block;font-size:var(--fxs);font-weight:600;color:var(--gray2);margin-bottom:5px}
.field-input{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;
  font-size:var(--fs);color:var(--text);background:#fff;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.field-input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.role-label{font-size:var(--fxs);font-weight:600;color:var(--gray2);margin-bottom:8px}
.role-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:1.5rem}
.role-opt{
  padding:9px 10px;border:1.5px solid var(--line);border-radius:10px;
  cursor:pointer;text-align:center;background:#fff;
  transition:all .14s;font-size:var(--fs);color:var(--gray2);
}
.role-opt.sel{border-color:var(--blue);background:var(--blueBg);color:var(--blue);font-weight:700}
.role-opt-icon{font-size:18px;margin-bottom:3px}
.login-btn{
  width:100%;padding:11px;border:none;border-radius:10px;
  background:var(--blue);color:#fff;font-size:var(--fm);font-weight:700;
  cursor:pointer;transition:background .14s;
}
.login-btn:hover{background:#1d4ed8}
.login-err{font-size:var(--fxs);color:var(--red);margin-top:8px;display:none}
.login-note{font-size:var(--fxxs);color:var(--gray4);text-align:center;margin-top:1rem}
.demo-credentials{margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--blueBg);color:#1e3a8a;font-size:var(--fxxs);line-height:1.45}

.toast-region{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;flex-direction:column;gap:8px;max-width:min(380px,calc(100vw - 24px));pointer-events:none}
.toast{padding:11px 14px;border-radius:10px;background:#0f172a;color:#fff;box-shadow:var(--shadow-lg);font-size:var(--fs);line-height:1.45;animation:toast-in .18s ease-out}
.toast.success{background:#14532d}.toast.error{background:#7f1d1d}.toast.warn{background:#78350f}
@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* ── TOPBAR ── */
.app-screen{background:var(--bg)}
.topbar{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);padding:0 20px;
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;height:52px;max-width:1400px;margin:0 auto;
}
.tb-logo{display:flex;align-items:center;gap:8px}
.tb-logo-mark{
  width:26px;height:26px;border-radius:50%;background:#1d4ed8;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:900;color:#fff;flex-shrink:0;
}
.tb-logo-text{font-size:14px;font-weight:800;letter-spacing:-.2px;color:#1d4ed8}
.tb-sep{width:1px;height:18px;background:var(--line);margin:0 6px}
.tb-module{font-size:var(--fxs);font-weight:700;color:var(--muted);letter-spacing:.04em}
.tb-right{display:flex;align-items:center;gap:8px}
.agent-chip{
  display:inline-flex;align-items:center;gap:4px;padding:4px 10px;
  border-radius:999px;background:var(--greenBg);color:var(--green);
  font-size:var(--fxxs);font-weight:700;border:1px solid var(--greenTint);
}
.agent-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.lang-btn{
  padding:4px 9px;border:1px solid var(--line);border-radius:10px;
  background:#fff;color:var(--gray2);font-size:var(--fxs);font-weight:700;
  cursor:pointer;transition:all .12s;letter-spacing:.03em;
}
.lang-btn:hover{background:var(--blueBg);border-color:var(--blueTint);color:var(--blue)}
.user-chip{
  display:flex;align-items:center;gap:7px;padding:4px 10px 4px 4px;
  border:1px solid var(--line);border-radius:999px;cursor:pointer;
  background:#fff;transition:background .12s;font-size:var(--fxs);
}
.user-chip:hover{background:var(--gray6)}
.user-av{
  width:24px;height:24px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;flex-shrink:0;
}
.av-pi{background:var(--blueBg);color:var(--blue)}
.av-dc{background:var(--purpleBg);color:var(--purple)}

/* ── NAV ── */
.nav-bar{
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);padding:0 20px;display:flex;
}
.nav-bar-inner{display:flex;max-width:1400px;margin:0 auto;width:100%;overflow-x:auto}
.nav-tab{
  display:flex;align-items:center;gap:6px;
  padding:10px 14px;border:none;border-bottom:2.5px solid transparent;
  background:none;cursor:pointer;white-space:nowrap;
  font-size:var(--fs);color:var(--muted);transition:color .14s,border-color .14s;
}
.nav-tab:hover{color:var(--text)}
.nav-tab.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}
.nav-tab.hidden{display:none}
.nav-badge{
  min-width:18px;padding:1px 5px;border-radius:999px;
  background:var(--redBg);color:var(--red);
  font-size:10px;font-weight:800;border:1px solid #fecaca;
}

/* ── LAYOUT ── */
.main-content{max-width:1400px;margin:0 auto;padding:20px;width:100%}
.section{display:none}
.section.active{display:block}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}

/* ── OVERVIEW HERO — the page's single visual focal point ── */
.hero-critical{
  background:linear-gradient(135deg,#fef2f2,#fff);
  border:1.5px solid #fca5a5;border-radius:18px;
  padding:22px 24px;margin-bottom:16px;
  box-shadow:0 4px 20px rgba(185,28,28,.08);
}
.hero-critical-label{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:800;color:var(--red);
  text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;
}
.hero-critical-item{
  display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
  padding:14px 0;border-top:1px solid #fecaca;
}
.hero-critical-item:first-of-type{border-top:none;padding-top:4px}
.hero-critical-title{font-size:16px;font-weight:700;color:var(--gray1);margin-bottom:3px}
.hero-critical-desc{font-size:var(--fs);color:var(--gray2);line-height:1.5}
.hero-zero{
  display:flex;align-items:center;gap:12px;
  background:var(--greenBg);border:1px solid var(--greenTint);
  border-radius:14px;padding:14px 18px;margin-bottom:16px;
}
.hero-zero-icon{font-size:20px;color:var(--green);flex-shrink:0}
.hero-zero-text{font-size:var(--fm);font-weight:600;color:#14532d}
.hero-zero-sub{font-size:var(--fxs);color:var(--green);margin-top:1px}

/* ── METRIC CARDS — secondary, scaled down: background info, not the headline ── */
.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.metric-card{
  background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);
}
.metric-card.secondary{
  padding:10px 12px;box-shadow:none;background:var(--gray7);
}
.metric-card.secondary .metric-val{font-size:17px;font-weight:700}
.metric-card.secondary .metric-label{font-size:10px}
.metric-card.secondary .metric-sub{font-size:10px}
.metric-label{font-size:var(--fxs);font-weight:600;color:var(--gray3);margin-bottom:4px}
.metric-val{font-size:24px;font-weight:800;color:var(--gray1);line-height:1}
.metric-val.danger{color:var(--red)}
.metric-val.warn{color:var(--orange)}
.metric-sub{font-size:var(--fxs);color:var(--muted);margin-top:4px}

/* ── CARDS ── */
.card{
  background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;
}
.card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 16px 10px;border-bottom:1px solid var(--line2);
}
.card-title{font-size:var(--fl);font-weight:700;color:var(--gray1)}
.card-sub{font-size:var(--fxs);color:var(--muted)}
.card-body{padding:14px 16px}
.card-body-np{padding:0}

/* ── PILLS ── */
.pill{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 9px;border-radius:999px;font-size:var(--fxxs);font-weight:700;
  border:1px solid transparent;
}
.pill-green{background:var(--greenBg);color:var(--green);border-color:var(--greenTint)}
.pill-blue{background:var(--blueBg);color:var(--blue);border-color:var(--blueTint2)}
.pill-red{background:var(--redBg);color:var(--red);border-color:#fecaca}
.pill-amber{background:var(--amberBg);color:var(--amber);border-color:#fde68a}
.pill-gray{background:var(--gray6);color:var(--gray3);border-color:var(--line)}

/* Second-level tabs within a section (e.g. Data Quality's System Queue
   sub-views) — deliberately lighter weight than the top-level .qtab style
   so the hierarchy (section > sub-view) is visually obvious. */
.qsub-tab{
  padding:6px 12px;font-size:12px;cursor:pointer;border:none;background:none;
  border-bottom:2px solid transparent;color:var(--muted);border-radius:6px 6px 0 0;
  display:flex;align-items:center;gap:5px;
}
.qsub-tab:hover{background:var(--gray7);color:var(--gray2)}
.qsub-tab.on{border-bottom-color:var(--blue);color:var(--blue);font-weight:700;background:var(--gray7)}
.qsub-badge{
  font-size:10px;font-weight:700;background:var(--gray6);color:var(--gray3);
  border-radius:999px;padding:1px 7px;min-width:14px;text-align:center;
}
.qsub-tab.on .qsub-badge{background:var(--blue);color:#fff}

.pill-purple{background:var(--purpleBg);color:var(--purple);border-color:#ddd6fe}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border:1px solid var(--line);
  border-radius:10px;background:#fff;color:var(--text);
  font-size:var(--fs);cursor:pointer;transition:all .12s;
}
.btn:hover{background:var(--gray6);border-color:var(--gray5)}
.btn-sm{padding:5px 9px;font-size:var(--fxs)}
.btn-primary{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn-primary:hover{background:#1d4ed8}
.btn-danger{background:var(--redBg);color:var(--red);border-color:#fecaca}
.btn-danger:hover{background:#fee2e2}
.btn-warn{background:var(--amberBg);color:var(--amber);border-color:#fde68a}

/* ── TABLE ── */
.trow-head{
  display:grid;gap:10px;align-items:center;
  padding:8px 16px;background:var(--gray7);border-bottom:1px solid var(--line);
  font-size:var(--fxs);font-weight:700;color:var(--gray3);
}
.trow{
  display:grid;gap:10px;align-items:center;
  padding:11px 16px;border-bottom:1px solid var(--line2);font-size:var(--fs);
}
.trow:last-child{border-bottom:none}
.trow:hover{background:var(--gray7)}

/* ── PROGRESS ── */
.prog-wrap{display:flex;align-items:center;gap:8px}
.prog-bar{flex:1;height:5px;border-radius:3px;background:var(--gray6);overflow:hidden}
.prog-fill{height:100%;border-radius:3px}

/* ── DOTS ── */
.sdot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0}
.sdot-green{background:#15803d}.sdot-purple{background:#6d28d9}
.sdot-coral{background:#c2410c}.sdot-amber{background:#b45309}

/* ── CLINIC / DR ── */
.clinic-block{margin-bottom:14px}
.clinic-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 16px;background:var(--gray7);border:1px solid var(--line);
  border-radius:var(--radius);cursor:pointer;transition:background .12s;
}
.clinic-header:hover{background:var(--gray6)}
.clinic-header.open{border-radius:var(--radius) var(--radius) 0 0}
.clinic-name{font-size:var(--fm);font-weight:700;color:var(--gray1)}
.clinic-meta{font-size:var(--fxs);color:var(--muted);margin-top:2px}
.clinic-body{border:1px solid var(--line);border-top:none;border-radius:0 0 var(--radius) var(--radius);background:var(--card);display:none}
.clinic-body.open{display:block}
.dr-grid{grid-template-columns:160px 80px 1fr 120px 100px}
.av{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;flex-shrink:0}
.av-a{background:var(--blueBg);color:var(--blue)}
.av-b{background:var(--purpleBg);color:var(--purple)}
.av-c{background:var(--greenBg);color:var(--green)}
.av-d{background:var(--amberBg);color:var(--amber)}
.av-dc{background:var(--purpleBg);color:var(--purple)}
.trend-bars{display:flex;align-items:flex-end;gap:3px;height:28px}
.tbar{width:11px;border-radius:2px 2px 0 0;flex-shrink:0}
.arm-mini{display:flex;gap:3px;align-items:center}
.arm-seg{height:8px;border-radius:2px}
.suggest-box{font-size:var(--fxs);line-height:1.55;padding:8px 12px;border-radius:8px;margin-top:8px;border-left:3px solid}
.sb-green{background:#f0fdf4;border-color:#16a34a;color:#14532d}
.sb-amber{background:var(--amberBg);border-color:#f59e0b;color:#78350f}
.sb-red{background:var(--redBg);border-color:#ef4444;color:#7f1d1d}

/* ── QUERY ── */
.query-row{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line2)}
.query-row:last-child{border-bottom:none}
.query-icon{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;margin-top:1px}
.qi-red{background:var(--redBg);color:var(--red)}
.qi-amber{background:var(--amberBg);color:var(--amber)}
.qi-blue{background:var(--blueBg);color:var(--blue)}
.qi-gray{background:var(--gray6);color:var(--gray3)}
.metric-card.click{cursor:pointer;transition:transform .12s}
.metric-card.click:hover{transform:translateY(-2px)}
.toolbar-row{display:flex;gap:10px;margin-bottom:12px}
.search-icon{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:15px}
.sf-btn{display:inline-flex;align-items:center;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--muted);font-size:var(--fs);cursor:pointer;transition:all .14s;font-weight:500}
.sf-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blueBg)}
.sf-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700}
.study-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm)}
.study-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.query-body{flex:1;min-width:0}
.query-title{font-size:var(--fm);font-weight:700;color:var(--gray1);margin-bottom:3px}
.query-meta{font-size:var(--fxs);color:var(--muted);margin-bottom:6px}
.query-desc{font-size:var(--fxs);color:var(--gray2);background:var(--gray7);border-radius:8px;padding:7px 10px;margin-bottom:8px;line-height:1.55}
.query-actions{display:flex;gap:6px;flex-wrap:wrap}
.query-status{flex-shrink:0;align-self:flex-start;margin-top:2px;font-size:var(--fxxs);font-weight:700;padding:3px 9px;border-radius:999px;border:1px solid transparent}
.qs-open{background:var(--redBg);color:var(--red);border-color:#fecaca}
.qs-pending{background:var(--amberBg);color:var(--amber);border-color:#fde68a}
.qs-done{background:var(--greenBg);color:var(--green);border-color:var(--greenTint)}

/* ── LOG ── */
.log-box{font-size:var(--fxs);font-family:"SF Mono","Fira Code",monospace;background:var(--gray7);border-radius:10px;padding:12px 14px;line-height:2;color:var(--muted)}
.log-ok{color:var(--green)}.log-skip{color:var(--orange)}.log-warn{color:var(--red)}.log-ts{color:var(--gray4)}

/* ── EXPORT ── */
.export-row{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line2);gap:12px}
.export-row:last-child{border-bottom:none}

/* ── CONFIG ── */
.cfg-block{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.cfg-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--gray7);border-bottom:1px solid var(--line2)}
.cfg-body{padding:12px 16px;display:flex;flex-direction:column;gap:0}
.cfg-field{padding:7px 0;border-bottom:1px solid var(--line2);display:flex;flex-direction:column;gap:2px}
.cfg-field:last-child{border-bottom:none}
.cfg-key{font-size:var(--fxs);font-weight:700;color:var(--gray2)}
.cfg-val{font-size:var(--fs);color:var(--gray3)}

/* ── MISC ── */
.notice-bar{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-radius:10px;font-size:var(--fxs);line-height:1.5;margin-bottom:14px}
.notice-blue{background:var(--blueBg);color:#1e3a8a;border:1px solid var(--blueTint2)}
.alert-box{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;margin-bottom:8px}
.alert-box:last-child{margin-bottom:0}
.ab-red{background:var(--redBg);border:1px solid #fecaca}
.ab-amber{background:var(--amberBg);border:1px solid #fde68a}
.ab-title{font-size:var(--fs);font-weight:700;margin-bottom:2px}
.ab-desc{font-size:var(--fxs)}
.ab-red .ab-title{color:var(--red)}.ab-red .ab-desc{color:#7f1d1d}
.ab-amber .ab-title{color:var(--amber)}.ab-amber .ab-desc{color:#78350f}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--line2);font-size:var(--fs)}
.stat-row:last-child{border-bottom:none}
.sc-check{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line2);font-size:var(--fs)}
.sc-check:last-child{border-bottom:none}
.sc-ok{color:var(--green);font-size:var(--fxs);font-weight:700;display:flex;align-items:center;gap:4px}
.sc-num{color:var(--muted);font-size:var(--fxs);margin-right:8px}

@media(max-width:900px){
  .metrics-grid,.g4{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:1fr}
  .g2{grid-template-columns:1fr}
}
@media(max-width:600px){
  .metrics-grid{grid-template-columns:1fr 1fr}
  .main-content{padding:12px}
}
.perf-tabs{display:flex;gap:0;border-bottom:0.5px solid var(--color-border-tertiary);margin-bottom:1.25rem}
.ptab{padding:7px 16px;font-size:13px;cursor:pointer;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);background:none}
.ptab.on{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary);font-weight:500}
.psec{display:none}.psec.on{display:block}
.scenario-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);overflow:hidden;margin-bottom:1rem}
.sc-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;cursor:pointer}
.sc-head:hover{background:var(--color-background-secondary)}
.sc-icon{width:36px;height:36px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.sc-body{display:none;border-top:0.5px solid var(--color-border-tertiary)}.sc-body.open{display:block}
.prow-head{display:grid;gap:10px;align-items:center;padding:8px 1.25rem;background:var(--color-background-secondary);font-size:11px;color:var(--color-text-secondary);font-weight:500;border-bottom:0.5px solid var(--color-border-tertiary)}
.prow{display:grid;gap:10px;align-items:center;padding:11px 1.25rem;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px}
.prow:last-child{border-bottom:none}
.prow:hover{background:var(--color-background-secondary)}
.phase-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 9px;border-radius:999px;font-weight:500}
.pp-theory{background:#E6F1FB;color:#185FA5}
.pp-practice{background:#FAEEDA;color:#854F0B}
.pp-cert{background:#EAF3DE;color:#3B6D11}
.stat-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 9px;border-radius:999px;font-weight:500}
.sp-ok{background:#EAF3DE;color:#3B6D11}
.sp-warn{background:#FAEEDA;color:#854F0B}
.sp-bad{background:#FCEBEB;color:#A32D2D}
.sp-pend{background:var(--color-background-secondary);color:var(--color-text-secondary)}
.mini-trend{display:flex;align-items:flex-end;gap:2px;height:22px}
.mt-bar{width:8px;border-radius:1px 1px 0 0}
.perf-detail{padding:1rem 1.25rem;background:var(--color-background-secondary);border-top:0.5px solid var(--color-border-tertiary);display:none}
.perf-detail.open{display:block}
.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:1rem}
.detail-mc{background:var(--color-background-primary);border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);padding:.75rem 1rem}
.dm-label{font-size:11px;color:var(--color-text-secondary);margin-bottom:3px}
.dm-val{font-size:20px;font-weight:500}
.dm-sub{font-size:11px;color:var(--color-text-secondary);margin-top:2px}
.remedial-box{background:#FCEBEB;border:0.5px solid #F09595;border-radius:var(--border-radius-md);padding:10px 12px;font-size:12px;color:#7F1D1D;margin-bottom:.75rem;display:flex;gap:8px;align-items:flex-start}
.auth-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px}
.auth-row:last-child{border-bottom:none}
.log-entry{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px}
.log-entry:last-child{border-bottom:none}
.log-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}
.ld-green{background:#3B6D11}.ld-blue{background:#185FA5}
.ld-amber{background:#854F0B}.ld-red{background:#A32D2D}
.trend-wrap{position:relative;height:60px;display:flex;align-items:flex-end;gap:3px}
.t-bar{border-radius:2px 2px 0 0;flex-shrink:0}
.t-baseline{position:absolute;left:0;right:0;border-top:1.5px dashed #E24B4A}

/* ── STUDY BROWSER ── */
.study-browser{}
.sf-btn{
  display:inline-flex;align-items:center;
  padding:6px 14px;border:1px solid var(--line);border-radius:999px;
  background:var(--card);color:var(--muted);font-size:var(--fs);
  cursor:pointer;transition:all .14s;font-weight:500;
}
.sf-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blueBg)}
.sf-btn.active{background:var(--blue);color:#fff;border-color:var(--blue);font-weight:700}
.sf-link{color:var(--blue);cursor:pointer;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.sf-link:hover{opacity:.8}
.study-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow-sm)}
.study-list-head{display:grid;grid-template-columns:1fr 90px 130px 130px 110px 120px;gap:10px;padding:8px 16px;background:var(--gray7);border-bottom:1px solid var(--line);font-size:var(--fxs);font-weight:700;color:var(--gray3)}
.study-list-row{display:grid;grid-template-columns:1fr 90px 130px 130px 110px 120px;gap:10px;align-items:center;padding:13px 16px;border-bottom:0.5px solid var(--line2);cursor:pointer;transition:background .12s;font-size:var(--fs)}
.study-list-row:last-child{border-bottom:none}
.study-list-row:hover{background:var(--gray7)}
.study-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.provider-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow-sm);overflow:hidden}
.provider-card[data-status="remedial"]{border-color:#fecaca}
.provider-card[data-status="review"]{border-color:#fde68a}
.provider-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;transition:background .12s}
.provider-card-head:hover{background:var(--gray7)}
.provider-card-body{border-top:1px solid var(--line2);padding:14px 16px}
