﻿:root{
  --paper:#F1F4F9;
  --paper-2:#EFF1F4;
  --paper-3:#E5E8EC;
  --rule:#1A1A1A;
  --ink:#1A1A1A;
  --ink-2:#3D3D3D;
  --muted:#6B6B6B;
  --faint:#A8A29E;
  --border:#D8D2C7;
  --border-soft:#E8E2D5;
  --accent:#9C3D2A;
  --accent-2:#BC5440;
  --accent-tint:rgba(156,61,42,0.07);
  --accent-tint-strong:rgba(156,61,42,0.13);
  --note-bg:rgba(244,240,232,0.72);
  --note-border:rgba(156,61,42,0.22);
  --tooltip-bg:rgba(250,247,241,0.88);
  --tooltip-shadow:0 10px 28px rgba(60,40,20,0.12);
  --warn:#9C3D2A;
  --good:#2E5D3A;
  --highlight:#FFF8DC;
  --shadow-soft:0 1px 2px rgba(60,40,20,0.03), 0 4px 12px rgba(60,40,20,0.035);
  --serif:'Source Serif 4', Georgia, serif;
  --sans:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Global 10% downscale â€” compensates for 100% browser zoom and tightens the
   layout for minimal scrolling. Uses `zoom` (better than transform: scale â€”
   it preserves layout flow, scrollbars, and click targets). */
body{display:flex;min-height:100vh;overflow:hidden;zoom:0.9}

/* SIDEBAR */
.sidebar{
  width:260px;flex-shrink:0;background:var(--paper-2);
  border-right:1px solid var(--border);
  padding:18px 0;overflow-y:auto;
  display:flex;flex-direction:column;
}
.brand{padding:4px 24px 16px;border-bottom:1px solid var(--border-soft);margin-bottom:12px;position:relative}
.brand-mark{
  font-family:var(--serif);font-size:13px;color:var(--accent);
  letter-spacing:0;line-height:1;margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.brand-mark-symbol{font-size:15px;line-height:1}
.brand-mark-label{
  font-family:var(--sans);font-size:9.5px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);
}
.brand-title{
  font-family:var(--serif);font-size:23px;font-weight:600;
  letter-spacing:-0.015em;color:var(--ink);line-height:1.08;margin-bottom:2px;
}
.brand-title em{font-style:italic;font-weight:500;color:var(--accent)}
.brand-sub{
  font-family:var(--serif);font-size:11px;font-style:italic;
  color:var(--muted);line-height:1.4;margin-top:5px;
  max-width:210px;
}
.nav-list{padding:3px 0 8px}
.nav-home{padding:3px 0 2px}
.nav-group{padding:3px 0}
.nav-group.is-collapsed .nav-item{display:none}
.nav-group.is-collapsed{padding-bottom:2px}
.nav-label{
  width:calc(100% - 24px);margin:0 12px 3px;padding:6px 12px;
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font-family:var(--sans);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);font-weight:500;background:transparent;border:1px solid transparent;
  border-radius:6px;cursor:pointer;text-align:left;transition:background 120ms ease, color 120ms ease, border-color 120ms ease;
}
.nav-label:hover{background:rgba(0,0,0,0.03);color:var(--ink);border-color:var(--border-soft)}
.nav-label::after{content:"\25BE";font-size:10px;letter-spacing:0;color:var(--faint);line-height:1}
.nav-group.is-collapsed .nav-label::after{content:"\25B8"}
.nav-group:has(.nav-item.active) .nav-label{color:var(--accent);background:var(--accent-tint);border-color:rgba(156,61,42,0.16)}
.nav-group:has(.nav-item.active) .nav-label::after{color:var(--accent)}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:7px 24px;cursor:pointer;
  font-size:13.5px;color:var(--ink-2);
  border-left:2px solid transparent;
  transition:background 120ms ease, color 120ms ease, border-color 120ms ease;
  user-select:none;
}
.nav-item:hover{background:rgba(0,0,0,0.03);color:var(--ink)}
.nav-item.active{background:var(--accent-tint);color:var(--accent);border-left-color:var(--accent);font-weight:500}
.nav-item-label{flex:1;min-width:0;line-height:1.25}
/* "In development" tag — used on Report Writer side-nav and topnav */
.nav-dev-tag{
  display:inline-flex;align-items:center;
  margin-left:8px;padding:2px 7px;
  font-size:10px;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
  color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;
  line-height:1;white-space:nowrap;
}
.topnav-item .nav-dev-tag{margin-left:6px;font-size:9px;padding:2px 6px}
/* Compact recommendation box: neutral by default, terracotta only when active */
.nav-item.nav-item-recommended{
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(0,1fr);
  grid-template-rows:auto;
  column-gap:9px;
  align-items:center;
  margin:10px 14px 6px 18px;
  padding:9px 12px 9px 14px;
  border:1px solid var(--border);
  border-left:3px solid var(--border);
  border-radius:6px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
  color:var(--ink-2);
}
.nav-item.nav-item-recommended:hover{
  background:rgba(0,0,0,0.03);
  border-color:var(--border);
  color:var(--ink);
}
.nav-item.nav-item-recommended.active{
  background:var(--accent-tint);
  color:var(--accent);
  border-color:rgba(156,61,42,0.28);
  border-left-color:var(--accent);
  font-weight:500;
}
.nav-item.nav-item-recommended.active:hover{
  background:var(--accent-tint-strong);
  border-color:rgba(156,61,42,0.42);
  border-left-color:var(--accent);
  color:var(--accent);
}
.nav-item.nav-item-recommended .nav-item-num{
  grid-column:1;
  grid-row:1;
  align-self:center;
  padding-top:0;
}
.nav-item.nav-item-recommended .nav-item-label{
  grid-column:2;
  grid-row:1;
  min-width:0;
  line-height:1.24;
}
.nav-badge{
  position:absolute;
  top:-8px;
  right:10px;
  width:max-content;
  font-family:var(--mono);
  font-size:8px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--muted);
  border:1px solid var(--border);
  border-radius:999px;
  padding:1px 6px;
  background:var(--paper-2);
  line-height:1.25;
}
.nav-item.nav-item-recommended.active .nav-badge{
  color:var(--accent);
  border-color:rgba(156,61,42,0.34);
  background:var(--paper);
}
.nav-item-num{font-family:var(--mono);font-size:11px;color:var(--faint);width:18px;flex-shrink:0}
.nav-item.active .nav-item-num{color:var(--accent)}
.nav-item.nav-item-recommended.active .nav-item-num{color:var(--accent)}
.sidebar-foot{margin-top:auto;padding:12px 18px;border-top:1px solid var(--border-soft);font-size:10px;color:var(--muted);line-height:1.45}

/* MAIN */
.main{flex:1;overflow-y:auto;background:var(--paper)}
.section{display:none;max-width:980px;margin:0 auto;padding:48px 56px 80px}
.section.active{display:block;animation:fadeIn 240ms ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.eyebrow{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin-bottom:14px;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{
  content:'\00A7';font-family:var(--serif);font-size:14px;font-style:normal;
  letter-spacing:0;text-transform:none;color:var(--accent);
  margin-right:2px;line-height:1;
}
.eyebrow .ed-mark{
  margin-left:auto;font-family:var(--mono);color:var(--accent);
  letter-spacing:0.12em;font-size:11px;font-weight:500;
}
h1.section-title{font-family:var(--sans);font-size:34px;font-weight:600;letter-spacing:-0.028em;line-height:1.08;color:var(--ink);margin-bottom:10px}
h1.section-title .ink{color:var(--ink)}
h1.section-title em{font-style:italic;font-weight:500;color:var(--accent)}
.section-desc{font-size:14.5px;color:var(--ink-2);max-width:680px;margin-bottom:24px;line-height:1.6}
.section-body-text{font-size:13.5px;color:var(--ink-2);line-height:1.65;margin-bottom:12px}
.section-desc em{font-style:italic;color:var(--accent)}
.section-rule{height:1px;background:var(--border);margin:0 0 32px;border:none}

/* HOME OVERVIEW - refined aesthetic flow */
#home.section{max-width:1040px;padding-top:54px}
.home-hero{max-width:780px;margin-bottom:26px}
#home .eyebrow{margin-bottom:18px}
#home h1.section-title{font-size:44px;line-height:1.02;margin-bottom:14px}
#home .section-desc{font-size:15px;max-width:720px;line-height:1.66;margin-bottom:22px}
.home-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.home-actions .btn{border-radius:999px;padding:9px 16px}
.home-actions .btn-primary{box-shadow:0 8px 20px rgba(156,61,42,0.14)}
.home-actions .btn-secondary{background:var(--paper-2);border-color:var(--border-soft);color:var(--ink-2)}
.home-actions .btn-secondary:hover{background:var(--paper);border-color:var(--accent);color:var(--accent)}
.home-overview-panel{position:relative;overflow:hidden;padding:28px 30px 30px;background:linear-gradient(135deg,var(--paper-2),var(--paper));border-color:var(--border);box-shadow:0 8px 24px rgba(60,40,20,0.045)}
.home-overview-panel::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--accent),rgba(156,61,42,0.05));opacity:.9}
.home-overview-panel .block-title{margin:0 0 12px;padding-bottom:10px;font-size:22px}
.home-overview-copy{font-size:14px;color:var(--ink-2);line-height:1.65;max-width:720px;margin-bottom:20px}
.home-tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.home-tool-card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:126px;padding:17px 16px;text-align:center;align-items:center;border:1px solid var(--border-soft);border-radius:8px;background:rgba(250,247,241,.72);box-shadow:var(--shadow-soft);cursor:pointer;transition:transform 150ms ease,border-color 150ms ease,background 150ms ease,box-shadow 150ms ease}
.home-tool-card:hover{transform:translateY(-2px);border-color:rgba(156,61,42,.30);background:var(--paper);box-shadow:0 8px 20px rgba(60,40,20,.06)}
.home-tool-icon{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-tint);color:var(--accent);font-family:var(--serif);font-size:18px;line-height:1}
.home-tool-label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:500}
.home-tool-title{font-family:var(--serif);font-size:18px;font-weight:600;line-height:1.12;color:var(--ink);letter-spacing:-.01em}
.home-tool-card:hover .home-tool-title{color:var(--accent)}
.home-workflows{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:20px}
.home-workflow-card{padding:25px 26px;border:1px solid var(--border-soft);border-radius:8px;background:var(--paper);box-shadow:var(--shadow-soft)}
.home-workflow-card .descriptor-card-header{margin-bottom:14px}
.home-workflow-card .descriptor-card-title{font-size:26px}
.home-workflow-card p{font-size:14px;color:var(--ink-2);line-height:1.65;margin:0}
.home-info{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 16px;border:1px solid var(--border-soft);border-left:2px solid var(--note-border);border-radius:6px;background:var(--note-bg);font-size:12.5px;color:var(--ink-2);line-height:1.55}
.home-info::before{content:"?";flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--accent-tint);color:var(--accent);font-family:var(--serif);font-style:italic;font-weight:600}
.home-info strong{display:block;color:var(--ink);font-weight:600;margin-bottom:1px}
@media (max-width:900px){
  #home h1.section-title{font-size:36px}
  .home-tool-grid,.home-workflows{grid-template-columns:1fr}
  .home-tool-card{min-height:auto}
}

/* HOME PATHWAYS */
.home-pathways{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.home-pathway-card{
  display:flex;flex-direction:column;
  padding:24px 22px 20px;
  background:var(--paper);border:1px solid var(--border-soft);border-radius:8px;
  box-shadow:var(--shadow-soft);cursor:default;text-align:left;
  transition:transform 150ms ease,border-color 150ms ease,box-shadow 150ms ease;
  font-family:var(--sans);position:relative;overflow:visible;
}
.home-pathway-card::before{
  content:"";position:absolute;inset:0 0 auto 0;height:2px;
  background:linear-gradient(90deg,var(--accent),rgba(156,61,42,0.05));
  opacity:0;transition:opacity 150ms ease;
}
.home-pathway-card:hover{transform:translateY(-2px);border-color:rgba(156,61,42,.26);box-shadow:0 8px 20px rgba(60,40,20,.06)}
.home-pathway-card:hover::before{opacity:1}
.home-pathway-icon{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  border-radius:8px;background:var(--accent-tint);color:var(--accent);margin-bottom:14px;
}
.home-pathway-icon svg{width:18px;height:18px}
.home-pathway-label{
  font-size:10px;letter-spacing:0.14em;text-transform:uppercase;
  color:var(--muted);font-weight:500;margin-bottom:4px;
}
.home-pathway-title{
  font-family:var(--serif);font-size:20px;font-weight:600;
  letter-spacing:-0.01em;color:var(--ink);line-height:1.1;margin-bottom:10px;
  transition:color 150ms ease;
}
.home-pathway-card:hover .home-pathway-title{color:var(--accent)}
.home-pathway-desc{font-size:13px;color:var(--ink-2);line-height:1.6;margin-bottom:16px;flex:1}
.home-pathway-tools{
  list-style:none;border-top:1px solid var(--border-soft);
  padding-top:12px;display:flex;flex-direction:column;gap:5px;
}
.home-pathway-tool{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);cursor:default;border-radius:3px;padding:1px 4px;margin:0 -4px;transition:background 120ms ease}
.home-pathway-tool:hover{background:rgba(156,61,42,0.06)}
.home-pathway-tool:hover .home-pathway-tool-name{color:var(--accent)}
.home-pathway-tool-num{font-family:var(--mono);font-size:10px;color:var(--faint);width:18px;flex-shrink:0}
.home-pathway-tool-name{flex:1;cursor:pointer}
.home-pathway-tool-badge{
  position:relative;display:inline-flex;align-items:center;
  gap:4px;
  font-family:var(--mono);font-size:8.5px;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);border:1px solid rgba(156,61,42,0.3);border-radius:999px;
  padding:1px 6px;background:var(--accent-tint);white-space:nowrap;
}
.home-pathway-tool-badge-info{
  width:12px;height:12px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(156,61,42,0.28);border-radius:999px;
  font-family:var(--mono);font-size:8px;line-height:1;color:var(--accent);
  background:rgba(255,255,255,0.38);letter-spacing:0;text-transform:none;
}
.home-pathway-tool-badge:focus{outline:2px solid rgba(156,61,42,0.28);outline-offset:2px}
.home-pathway-tool-badge::before{
  content:attr(data-tooltip);position:absolute;right:0;bottom:calc(100% + 9px);z-index:80;
  width:min(340px,72vw);padding:10px 12px;border:1px solid rgba(156,61,42,0.24);
  border-radius:6px;background:var(--tooltip-bg);color:var(--ink-2);box-shadow:var(--tooltip-shadow);
  font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;
  white-space:normal;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease;
}
.home-pathway-tool-badge::after{
  content:"";position:absolute;right:14px;bottom:calc(100% + 3px);z-index:81;
  border-width:6px 6px 0 6px;border-style:solid;border-color:var(--tooltip-bg) transparent transparent transparent;
  opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease;
}
.home-pathway-tool-badge:hover::before,
.home-pathway-tool-badge:hover::after,
.home-pathway-tool-badge:focus::before,
.home-pathway-tool-badge:focus::after{opacity:1;transform:translateY(0)}
@media (max-width:900px){.home-pathways{grid-template-columns:1fr}}

h2.block-title{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.01em;color:var(--ink);margin:36px 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border)}
h2.block-title:first-of-type{margin-top:0}
h3.sub-title{font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink);margin:24px 0 10px}

.is-hidden{display:none !important}

/* FORM PRIMITIVES */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:0}
.field-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.field-row-4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
label{font-size:12px;font-weight:500;color:var(--ink-2);letter-spacing:0.01em}
label .hint{font-weight:400;color:var(--faint);font-size:11px;margin-left:6px}
input[type="text"], input[type="number"], input[type="date"], select, textarea{
  font-family:var(--sans);font-size:13.5px;color:var(--ink);
  background:var(--paper);
  border:1px solid var(--border);border-radius:3px;
  padding:8px 10px;
  width:100%;
  transition:border-color 120ms ease, box-shadow 120ms ease;
}
input:focus, select:focus, textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint-strong)}
input[type="number"]{font-family:var(--mono)}
/* Keep native number spinners by default; hide only on change-analysis pages */
#sdi input[type="number"]::-webkit-outer-spin-button,
#sdi input[type="number"]::-webkit-inner-spin-button,
#rci-basic input[type="number"]::-webkit-outer-spin-button,
#rci-basic input[type="number"]::-webkit-inner-spin-button,
#rci-practice input[type="number"]::-webkit-outer-spin-button,
#rci-practice input[type="number"]::-webkit-inner-spin-button,
#rci-srb input[type="number"]::-webkit-outer-spin-button,
#rci-srb input[type="number"]::-webkit-inner-spin-button,
#rci-crawford input[type="number"]::-webkit-outer-spin-button,
#rci-crawford input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
#sdi input[type="number"],
#rci-basic input[type="number"],
#rci-practice input[type="number"],
#rci-srb input[type="number"],
#rci-crawford input[type="number"]{
  -moz-appearance:textfield;
  appearance:textfield;
}
select{cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%236B6B6B' d='M0 0l5 6 5-6z'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none}
textarea{resize:vertical;min-height:60px;font-family:var(--sans)}

.btn{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--sans);font-size:12.5px;font-weight:500;letter-spacing:0.01em;
  padding:8px 14px;border-radius:3px;cursor:pointer;
  border:1px solid var(--border);background:var(--paper);color:var(--ink);
  transition:all 120ms ease;
  text-decoration:none;
}
.btn:hover{border-color:var(--ink);background:var(--paper-2)}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:#7A2E1F;border-color:#7A2E1F}
.btn-ghost{border-color:transparent;background:transparent;color:var(--muted);padding:6px 8px;font-size:12px}
.btn-ghost:hover{background:rgba(0,0,0,0.04);color:var(--ink)}
.btn-icon{padding:6px 8px;font-size:12px}
.btn svg{width:13px;height:13px;stroke-width:2}

/* PANELS */
.panel{
  background:var(--paper);
  border:1px solid var(--border-soft);
  border-radius:6px;
  padding:22px 24px;
  margin-bottom:20px;
  box-shadow:var(--shadow-soft);
}
.panel-tight{padding:16px 20px}
.panel-emphasis{background:var(--paper-2);border-color:var(--border)}

.controls-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.controls-row .field{margin-bottom:0;flex:0 0 auto}

/* INPUT TABLE */
.input-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.input-table th{
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);text-align:center;padding:9px 10px;
  border-bottom:1px solid var(--border-soft);
}
.input-table td{padding:6px 8px;vertical-align:middle;border-bottom:1px solid rgba(216,210,199,0.58);text-align:center}
.input-table td.numeric{font-family:var(--mono);text-align:center}
.input-table td input{padding:5px 6px;font-size:13px;border:1px solid var(--border-soft);background:var(--paper);text-align:center}
.input-table td input:focus{border-color:var(--accent)}
.input-table .row-num{width:28px;color:var(--faint);font-family:var(--mono);font-size:11px;text-align:center;padding-left:0}
.input-table .row-actions{width:34px;text-align:center}
.input-table td input[type="number"]{text-align:center;font-family:var(--mono)}
.input-table tr.group-header td{
  background:transparent;
  font-family:var(--sans);font-size:10.5px;
  color:var(--muted);font-weight:600;padding:12px 10px 6px;
  border-top:1px solid var(--border-soft);border-bottom:none;
  letter-spacing:0.12em;text-transform:uppercase;text-align:left;
  position:relative;
}
.input-table tr.group-header td .group-remove{
  float:right;background:none;border:none;cursor:pointer;color:var(--faint);
  font-size:13px;line-height:1;padding:1px 6px;border-radius:3px;
  letter-spacing:0;text-transform:none;font-weight:normal;
}
.input-table tr.group-header td .group-remove:hover{color:var(--warn);background:rgba(139,58,46,0.08)}
.input-table tr.group-header .type-badge{
  font-family:var(--mono);font-size:10px;color:var(--faint);
  margin-left:8px;letter-spacing:0.02em;text-transform:none;font-weight:400;
}
.input-table tr.in-group td:nth-child(2){padding-left:22px}
.input-table th:nth-child(2),
.input-table td:nth-child(2),
.input-table td input[data-f="name"]{text-align:left}
.input-table thead tr:not(.table-group-row) th:not(:nth-child(2)):not(:nth-last-child(2)){text-align:center!important}
.input-table th:nth-last-child(2),
.input-table td:nth-last-child(2){text-align:left!important}

/* Clinical Outcomes Table: center the Raw / Score / Percentile / Classification columns */
#bat-table th:nth-child(3),
#bat-table th:nth-child(4),
#bat-table th:nth-child(5),
#bat-table th:nth-child(6){text-align:center}
#bat-table td:nth-child(3) input,
#bat-table td:nth-child(4) input{text-align:center}
#bat-table td:nth-child(5),
#bat-table td:nth-child(6){text-align:center}
/* Wider sections for the multi-column RCI tables */
#rci-basic{max-width:1100px}
#rci-practice, #rci-srb{max-width:1280px}
#rci-crawford{max-width:1340px}
.input-table .row-actions button{
  background:none;border:none;cursor:pointer;color:var(--faint);
  padding:4px;font-size:14px;line-height:1;border-radius:3px;
  transition:all 120ms ease;
}
.input-table .row-actions button:hover{color:var(--warn);background:rgba(139,58,46,0.08)}
.input-table .computed{color:var(--ink-2);font-family:var(--mono);text-align:center;padding:8px 10px}
.input-table .computed.muted{color:var(--faint)}
.input-table .computed.sig-yes{color:var(--warn);font-weight:500}
.input-table .computed.sig-no{color:var(--good)}
.input-table .computed.sig-improve{color:var(--good);font-weight:500}
.input-table .computed.sig-decline{color:var(--warn);font-weight:500}
/* "+ Add row / Add subtest" buttons — green, matching the forward-progress
   colour language used for wizard Next buttons. Outlined by default so they
   stay visually lighter than the primary green CTAs. */
.add-row-btn{
  margin-top:10px;display:inline-flex;align-items:center;gap:6px;
  background:rgba(46,133,82,0.06);
  border:1px dashed #2E8552;
  padding:7px 12px;border-radius:3px;
  font-family:var(--sans);font-size:12px;font-weight:600;color:#246B43;cursor:pointer;
  transition:background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}
.add-row-btn:hover{
  background:#2E8552;
  border-color:#246B43;
  border-style:solid;
  color:#FFFFFF;
  box-shadow:0 2px 6px rgba(46,133,82,0.30);
}
.add-row-btn:active{
  background:#246B43;
  border-color:#1F5D3A;
}
.add-row-btn:focus-visible{
  outline:2px solid rgba(46,133,82,0.45);
  outline-offset:2px;
}

/* APA OUTPUT TABLE */
.apa-wrap{margin-top:32px;background:#fff;border:1px solid var(--border-soft);border-radius:4px;padding:24px 36px 32px;position:relative}
.apa-toolbar{
  display:flex;
  gap:8px;
  align-items:center;
  margin-bottom:22px;padding-bottom:12px;border-bottom:1px solid var(--border-soft);
}
.apa-toolbar-left{display:flex;align-items:center;gap:8px;min-width:max-content}
.apa-toolbar > div:nth-child(2){flex:1}

.apa-column-disclosure{position:relative;flex:0 0 auto}
.apa-column-disclosure summary{list-style:none;display:inline-flex;align-items:center;min-height:34px;padding:8px 12px;border:1px solid var(--border-soft);border-radius:3px;background:var(--paper);color:var(--ink-2);font-family:var(--sans);font-size:12.5px;line-height:1;cursor:pointer}
.apa-column-disclosure summary::-webkit-details-marker{display:none}
.apa-column-disclosure summary::after{content:'v';font-size:9px;color:var(--faint);margin-left:7px}
.apa-column-disclosure[open] summary{border-color:rgba(156,61,42,0.26);color:var(--accent)}
.apa-column-disclosure[open] summary::after{transform:rotate(180deg)}
.apa-column-controls{position:absolute;right:0;top:calc(100% + 6px);z-index:50;display:flex;align-items:center;justify-content:flex-start;gap:7px;flex-wrap:wrap;width:min(440px,calc(100vw - 64px));padding:10px;border:1px solid var(--border-soft);border-radius:4px;background:var(--paper);box-shadow:0 12px 28px rgba(0,0,0,0.10);font-size:10.5px;color:var(--muted);white-space:normal}
.apa-column-controls label{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;color:var(--ink-2);font-weight:400;letter-spacing:0;background:transparent;border:1px solid var(--border-soft);border-radius:3px;padding:4px 6px;cursor:pointer;white-space:nowrap}
.apa-column-controls input{width:auto;margin:0;accent-color:var(--accent);flex:0 0 auto}
.apa-action-btn{min-height:34px;padding:8px 12px;font-size:12.5px;line-height:1}
.apa-action-btn svg{width:14px;height:14px}
@media (max-width:900px){.apa-toolbar{align-items:flex-start;flex-wrap:wrap}.apa-toolbar-left{width:100%}.apa-toolbar > div:nth-child(2){display:none}.apa-column-controls{left:0;right:auto;width:min(440px,calc(100vw - 48px))}}
.apa-toolbar-label{font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--faint);font-weight:500}
.apa-table-container{font-family:var(--serif);color:#000}
/* APA 7 Â§7.10â€“7.12: table number bold (not italic); title italic; column heads centred; Note. bold italic */
.apa-table-num{font-family:var(--serif);font-size:14px;font-style:normal;font-weight:700;color:#000;margin-bottom:2px}
.apa-table-title{font-family:var(--serif);font-size:14px;font-weight:400;font-style:italic;color:#000;margin-bottom:14px;line-height:1.4}
.apa-table{width:100%;border-collapse:collapse;font-family:var(--serif);font-size:13.5px;color:#000}
.apa-table thead tr:first-child th{border-top:1.5px solid #000;padding-top:10px}
.apa-table thead tr:last-child th{border-bottom:0.75px solid #000}
/* rowspan="2" column headers straddle both header rows â€” bottom border at base */
.apa-table thead th[rowspan]{border-bottom:0.75px solid #000;vertical-align:bottom}
/* Column spanners â€” italic, centred, partial rule below per APA 7 Â§7.12 */
.apa-table thead th.apa-spanner{
  font-size:12px;
  font-style:italic;
  font-weight:400;
  text-align:center;
  vertical-align:bottom;
  padding-bottom:3px;
  border-bottom:0.75px solid #000;
}
/* Column heads: stub (first col) left; all others centred per APA 7 Â§7.12 */
.apa-table th{
  font-family:var(--serif);font-weight:500;font-size:13px;color:#000;
  text-align:left;padding:6px 12px;
  font-style:normal;
}
.apa-table th:not(:first-child){text-align:center}
.apa-table th.num{text-align:center}
.apa-table td{padding:5px 12px;border:none;color:#000;line-height:1.5}
.apa-table td.num{font-family:var(--serif);font-variant-numeric:tabular-nums;text-align:center}
.apa-table th.col-classification,.apa-table td.col-classification{text-align:left}
.apa-table th.col-outcome,.apa-table td.col-outcome{text-align:left}
.apa-table tbody tr:last-child td{border-bottom:1.5px solid #000;padding-bottom:8px}
.apa-table tbody tr:first-child td{padding-top:8px}
.apa-note{font-family:var(--serif);font-size:12.5px;font-style:italic;color:#000;margin-top:10px;line-height:1.45}
.apa-table tr.apa-group td{padding:10px 12px 4px;border:none;font-style:italic;font-weight:600;font-family:var(--serif);color:#000}
.apa-table tr.apa-grouped-row td:first-child{padding-left:24px}
/* Note. label: bold italic per APA 7 Â§7.14 */
.apa-note strong{font-weight:700;font-style:italic}

/* SCORE CONVERTER RESULTS */
/* CONVERTER SLIDER */
.conv-slider-wrap{padding:14px 0 2px}
.conv-slider-label{display:block;font-size:10px;font-family:var(--mono);letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.conv-slider-track-wrap{position:relative;padding:8px 0}
.conv-slider-marks{position:absolute;top:50%;left:0;right:0;height:1px;pointer-events:none;transform:translateY(-50%)}
.conv-slider-marks .mark{position:absolute;width:1px;height:7px;background:var(--border);top:-3px;transform:translateX(-50%)}
.conv-slider-marks .mark.major{height:10px;top:-5px;background:var(--muted)}
input[type="range"]#conv-slider{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:var(--border);outline:none;margin:0;position:relative;z-index:2;border:none;padding:0}
input[type="range"]#conv-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--accent),0 2px 5px rgba(156,61,42,0.25);cursor:grab;transition:transform 0.12s}
input[type="range"]#conv-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1)}
input[type="range"]#conv-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--accent);cursor:grab}
.conv-slider-ticks{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9.5px;color:var(--muted);margin-top:6px;letter-spacing:0.02em}
.conv-slider-center{color:var(--accent);font-weight:500}

/* CONVERTER READOUT â€” compact inline strip */
.conv-readout{display:flex;gap:0;margin-top:12px;padding:8px 12px;background:var(--paper-2);border:1px solid var(--border-soft);border-radius:4px;align-items:center}
.conv-readout-item{display:flex;align-items:baseline;gap:6px;padding-right:16px;margin-right:16px;border-right:1px solid var(--border-soft)}
.conv-readout-item:last-child{border-right:none;padding-right:0;margin-right:0}
.conv-readout-label{font-family:var(--mono);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.conv-readout-value{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--ink);letter-spacing:-0.01em}
.conv-readout-accent{color:var(--accent)}

/* CONVERTER UNIFIED PANEL â€” internal divider */
.conv-panel-divider{border:none;border-top:1px solid var(--border-soft);margin:18px -24px 0}

/* CONVERTER SCORES STRIP */
.conv-strip-header{font-family:var(--mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-top:16px;margin-bottom:6px}
.conv-scores-strip{display:flex;gap:0;background:var(--paper);border:1px solid var(--border-soft);border-radius:5px;overflow:hidden}
.conv-score-item{flex:1;padding:14px 16px;border-right:1px solid var(--border-soft);transition:background 150ms;position:relative}
.conv-score-item:last-child{border-right:none}
.conv-score-item.conv-score-active{background:var(--accent)}
.conv-score-item.conv-score-active .conv-score-label::after{content:" Â· you entered";font-size:8px;letter-spacing:0.05em;color:rgba(255,220,200,0.6);text-transform:none}
.conv-score-label{display:block;font-family:var(--mono);font-size:9px;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.conv-score-item.conv-score-active .conv-score-label{color:rgba(255,220,200,0.75)}
.conv-score-value{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--ink);letter-spacing:-0.01em;line-height:1}
.conv-score-item.conv-score-active .conv-score-value{color:#fff}

/* CONVERTER META STRIP */
.conv-meta-strip{display:block;margin-top:12px;background:var(--paper-2);border:1px solid var(--border-soft);border-radius:5px;padding:12px 16px}
.conv-meta-group{display:flex;flex-direction:column;gap:3px;padding-right:20px;margin-right:20px;border-right:1px solid var(--border-soft)}
.conv-meta-spacer{flex:1;min-width:12px}
.conv-meta-label{font-family:var(--mono);font-size:9px;letter-spacing:0.13em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.conv-meta-value{font-family:var(--serif);font-size:16px;font-weight:500;font-style:italic;color:var(--accent);white-space:nowrap;line-height:1.2}
.conv-meta-flags{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.conv-flag{display:flex;flex-direction:column;gap:3px;align-items:center;padding:6px 12px;border-radius:4px;border:1px solid var(--border-soft);background:var(--paper);min-width:52px}
.conv-flag-val{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--muted);line-height:1}
.conv-flag.conv-flag-on{background:rgba(139,58,46,0.07);border-color:rgba(139,58,46,0.25)}
.conv-flag.conv-flag-on .conv-flag-val{color:var(--accent)}
.conv-flag.conv-flag-on .conv-meta-label{color:var(--accent)}

/* DESCRIPTOR CAROUSEL ROWS */
.conv-desc-rows{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;position:relative}
.conv-desc-row-line{position:relative;display:block;width:100%}

/* Stationary viewfinder — a single overlay centred on .conv-desc-rows that
   spans both classification rows. Only the four corner brackets are drawn
   (no edges between), giving a minimalistic camera-viewfinder feel. The
   carousels slide underneath; whichever classification ends up framed is
   the active one. */
.conv-desc-rows::after{
  content:"";
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%, -50%);
  width:128px;
  height:108px;
  pointer-events:none;
  z-index:3;
  background:
    /* top-left arms */
    linear-gradient(#9C3D2A, #9C3D2A) top left / 12px 1.5px no-repeat,
    linear-gradient(#9C3D2A, #9C3D2A) top left / 1.5px 12px no-repeat,
    /* top-right arms */
    linear-gradient(#9C3D2A, #9C3D2A) top right / 12px 1.5px no-repeat,
    linear-gradient(#9C3D2A, #9C3D2A) top right / 1.5px 12px no-repeat,
    /* bottom-left arms */
    linear-gradient(#9C3D2A, #9C3D2A) bottom left / 12px 1.5px no-repeat,
    linear-gradient(#9C3D2A, #9C3D2A) bottom left / 1.5px 12px no-repeat,
    /* bottom-right arms */
    linear-gradient(#9C3D2A, #9C3D2A) bottom right / 12px 1.5px no-repeat,
    linear-gradient(#9C3D2A, #9C3D2A) bottom right / 1.5px 12px no-repeat;
}
.conv-desc-sys{position:absolute;left:10px;top:50%;transform:translateY(-50%);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);opacity:0.75;font-weight:700;pointer-events:none}
.conv-desc-pills{
  position:relative;overflow:hidden;width:100%;height:52px;
  display:flex;justify-content:center;align-items:center;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 82%,transparent 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 82%,transparent 100%);
}
.desc-carousel-track{
  display:flex;align-items:center;
  transition:transform 380ms cubic-bezier(0.4,0,0.2,1);
  /* Drop will-change — it forces a permanent GPU layer with bilinear
     filtering which renders text at non-integer offsets fuzzily. The
     transform-only animation runs fine without it. */
}
.conv-desc-pill{
  flex:0 0 116px;width:116px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  padding:6px 4px;text-align:center;
  font-family:var(--sans);                 /* sans renders crisper than mono at small sizes */
  /* Use solid colour shifts (not opacity) so the text stays crisp. */
  color:#C5BFB2;
  opacity:1;
  transition:color 380ms;
  cursor:default;
  /* Force grayscale antialiasing so masked + transformed text doesn't
     pick up subpixel colour-fringing artefacts. */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:geometricPrecision;
}
.conv-desc-pill.adj-2{ color:#A39C8E; }
.conv-desc-pill.adj-1{ color:#6F695C; }
.conv-desc-pill.active{ color:var(--ink); }
.pill-label{font-size:11px;font-weight:500;line-height:1.2;white-space:nowrap}
.conv-desc-pill.active .pill-label{font-weight:700;font-size:13px}
.pill-range{font-size:8.5px;letter-spacing:0.02em;line-height:1;white-space:nowrap;color:inherit;opacity:0.7}
.conv-desc-pill.active .pill-range{opacity:0.85}

/* (Per-row rectangle viewfinder removed — replaced by a single corner-
   bracket overlay on .conv-desc-rows above, so both rows share one frame.) */

/* DESCRIPTOR FOOTNOTE */
.conv-desc-footnote{font-family:var(--mono);font-size:8.5px;color:var(--muted);opacity:0.5;margin:10px 0 0;letter-spacing:0.03em}


.descriptor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:6px}
.descriptor-card{
  padding:24px 26px;border:1px solid var(--border-soft);border-radius:6px;
  background:var(--paper);box-shadow:var(--shadow-soft);
}
.descriptor-card-header{margin-bottom:18px}
.descriptor-card-title{font-family:var(--serif);font-size:24px;font-weight:600;color:var(--ink);letter-spacing:-0.01em;line-height:1.1}
.descriptor-card-tradition{font-family:var(--sans);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-top:5px}
.descriptor-active-word{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:38px;color:var(--accent);letter-spacing:-0.01em;line-height:1.05;
  margin:8px 0 14px;
}
.descriptor-divider{height:1px;background:var(--border-soft);margin:0 0 4px}
.descriptor-list{list-style:none;margin:0;padding:0}
.descriptor-row{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:9px 12px;border-left:2px solid transparent;
  font-size:13.5px;color:var(--ink-2);
  transition:background 120ms ease;
}
.descriptor-row .desc-row-label{font-family:var(--sans)}
.descriptor-row .desc-row-criteria{font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:0.01em}
.descriptor-row.active{
  background:var(--accent-tint);border-left-color:var(--accent);
  color:var(--ink);font-weight:500;
}
.descriptor-row.active .desc-row-label{font-weight:600;color:var(--ink)}
.descriptor-row.active .desc-row-criteria{color:var(--accent);font-weight:500}

.flag-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.flag{padding:8px 14px;border-radius:3px;font-size:12px;font-family:var(--mono);border:1px solid var(--border-soft);background:var(--paper-2);color:var(--muted)}
.flag.on{background:rgba(139,58,46,0.08);color:var(--warn);border-color:rgba(139,58,46,0.25);font-weight:500}

/* CURVE VIZ */
.curve-wrap{margin-top:20px;position:relative;padding:4px 0 0}
.curve-svg{width:100%;height:auto;display:block}

/* TABS */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:24px}
.tab{
  padding:10px 18px;cursor:pointer;font-size:13px;color:var(--muted);
  border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:all 120ms ease;font-family:var(--sans);
}
.tab:hover{color:var(--ink)}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}
/* Legacy 3-up pre-tabs block removed — see design-system.css for the
   canonical underline-tab treatment. */
@media (max-width:900px){
  #premorbid .pre-tabs{grid-template-columns:1fr}
}

/* TOAST / FEEDBACK — top-center, clear of the topbar and the Working
   Report chip in the bottom-right corner */
.toast{
  position:fixed;
  top:calc(var(--topbar-h, 108px) + 16px);
  left:50%;
  background:var(--ink);color:#fff;
  padding:12px 18px;border-radius:4px;font-size:13px;
  box-shadow:0 8px 24px rgba(0,0,0,0.15);
  opacity:0;transform:translate(-50%, -8px);
  transition:opacity 200ms ease, transform 200ms ease;
  pointer-events:none;
  z-index:1000;
  display:flex;align-items:center;gap:8px;
  white-space:nowrap;
  max-width:calc(100vw - 32px);
}
.toast.show{opacity:1;transform:translate(-50%, 0)}
.toast.error{background:var(--warn)}

/* INFO BOX */
.info-box{
  background:var(--note-bg);
  border:1px solid var(--border-soft);
  border-left:2px solid var(--note-border);
  padding:12px 16px;border-radius:6px;
  font-size:12.5px;color:var(--ink-2);line-height:1.55;
  margin:14px 0;
}
.info-box strong{color:var(--ink);font-weight:600}
.formula{font-family:var(--mono);font-size:12px;background:var(--paper-2);padding:2px 6px;border-radius:2px;color:var(--ink)}

/* CALC SUMMARY */
.calc-summary{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:12px;background:var(--paper-2);border:1px solid var(--border-soft);
  border-radius:4px;padding:16px 18px;margin:14px 0;
}
.calc-summary-item{display:flex;flex-direction:column;gap:3px}
.calc-summary-label{font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:500}
.calc-summary-value{font-family:var(--mono);font-size:15px;color:var(--ink);font-weight:500}

/* AUTOFILL PANEL */
.autofill-panel{background:var(--note-bg);border-color:var(--border-soft)}
.autofill-row{display:flex;gap:14px;align-items:flex-end}
/* Destructive "Clear / Reset" buttons — solid red across the suite */
.btn-clear{
  flex-shrink:0;
  background:#D63A2F;
  border:1px solid #B22A20;
  color:#FFFFFF;
  font-weight:600;
  box-shadow:0 1px 2px rgba(178,42,32,0.30), 0 2px 6px rgba(214,58,47,0.22);
  transition:background 160ms ease, border-color 160ms ease, transform 120ms ease, box-shadow 160ms ease;
}
.btn-clear:hover{
  background:#E84A3D;
  border-color:#C2342A;
  color:#FFFFFF;
  box-shadow:0 2px 4px rgba(178,42,32,0.35), 0 4px 12px rgba(214,58,47,0.40);
  transform:translateY(-1px);
}
.btn-clear:active{
  background:#B22A20;
  border-color:#8E2118;
  transform:translateY(0);
}
.btn-clear:focus-visible{
  outline:3px solid rgba(214,58,47,0.45);
  outline-offset:2px;
}

/* PREMORBID PAGE */
.pre-tab-content{display:none}
.pre-tab-content.active{display:block;animation:fadeIn 200ms ease}
.pre-results-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}
.pre-results-table th{
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--muted);text-align:left;padding:10px 10px;
  border-bottom:1px solid var(--border-soft);
}
.pre-results-table th.num{text-align:center}
.pre-results-table td{padding:10px;vertical-align:middle;border-bottom:1px solid rgba(216,210,199,0.58);font-size:13.5px}
.pre-results-table td.num{font-family:var(--mono);text-align:center;color:var(--ink-2)}
.pre-results-table td.fsiq{font-family:var(--mono);font-size:13.5px;font-weight:500;color:var(--ink);text-align:center}
.pre-results-table td.psy{color:var(--faint);font-family:var(--mono);text-align:center}
.pre-results-table td.model{font-family:var(--serif);color:var(--ink);font-size:14px;font-weight:500}
.pre-results-table td.model.model-has-tip{position:relative;padding-right:34px}
.model-info-dot{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(156,61,42,0.24);border-radius:999px;background:var(--accent-tint);color:var(--accent);font-family:var(--mono);font-size:10px;font-weight:600;line-height:1;cursor:help}
.model-info-dot:focus{outline:2px solid rgba(156,61,42,0.34);outline-offset:2px}
.model-info-dot::before{content:attr(data-tooltip);position:absolute;right:-2px;bottom:calc(100% + 9px);z-index:90;width:min(340px,70vw);padding:11px 13px;border:1px solid rgba(156,61,42,0.24);border-radius:6px;background:var(--tooltip-bg);color:var(--ink-2);box-shadow:var(--tooltip-shadow);font-family:var(--sans);font-size:12px;font-weight:400;line-height:1.45;letter-spacing:0;text-transform:none;white-space:normal;text-align:left;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease}
.model-info-dot::after{content:"";position:absolute;right:2px;bottom:calc(100% + 3px);z-index:91;border-width:6px 6px 0 6px;border-style:solid;border-color:var(--tooltip-bg) transparent transparent transparent;opacity:0;transform:translateY(4px);pointer-events:none;transition:opacity 140ms ease,transform 140ms ease}
.model-info-dot:hover::before,.model-info-dot:hover::after,.model-info-dot:focus::before,.model-info-dot:focus::after{opacity:1;transform:translateY(0)}
.pre-results-table tr:last-child td{border-bottom:1.25px solid var(--ink)}
.pre-results-table .group-row td{
  background:var(--note-bg);font-family:var(--sans);font-size:10.5px;letter-spacing:0.11em;
  text-transform:uppercase;color:var(--muted);font-weight:500;padding:8px 10px;
  border-bottom:1px solid var(--border-soft);
}
.pre-predict-table .achieved-cell{padding:0}
.pre-predict-table .achieved-cell input{
  width:100%;padding:8px 10px;border:1px solid var(--border-soft);background:var(--paper);
  font-family:var(--mono);font-size:13.5px;text-align:center;border-radius:3px;
}
.pre-predict-table .diff{font-family:var(--mono);font-weight:500;text-align:center}
.pre-predict-table .diff.neg{color:var(--warn)}
.pre-predict-table .diff.pos{color:var(--good)}
.pre-formula-tip{
  font-size:11px;color:var(--faint);font-style:italic;margin-top:4px;font-family:var(--serif);
}


/* Premorbid input panel - tidy grouped layout */
.premorbid-input-panel{
  padding:28px 30px 30px;
  border-radius:10px;
}
.premorbid-input-panel .sub-title{
  margin-bottom:6px;
}
#premorbid .section-desc{
  max-width:none;
  width:100%;
}
.pre-input-intro{
  max-width:none;
  margin:0 0 22px;
  font-size:12.8px;
  line-height:1.55;
  color:var(--ink-2);
  padding:12px 14px;
  border:1px solid var(--border-soft);
  border-left:2px solid var(--note-border);
  border-radius:6px;
  background:var(--note-bg);
}
.pre-form-section{
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--border-soft);
}
.pre-form-section:first-of-type{
  margin-top:0;
  padding-top:0;
  border-top:none;
}
.pre-form-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  column-gap:18px;
  row-gap:6px;
  margin-bottom:12px;
}
.pre-form-title{
  font-family:var(--sans);
  font-size:10px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:600;
}
.pre-form-note{
  max-width:340px;
  font-size:11px;
  color:var(--muted);
  line-height:1.4;
  text-align:right;
}
.pre-form-grid-1,
.pre-form-grid-2,
.pre-form-grid-3{
  display:grid;
  gap:14px 18px;
  align-items:start;
}
.pre-form-grid-1{grid-template-columns:1fr;}
.pre-form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.pre-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.premorbid-input-panel label{
  display:block;
  line-height:1.25;
}
.premorbid-input-panel label:has(.pre-label-sub){
  min-height:34px;
}
.pre-label-sub{
  display:block;
  margin-top:4px;
  font-size:10.5px;
  line-height:1.25;
  color:var(--faint);
  font-weight:400;
}
.premorbid-input-panel .field{
  margin-bottom:0;
  align-self:start;
}
.premorbid-input-panel input,
.premorbid-input-panel select{
  min-height:36px;
}
@media (max-width:900px){
  .premorbid-input-panel{padding:22px 20px;}
  .pre-form-heading{grid-template-columns:1fr;align-items:start;}
  .pre-form-note{max-width:none;text-align:left;}
  .pre-form-grid-2,.pre-form-grid-3{grid-template-columns:1fr;}
}

/* CUSTOM TESTS PAGE */
.db-list{margin-top:18px}
.db-test-family{margin-bottom:18px;border:1px solid var(--border-soft);border-radius:4px;background:var(--paper)}
.db-test-family-header{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 16px;background:var(--paper-2);
  border-bottom:1px solid var(--border-soft);
  font-family:var(--serif);font-size:14px;font-weight:600;color:var(--ink);
}
.db-test-family-header .custom-tag{
  font-family:var(--sans);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;
  background:var(--accent);color:#fff;padding:2px 8px;border-radius:2px;font-weight:500;
}
.db-subtests{padding:8px 16px}
.db-subtest-row{
  display:grid;grid-template-columns:2fr repeat(7,1fr) auto;gap:8px;
  padding:6px 0;font-size:12.5px;align-items:center;
  border-bottom:1px dashed var(--border-soft);
}
.db-subtest-row:last-child{border-bottom:none}
.db-subtest-row .name{color:var(--ink)}
.db-subtest-row .num{font-family:var(--mono);color:var(--ink-2);text-align:right}
.db-subtest-row .num-label{font-size:10px;color:var(--faint);text-align:right}
.ct-entry-table th,.ct-entry-table td{text-align:center}
.ct-entry-table th:nth-child(2),.ct-entry-table td:nth-child(2){text-align:left}
.ct-entry-table input{width:100%;min-width:72px}
.ct-entry-table .ct-subtest-name{min-width:220px}
.ct-entry-table .ct-row-num{color:var(--muted);font-family:var(--mono)}

/* SEARCHABLE COMBOBOX */
.combo{position:relative}
.combo-input{cursor:text}
.combo-list{
  position:absolute;top:calc(100% + 4px);left:0;right:0;
  background:var(--paper);border:1px solid var(--border);
  border-radius:3px;box-shadow:0 6px 18px rgba(0,0,0,0.08);
  max-height:280px;overflow-y:auto;z-index:50;display:none;
}
.combo-list.show{display:block}
.combo-item{padding:8px 12px;cursor:pointer;font-size:13px;color:var(--ink-2)}
.combo-item:hover, .combo-item.highlight{background:var(--paper-2);color:var(--ink)}
.combo-item.group-header{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--faint);background:var(--paper-2);font-weight:500;cursor:default;padding:6px 12px}
.combo-item.group-header:hover{background:var(--paper-2)}
.combo-list.is-multiselect{max-height:330px;overflow:hidden;padding-bottom:0}
.combo-list.is-multiselect.show{display:flex;flex-direction:column}
.combo-options{overflow-y:auto;max-height:286px;min-height:0;flex:1 1 auto}
.combo-item.combo-check{display:flex;align-items:center;gap:9px;line-height:1.25;user-select:none}
.combo-item.combo-check input{width:auto;margin:0;accent-color:var(--accent);flex:0 0 auto}
.combo-check-text{min-width:0}
.combo-custom-tag{font-size:9px;color:var(--accent);letter-spacing:0.1em;text-transform:uppercase;font-weight:500;margin-left:6px}
.combo-footer{position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:9px 10px;border-bottom:1px solid var(--border-soft);background:var(--paper);box-shadow:0 4px 12px rgba(60,40,20,0.04)}
.combo-count{margin-right:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}
.combo-footer .btn{padding:6px 10px;font-size:11.5px}
.combo-footer .btn[disabled]{opacity:.45;cursor:not-allowed}
.combo-group-heading{padding:6px 12px 3px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--paper-2);border-top:1px solid var(--border-soft);pointer-events:none;user-select:none}
.combo-item.combo-indented{padding-left:24px}
.combo-item.combo-indented .combo-check-text{font-size:12.5px;color:var(--ink-2)}
.combo-ageband-note{flex:0 0 auto;display:flex;align-items:flex-start;gap:7px;padding:8px 11px;background:var(--note-bg);border-bottom:1px solid var(--border-soft);font-size:11px;color:var(--muted);line-height:1.45}
.combo-ageband-note-icon{flex:0 0 auto;font-style:normal;font-size:12px;color:var(--accent);opacity:.7;margin-top:1px}

/* FOOTER REFERENCES */
.references{
  margin-top:48px;padding-top:24px;border-top:1px solid var(--border-soft);
  font-family:var(--serif);font-size:12px;color:var(--muted);line-height:1.6;
}
.references-title{font-family:var(--sans);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--faint);font-weight:500;margin-bottom:10px}
.references p{margin-bottom:8px;text-indent:-20px;padding-left:20px}

/* MOBILE */
@media (max-width:900px){
  body{flex-direction:column;overflow:auto;height:auto}
  .sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border);padding:18px 0}
  .main{overflow:visible}
  .section{padding:32px 24px}
  .conv-grid{grid-template-columns:repeat(2,1fr)}
  .field-row, .field-row-3, .field-row-4{grid-template-columns:1fr;gap:12px}
  .db-subtest-row{grid-template-columns:1fr;gap:4px}
}


/* Optional premorbid comparison in Clinical Outcomes Table */
.bat-premorbid-panel{border-color:var(--note-border);background:var(--note-bg);}
.bat-premorbid-toggle{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:6px;background:var(--paper);cursor:pointer;font-size:12.5px;color:var(--ink-2)}
.bat-premorbid-toggle input{width:auto;margin:0;accent-color:var(--accent)}
.bat-premorbid-help{font-size:12px;color:var(--muted);line-height:1.5;margin-top:10px;max-width:820px}
.bat-premorbid-panel input:disabled,.bat-premorbid-panel select:disabled{opacity:.55;cursor:not-allowed;background:var(--paper-2)}
.bat-class-extreme{text-align:left!important;background:transparent!important}
.bat-expected-stars{font-weight:700;letter-spacing:0.04em;margin-left:1px;color:var(--ink)}
.apa-table .bat-class-extreme{font-weight:inherit}
.apa-table .bat-expected-stars{color:#000!important;font-weight:700}

/* Report Writer */
#report-writer.section{max-width:1280px}
.report-writer-shell{display:grid;gap:14px}
#report-writer .rw-tabs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 14px;padding:8px;
  border:1px solid var(--border);border-radius:8px;background:var(--paper-2);box-shadow:var(--shadow-soft);
}
#report-writer .rw-tabs .tab{
  display:flex;align-items:center;gap:9px;min-height:48px;margin:0;padding:10px 12px;
  border:1px solid var(--border-soft);border-radius:6px;background:var(--paper);color:var(--ink-2);
  font-size:12.5px;font-weight:500;line-height:1.25;
}
#report-writer .rw-tabs .tab:hover{
  transform:translateY(-1px);border-color:rgba(156,61,42,0.28);color:var(--accent);
  box-shadow:0 6px 16px rgba(60,40,20,0.05);
}
#report-writer .rw-tabs .tab.active{
  border-color:rgba(156,61,42,0.42);background:var(--accent-tint);color:var(--accent);
  box-shadow:inset 0 0 0 1px rgba(156,61,42,0.08);
}
#report-writer .rw-tab-num{
  flex:0 0 24px;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--border);border-radius:999px;background:var(--paper-2);color:var(--muted);
  font-family:var(--mono);font-size:11px;font-weight:700;
}
#report-writer .rw-tabs .tab.active .rw-tab-num{
  border-color:var(--accent);background:var(--accent);color:var(--paper);
}
.rw-tab-content{display:none}
.rw-tab-content.active{display:block;animation:fadeIn 200ms ease}

/* Tab 1 layout: Options (left) + Report Structure (right) */
.rw-setup-grid{display:grid;grid-template-columns:minmax(240px,.36fr) minmax(0,1fr);gap:14px;align-items:start}
.report-options-stack{display:flex;flex-direction:column;gap:10px}
.report-options-stack .field{margin-bottom:0;gap:4px}
.report-options-stack .field label{font-size:11.5px}
.report-options-stack .field select,.report-options-stack .field input{font-size:13px;height:32px;padding:0 8px;box-sizing:border-box}
.report-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.report-add-row .field{margin-bottom:0}
.report-add-row .btn{
  height:32px;padding:0 18px;font-size:12.5px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;align-self:end;
}
.rw-domain-field .btn{
  height:32px;padding:0 18px;font-size:12.5px;box-sizing:border-box;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;
  margin-top:8px;align-self:flex-start;
}
.rw-domain-checklist{
  display:flex;flex-direction:column;gap:4px;border:1px solid var(--border-soft);border-radius:6px;
  background:var(--paper);padding:6px 10px;max-height:240px;overflow-y:auto;
}
.rw-domain-check{
  display:flex;align-items:center;gap:8px;padding:3px 2px;cursor:pointer;font-size:12.5px;color:var(--ink-2);
}
.rw-domain-check input{margin:0;width:auto;accent-color:var(--accent)}
.rw-domain-check:hover{color:var(--ink)}
.rw-domain-check input:checked + span{color:var(--accent);font-weight:500}
.rw-domain-checklist-empty{font-size:11.5px;color:var(--faint);font-style:italic;padding:8px 4px;text-align:center}
@media (max-width:900px){.rw-setup-grid{grid-template-columns:1fr}}

/* Tab 2 layout: Picker (left) + Selected list (right) */
.rw-build-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:14px;align-items:start}
.report-selected-panel{padding:14px}
@media (max-width:1000px){.rw-build-grid{grid-template-columns:1fr}}
@media (max-width:900px){
  #report-writer .rw-tabs{grid-template-columns:1fr}
}

/* Sub-tab strip â€” domain tabs (numbered, prominent) */
.rw-subtabs{
  display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:8px;
  border:1px solid var(--border);border-radius:8px;background:var(--paper-2);
}
.rw-subtab{
  display:inline-flex;align-items:center;gap:9px;padding:9px 14px;border:1px solid var(--border-soft);
  border-radius:7px;background:var(--paper);color:var(--ink-2);font-family:var(--sans);font-size:13px;
  font-weight:500;cursor:pointer;line-height:1.2;transition:all 120ms ease;
}
.rw-subtab:hover{transform:translateY(-1px);border-color:rgba(156,61,42,.32);color:var(--accent);box-shadow:0 4px 10px rgba(60,40,20,.05)}
.rw-subtab.active{
  background:var(--accent-tint);border-color:rgba(156,61,42,.42);color:var(--accent);font-weight:600;
  box-shadow:inset 0 0 0 1px rgba(156,61,42,0.12);
}
.rw-subtab-num{
  flex:0 0 auto;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 7px;border:1px solid var(--border);border-radius:11px;background:var(--paper-2);color:var(--muted);
  font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.02em;
}
.rw-subtab.active .rw-subtab-num{border-color:var(--accent);background:var(--accent);color:var(--paper)}
.rw-subtab-count{
  font-family:var(--mono);font-size:10px;font-weight:600;color:var(--faint);
  border:1px solid var(--border);border-radius:999px;padding:1px 7px;background:var(--paper-2);
}
.rw-subtab.active .rw-subtab-count{background:var(--paper);border-color:rgba(156,61,42,.32);color:var(--accent)}
.rw-subtab.is-empty .rw-subtab-count{color:var(--warn);border-color:rgba(156,61,42,.32)}
.rw-subtab-remove{
  display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;
  border-radius:50%;color:var(--faint);font-size:13px;line-height:1;cursor:pointer;
  margin-left:2px;opacity:.5;transition:opacity 120ms ease,background 120ms ease,color 120ms ease;
}
.rw-subtab:hover .rw-subtab-remove{opacity:1}
.rw-subtab-remove:hover{background:rgba(156,61,42,.12);color:var(--warn);opacity:1}
.rw-subtabs-empty{font-size:12px;color:var(--faint);font-style:italic;padding:4px 6px}

/* Numbered prefix on section cards (Tab 1) */
.report-section-num{
  font-family:var(--mono);font-size:10px;font-weight:700;color:var(--faint);letter-spacing:.06em;
  margin:0;align-self:center;
}
.report-section-item.active .report-section-num{color:var(--accent)}

/* Wizard nav â€” shared across tabs, sticky to viewport bottom so Next is always visible */
.rw-wizard-nav{
  display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:14px;
  margin:14px 0;padding:10px 16px;border:1px solid var(--border);border-radius:8px;
  background:var(--paper);box-shadow:0 6px 16px rgba(60,40,20,0.06);
}
.rw-wizard-nav .rw-clear-btn{
  height:34px;padding:0 14px;font-size:11.5px;font-weight:600;letter-spacing:.02em;
  color:var(--muted);border:1px solid var(--border-soft);background:transparent;
  display:inline-flex;align-items:center;justify-content:center;line-height:1;box-sizing:border-box;
  margin-right:6px;
}
.rw-wizard-nav .rw-clear-btn:hover{color:var(--warn);border-color:rgba(156,61,42,.4);background:var(--accent-tint)}
.rw-wizard-nav .btn{height:34px;padding:0 18px;font-size:12.5px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.rw-wizard-nav [data-rw-wizard="prev"]{
  background:var(--paper);color:var(--accent);border:1px solid rgba(156,61,42,.42);font-weight:600;
}
.rw-wizard-nav [data-rw-wizard="prev"]:hover:not([disabled]){background:var(--accent-tint);border-color:var(--accent)}
.rw-wizard-nav .rw-wizard-progress{
  text-align:center;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.06em;
}
.rw-wizard-nav-sticky{position:sticky;bottom:8px;z-index:5}
.rw-wizard-nav button[disabled]{opacity:.4;cursor:not-allowed}

/* Combined search + chip filter bar */
.report-picker-bar{
  display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;margin-bottom:10px;
}
/* Modern search shell — icon on the left, optional clear button on the right.
   The shell is the visible "input"; the actual <input> is borderless inside. */
.report-search-shell{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.12);
  border-radius:10px;
  padding:0 14px;
  height:40px;
  box-shadow:0 1px 2px rgba(60,40,20,0.04);
  transition:border-color 200ms cubic-bezier(0.2,0.8,0.2,1),
             box-shadow 200ms cubic-bezier(0.2,0.8,0.2,1),
             background 200ms ease;
}
.report-search-shell:hover{
  border-color:rgba(20,15,5,0.22);
}
.report-search-shell:focus-within{
  border-color:var(--accent);
  box-shadow:
    0 0 0 4px rgba(156,61,42,0.14),
    0 1px 2px rgba(60,40,20,0.06),
    0 4px 12px rgba(60,40,20,0.06);
}
.report-search-icon{
  width:15px;height:15px;
  color:#9A968D;
  flex-shrink:0;
  transition:color 200ms ease;
}
.report-search-shell:focus-within .report-search-icon{color:var(--accent)}

/* Inner input is fully transparent — the shell IS the visible field. !important
   defeats the legacy global input[type="text"] rules that would otherwise add
   their own border/padding/min-height. */
.report-search-shell .report-test-search-inline,
#report-writer .report-search-shell input.report-test-search-inline{
  flex:1!important;
  min-width:0!important;
  width:100%!important;
  border:0!important;
  background:transparent!important;
  outline:none!important;
  padding:0!important;
  margin:0!important;
  height:auto!important;
  min-height:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  font-family:var(--sans);
  font-size:13.5px;
  color:#1A1A1A;
  line-height:1.4;
  letter-spacing:-0.005em;
}
.report-test-search-inline::placeholder{
  color:#9A968D;
  font-weight:400;
}

/* Clear button — only shows when the input has content (toggled by JS) */
.report-search-clear{
  flex-shrink:0;
  display:inline-flex;
  align-items:center;justify-content:center;
  width:22px;height:22px;
  border-radius:50%;
  border:0;
  background:rgba(20,15,5,0.06);
  color:#5A5A5A;
  cursor:pointer;
  transition:background 160ms ease, color 160ms ease, transform 160ms ease;
  padding:0;
}
.report-search-clear svg{width:10px;height:10px}
.report-search-clear:hover{
  background:rgba(20,15,5,0.14);
  color:#1A1A1A;
  transform:scale(1.08);
}
.report-search-clear[hidden]{display:none}
.report-picker-bar .report-filter-chips{justify-content:flex-end}
@media (max-width:1100px){
  .report-picker-bar{grid-template-columns:1fr}
  .report-picker-bar .report-filter-chips{justify-content:flex-start}
}

/* Contextual floating Add bar (appears only when checkboxes are ticked) */
.report-picker-floating-add{
  display:flex;align-items:center;gap:10px;margin-top:10px;padding:8px 12px;
  border:1px solid rgba(156,61,42,.32);background:var(--accent-tint);border-radius:7px;
  animation:fadeIn 160ms ease;
}
.report-picker-floating-add[hidden]{display:none}
.report-picker-floating-count{
  font-family:var(--mono);font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.04em;flex:1;
}
.report-picker-floating-add .btn{height:30px;padding:0 14px;font-size:12px;box-sizing:border-box;display:inline-flex;align-items:center;line-height:1}

/* Manual entry â€” collapsed by default */
/* "Add custom test / trial" disclosure — styled as a clear secondary CTA */
.report-manual-entry-details{margin-top:12px}
.report-manual-entry-details > summary{
  list-style:none;cursor:pointer;user-select:none;
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.02em;
  color:#1A1A1A;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.18);
  border-radius:999px;
  padding:8px 16px 8px 12px;
  box-shadow:0 1px 2px rgba(60,40,20,0.04);
  transition:background 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 120ms ease;
}
.report-manual-entry-details > summary::-webkit-details-marker{display:none}
.report-manual-entry-details > summary:hover{
  color:var(--accent);
  border-color:rgba(156,61,42,0.45);
  background:rgba(156,61,42,0.05);
  box-shadow:0 2px 6px rgba(156,61,42,0.12);
  transform:translateY(-1px);
}
.report-manual-entry-details > summary:focus-visible{
  outline:2px solid rgba(156,61,42,0.45);
  outline-offset:2px;
}
.report-manual-entry-details[open] > summary{
  color:var(--accent);
  border-color:rgba(156,61,42,0.45);
  background:rgba(156,61,42,0.06);
  margin-bottom:8px;
  transform:translateY(0);
}
.report-manual-entry-details > summary::before{
  content:'+';
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;
  border-radius:50%;
  background:rgba(20,15,5,0.06);
  color:#5A5A5A;
  font-family:var(--mono);
  font-size:13px;
  font-weight:700;
  line-height:1;
  transition:background 160ms ease, color 160ms ease, transform 200ms ease;
}
.report-manual-entry-details > summary:hover::before,
.report-manual-entry-details[open] > summary::before{
  background:var(--accent);
  color:#FFFFFF;
}
.report-manual-entry-details[open] > summary::before{
  content:'\2212'; /* − minus sign */
  transform:rotate(180deg);
}

/* Options panel â€” head row with Reset button */
.report-panel-head-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.report-panel-head-row .panel-kicker{margin-bottom:0}
.rw-reset-btn,.rw-sort-btn,.rw-autofill-btn{
  font-size:11.5px;height:28px;padding:0 12px;color:var(--accent);border:1px solid rgba(156,61,42,.4);
  background:var(--paper);font-weight:600;letter-spacing:.02em;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
}
.rw-reset-btn:hover,.rw-sort-btn:hover,.rw-autofill-btn:hover{background:var(--accent-tint);border-color:var(--accent);color:var(--accent)}
.rw-autofill-btn{
  /* dashed border to flag this as a temporary dev affordance */
  border-style:dashed;color:var(--muted);border-color:var(--border);
}
.rw-autofill-btn:hover{color:var(--accent);border-color:var(--accent);border-style:solid}

/* Selected-measures compact list (Build tab â€” replaces full table) */
.report-selected-list{
  margin-top:14px;border:1px solid var(--border-soft);border-radius:7px;background:var(--paper);overflow:hidden;
}
.report-selected-empty{padding:14px 16px;font-size:12px;color:var(--faint);font-style:italic;text-align:center}
.report-selected-row{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 10px;
  border-bottom:1px solid rgba(216,210,199,.5);
  font-size:12.5px;line-height:1.2;
  cursor:grab;
}
.report-selected-row:last-child{border-bottom:0}
.report-selected-row:hover{background:rgba(156,61,42,.035)}
.report-selected-row.is-dragging,.report-selected-row:active{cursor:grabbing}
.report-selected-row .report-selected-grip{color:var(--faint);font-size:12px;user-select:none;flex:0 0 auto}
.report-selected-row .report-selected-name{
  flex:1 1 auto;
  font-weight:500;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* Push the remove/tools cluster to the far right of the row */
.report-selected-row .report-selected-tools{
  display:inline-flex;gap:4px;align-items:center;
  margin-left:auto;
  flex:0 0 auto;
  opacity:1;
}
/* Generic tool buttons (S etc.) — quiet by default */
.report-selected-row .report-selected-tools button{
  border:1px solid var(--border-soft);background:var(--paper);color:var(--faint);border-radius:3px;
  font-size:10.5px;line-height:1;padding:2px 6px;cursor:pointer;font-family:var(--mono);letter-spacing:.05em;
}
.report-selected-row .report-selected-tools button:hover{color:var(--ink);border-color:var(--border)}
.report-selected-row .report-selected-tools button.is-on{background:var(--accent-tint);border-color:rgba(156,61,42,.34);color:var(--accent);opacity:1}

/* Remove (×) button — always visible, clearly destructive */
.report-selected-row .report-selected-tools .report-selected-remove{
  width:24px;
  height:24px;
  padding:0;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid rgba(214,58,47,0.35);
  background:rgba(214,58,47,0.08);
  color:#B22A20;
  font-family:var(--sans);
  font-size:15px;
  font-weight:600;
  letter-spacing:0;
  line-height:1;
  cursor:pointer;
  transition:background 140ms ease, color 140ms ease, border-color 140ms ease, transform 120ms ease, box-shadow 140ms ease;
}
.report-selected-row .report-selected-tools .report-selected-remove:hover{
  background:#D63A2F;
  border-color:#B22A20;
  color:#FFFFFF;
  box-shadow:0 2px 6px rgba(214,58,47,0.30);
  transform:scale(1.06);
}
.report-selected-row .report-selected-tools .report-selected-remove:active{
  background:#B22A20;
  border-color:#8E2118;
  transform:scale(1);
}
.report-selected-row .report-selected-tools .report-selected-remove:focus-visible{
  outline:2px solid rgba(214,58,47,0.55);
  outline-offset:2px;
}

/* Drag handle on section cards (Tab 1) */
.report-section-grip{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;flex:0 0 22px;color:var(--faint);font-size:14px;cursor:grab;user-select:none;
  border-right:1px solid var(--border-soft);align-self:stretch;
}
.report-section-grip:active{cursor:grabbing;color:var(--ink-2)}
.report-section-item.is-dragging{opacity:.45}
.report-section-item.is-drop-target{box-shadow:inset 0 2px 0 0 var(--accent)}
.report-grip-inline{
  display:inline-block;font-family:var(--mono);color:var(--faint);font-size:13px;
  padding:0 2px;border:1px solid var(--border-soft);border-radius:3px;background:var(--paper);
}

/* Tab 3 â€” compact score entry table */
.report-scores-table{font-size:12.5px}
.report-scores-table tr[draggable="true"]{cursor:grab}
.report-scores-table tr[draggable="true"]:active{cursor:grabbing}
.report-scores-table tr.is-dragging{opacity:.45}
.report-scores-table tr.is-drop-target td{box-shadow:inset 0 2px 0 0 var(--accent)}
.report-scores-grip{
  text-align:center;color:var(--faint);font-size:13px;user-select:none;cursor:grab;
  width:24px;padding:0;
}
.report-scores-table tr:hover .report-scores-grip{color:var(--ink-2)}
.report-scores-table thead th{font-size:10.5px}
.report-scores-table td input,.report-scores-table td select{width:100%;min-width:0;font-size:12.5px;padding:5px 7px}
.report-scores-table td:nth-child(1){text-align:left;font-weight:500;color:var(--ink)}
.report-scores-table td.report-scores-descriptor{font-style:italic;color:var(--ink-2)}
.report-scores-table .row-actions button{
  border:1px solid var(--border-soft);background:var(--paper);color:var(--faint);border-radius:4px;
  font-size:11px;line-height:1;padding:3px 7px;cursor:pointer;font-family:var(--mono);letter-spacing:.05em;
}
.report-scores-table .row-actions button:hover{color:var(--warn);border-color:rgba(156,61,42,.34)}

/* Output panel â€” keep visible without monopolising the page */
.report-output{max-height:min(48vh,440px);overflow-y:auto}
.report-panel{box-shadow:none;border-color:var(--border-soft);padding:14px 16px;margin-bottom:0}
.report-panel .panel-kicker{margin-bottom:8px}
.report-panel .panel-kicker{
  font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);margin-bottom:12px;
}
.report-add-section-grid,.report-options-grid{
  display:grid;grid-template-columns:minmax(140px,.8fr) minmax(160px,.9fr) minmax(220px,1.4fr) auto;
  gap:12px;align-items:end;
}
.report-primary-btn{height:36px;white-space:nowrap;justify-content:center;padding:0 18px}
.report-builder-grid{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:14px;align-items:start}
.report-section-list{display:grid;gap:5px}
.report-section-item{
  width:100%;border:1px solid var(--border-soft);background:var(--paper);border-radius:6px;
  padding:0;text-align:left;color:var(--ink-2);display:grid;grid-template-columns:22px 1fr auto;
  transition:background 120ms ease,border-color 120ms ease,color 120ms ease;
}
.report-section-item:hover{background:rgba(156,61,42,.035);color:var(--ink)}
.report-section-item.active{border-color:rgba(156,61,42,.34);background:var(--accent-tint);color:var(--accent)}
.report-section-content{
  padding:6px 11px;color:inherit;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;
}
.report-section-item{cursor:grab}
.report-section-item.is-dragging,
.report-section-item:active{cursor:grabbing}
.report-section-remove{border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:17px;line-height:1;border-left:1px solid var(--border-soft)}
.report-section-remove:hover{color:var(--warn);background:rgba(156,61,42,.06)}
.report-section-title{font-family:var(--serif);font-size:14px;font-weight:600;line-height:1.15}
.report-section-sub{font-size:11px;color:var(--muted);margin-top:3px}
.report-section-meta{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-top:0;white-space:nowrap}
.report-empty-state{font-size:12px;color:var(--faint);font-style:italic;padding:12px;border:1px dashed var(--border);border-radius:6px}
.report-panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}
.report-active-title{font-family:var(--serif);font-size:24px;letter-spacing:-.015em;margin:0;color:var(--ink)}
.report-mini-copy{font-size:12px;color:var(--muted);line-height:1.45;margin:0}
.report-test-picker{display:grid;gap:10px;margin-top:12px}
.report-picker-top{display:grid;gap:9px}
#rw-test-search{margin-bottom:8px}
.report-filter-chips{display:flex;gap:7px;flex-wrap:wrap}
.report-filter-chip{
  border:1px solid var(--border-soft);background:var(--paper);border-radius:999px;
  padding:6px 10px;font-family:var(--sans);font-size:11.5px;color:var(--ink-2);cursor:pointer;
}
.report-filter-chip:hover{border-color:rgba(156,61,42,.28);color:var(--ink)}
.report-filter-chip.active{background:var(--accent-tint);border-color:rgba(156,61,42,.34);color:var(--accent);font-weight:600}
.report-test-browser{
  border:1px solid var(--border);border-radius:7px;background:#fff;
  max-height:360px;overflow-y:auto;overflow-x:hidden;
  padding:8px;display:flex;flex-direction:column;gap:9px;scrollbar-width:thin;scrollbar-gutter:stable;
}
.report-test-browser::-webkit-scrollbar{width:10px}
.report-test-browser::-webkit-scrollbar-track{background:var(--paper-2);border-radius:0 7px 7px 0}
.report-test-browser::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;border:2px solid var(--paper-2)}
.report-test-browser::-webkit-scrollbar-thumb:hover{background:var(--faint)}
.report-picker-limit-note{
  border:1px solid var(--note-border);background:var(--note-bg);border-radius:6px;
  padding:8px 10px;font-size:11.5px;line-height:1.4;color:var(--muted);
}
.report-test-group{border:1px solid var(--border-soft);border-radius:6px;background:var(--paper);flex:0 0 auto;overflow:hidden}
.report-test-group-head{
  display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:7px 10px;background:rgba(246,242,234,.85);border-bottom:1px solid var(--border-soft);
  font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--ink);
  position:sticky;top:-8px;z-index:2;
}
.report-test-group-count{font-family:var(--mono);font-size:9px;color:var(--faint);letter-spacing:.08em}
.report-test-group-actions{display:inline-flex;gap:6px;align-items:center}
.report-test-add{
  font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.02em;
  border:1px solid var(--border-soft);background:var(--paper-2);color:var(--ink-2);
  border-radius:999px;padding:3px 9px;cursor:pointer;line-height:1.3;white-space:nowrap;
}
.report-test-add:hover{border-color:rgba(156,61,42,.4);color:var(--accent);background:var(--accent-tint)}
.report-role-band{display:flex;flex-direction:column}
.report-role-band-head{
  font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);
  padding:5px 10px 3px;background:rgba(246,242,234,.4);border-bottom:1px solid rgba(216,210,199,.4);
}
.report-test-option{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;
  padding:5px 10px;border-bottom:1px solid rgba(216,210,199,.5);cursor:pointer;color:var(--ink-2);
}
.report-test-option:last-child{border-bottom:0}
.report-test-option:hover{background:rgba(156,61,42,.035)}
.report-test-option.is-selected{border-color:rgba(156,61,42,.24);background:rgba(156,61,42,.055)}
.report-test-option input{width:auto;margin:0;accent-color:var(--accent)}
.report-test-name{font-weight:600;color:var(--ink);font-size:13px;line-height:1.15}
.report-test-family{font-size:10.5px;color:var(--muted);margin-top:3px;line-height:1.25}
.report-test-construct{font-size:11px;color:var(--ink-2);line-height:1.3}
.report-test-badge{font-family:var(--mono);font-size:8.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(156,61,42,.25);border-radius:999px;padding:2px 6px;background:var(--accent-tint)}
.report-test-option.is-added{opacity:.62;background:rgba(0,0,0,.018);cursor:default}
.report-test-option.is-added .report-test-badge{color:var(--faint);border-color:var(--border);background:var(--paper-2)}
.report-picker-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.report-picker-note{font-size:11px;line-height:1.45;color:var(--muted);border-left:2px solid var(--note-border);padding-left:10px}
.report-manual-entry{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin:14px 0 10px;padding-top:14px;border-top:1px solid var(--border-soft)}
.report-table-wrap{margin-top:8px;overflow-x:auto}
.report-measure-table{font-size:12px}
.report-measure-table td input,.report-measure-table td select{width:100%;min-width:0;font-size:12px;padding:5px 6px}
.report-measure-table td:nth-child(1),.report-measure-table td:nth-child(2){text-align:left}
.report-measure-table td.report-cell-descriptor{font-style:italic;color:var(--ink-2)}
.report-measure-table tr.is-symptom td.report-cell-test{box-shadow:inset 3px 0 0 0 rgba(156,61,42,.55)}
.report-measure-table tr.is-symptom td.report-cell-descriptor{font-style:normal;color:var(--muted);font-size:11px}
.report-row-tools{display:inline-flex;gap:4px;align-items:center}
.report-row-tools button{
  border:1px solid var(--border-soft);background:var(--paper);color:var(--faint);border-radius:4px;
  font-size:11px;line-height:1;padding:3px 6px;cursor:pointer;font-family:var(--mono);letter-spacing:.05em
}
.report-row-tools button:hover{color:var(--ink);border-color:var(--border)}
.report-row-tools button.is-on{background:var(--accent-tint);border-color:rgba(156,61,42,.34);color:var(--accent)}
.report-row-tools button.report-row-remove:hover{color:var(--warn);border-color:rgba(156,61,42,.34)}
.report-section-actions{display:flex;flex-direction:row;align-items:stretch;border-left:1px solid var(--border-soft)}
.report-section-actions button{
  border:0;background:transparent;color:var(--faint);cursor:pointer;font-size:11px;line-height:1;
  padding:0 8px;font-family:var(--mono);min-width:24px;display:inline-flex;align-items:center;justify-content:center;
}
.report-section-actions button:hover:not(:disabled){color:var(--ink);background:rgba(156,61,42,.04)}
.report-section-actions button:disabled{opacity:.3;cursor:default}
.report-section-actions .report-section-remove{color:var(--faint);font-size:14px;border-left:1px solid var(--border-soft);border-top:0}
.report-section-actions .report-section-remove:hover{color:var(--warn);background:rgba(156,61,42,.06)}
.report-output-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.report-output-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.report-toggle,.report-strength-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border-soft);background:var(--paper);border-radius:999px;padding:7px 10px;font-size:12px;color:var(--ink-2);white-space:nowrap}
.report-toggle input,.report-strength-toggle input{width:auto;margin:0;accent-color:var(--accent)}
.report-toggle:has(input:checked),.report-strength-toggle:has(input:checked){border-color:rgba(156,61,42,.34);color:var(--accent);background:var(--accent-tint)}
.report-output.is-locked{background:#fafaf7;border-style:dashed}
.report-output.is-stale::before{
  content:'Inputs changed â€” click Regenerate to refresh';
  display:block;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--accent);background:var(--accent-tint);border:1px solid rgba(156,61,42,.24);
  border-radius:4px;padding:5px 9px;margin:-6px -8px 12px;text-align:center
}
.report-output{
  min-height:220px;border:1px solid var(--border);background:#fff;border-radius:6px;
  padding:18px 20px;font-family:var(--serif);font-size:15px;line-height:1.62;color:var(--ink);
}
.report-output:focus{outline:1px solid rgba(156,61,42,.34)}
.report-output h3{font-family:var(--serif);font-size:22px;margin:0 0 6px;color:var(--ink)}
.report-output h4{
  font-family:var(--serif);font-size:13.5px;font-weight:500;font-style:italic;
  color:var(--ink);margin:12px 0 2px;letter-spacing:0;text-transform:none;
}
.report-output p{margin:0 0 13px}
.report-output em{font-style:italic}
.report-output sup{font-size:.68em;vertical-align:super;line-height:0}
@media (max-width:1000px){
  .report-add-section-grid,.report-options-grid,.report-builder-grid,.report-manual-entry{grid-template-columns:1fr}
  .report-test-option{grid-template-columns:auto minmax(0,1fr);align-items:start}
  .report-test-badge{grid-column:2}
  .report-output-toolbar{display:grid}
  .report-output-actions{justify-content:flex-start}
}

/* PRINT */
@media print{
  body{display:block}
  .sidebar, .apa-toolbar, .controls-row, .add-row-btn, .btn{display:none !important}
  .section{display:block !important;padding:0;max-width:none}
  .apa-wrap{border:none;padding:0}
}

/* AUTH OVERLAY - prototype-ready login/register shell */
.auth-overlay{
  position:fixed;inset:0;z-index:2000;
  display:flex;align-items:center;justify-content:center;
  padding:28px;background:rgba(26,26,26,0.38);
  backdrop-filter:blur(8px);
}
.auth-overlay.is-hidden{display:none}
.auth-card{
  width:min(100%,460px);
  background:var(--paper);
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 20px 60px rgba(0,0,0,0.22);
  padding:28px;
}
.auth-brand{
  display:flex;align-items:center;gap:8px;
  font-family:var(--serif);font-size:13px;color:var(--accent);
  margin-bottom:14px;
}
.auth-brand span:last-child{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);
}
.auth-title{
  font-family:var(--serif);font-size:28px;font-weight:600;
  letter-spacing:-0.02em;line-height:1.08;color:var(--ink);
  margin-bottom:8px;
}
.auth-title em{font-style:italic;color:var(--accent);font-weight:500}
.auth-copy{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-bottom:18px}
.auth-tabs{
  display:grid;grid-template-columns:1fr 1fr;
  border:1px solid var(--border);
  border-radius:6px;overflow:hidden;margin-bottom:18px;
  background:var(--paper-2);
}
.auth-tab{
  border:0;background:transparent;padding:10px 12px;
  font-family:var(--sans);font-size:12.5px;font-weight:500;
  color:var(--muted);cursor:pointer;
}
.auth-tab.active{background:var(--paper);color:var(--accent)}
.auth-form{display:none}
.auth-form.active{display:block}
.auth-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}
.auth-note{
  background:var(--note-bg);
  border:1px solid var(--border-soft);
  border-left:2px solid var(--note-border);
  color:var(--ink-2);
  padding:10px 12px;border-radius:6px;
  font-size:12px;line-height:1.45;margin-top:16px;
}
.auth-feedback{min-height:18px;font-size:12px;color:var(--muted);margin-top:10px}
.auth-feedback.error{color:var(--warn)}
.auth-feedback.success{color:var(--good)}
.auth-link{
  border:0;background:transparent;color:var(--accent);
  font-family:var(--sans);font-size:12.5px;cursor:pointer;
  padding:0;text-decoration:underline;text-underline-offset:2px;
}
.auth-user-chip{
  margin-top:12px;padding:10px 24px;border-top:1px solid var(--border-soft);
  display:none;gap:8px;align-items:center;flex-wrap:wrap;
  font-size:11.5px;color:var(--muted);
}
.auth-user-chip.show{display:flex}
.auth-user-chip strong{color:var(--ink);font-weight:500}
.auth-user-chip .btn{font-size:11.5px;padding:5px 8px;margin-left:auto}
@media (max-width:520px){
  .auth-card{padding:22px}
  .auth-title{font-size:24px}
}


/* Workflow polish - calculator pages */
.formula-disclosure{margin:18px 0 14px;max-width:100%;}
.formula-disclosure summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;user-select:none;font-family:var(--sans);font-size:12px;font-weight:500;color:var(--accent);border:1px solid rgba(156,61,42,0.20);background:var(--accent-tint);border-radius:999px;padding:6px 12px;transition:background 120ms ease,border-color 120ms ease;}
.formula-disclosure summary:hover{background:var(--accent-tint-strong);border-color:rgba(156,61,42,0.34)}
.formula-disclosure summary::before{content:'\0192';font-family:var(--serif);font-style:italic;font-size:14px;color:var(--accent)}
.formula-disclosure[open] summary{margin-bottom:10px}
.formula-disclosure .info-box{
  margin:0;
  background:var(--paper-2);
  border:1px solid var(--border-soft);
  border-radius:4px;
}
.panel.settings-panel{padding:20px 22px 22px;margin-top:14px}
.panel-kicker{font-family:var(--sans);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:12px;}
.panel-kicker + .field-row-3,.panel-kicker + .field-row-4{margin-top:0}
.autofill-panel{margin-top:12px;margin-bottom:12px;padding:12px 14px;box-shadow:none}
.autofill-row{gap:10px}
.autofill-panel .autofill-row > .field > label{font-size:12px;font-weight:600;color:var(--ink-2)}
.autofill-panel .autofill-row > .field > label::before{content:none}
.autofill-panel .hint{font-size:10.5px}
.autofill-panel .combo,.autofill-panel .combo-list{width:100%}
h2.block-title + .input-table,.table-section-title + .input-table{margin-top:12px}
.input-table{background:rgba(255,255,255,0.18);border-radius:5px;overflow:hidden}
.input-table thead tr.table-group-row th{background:rgba(244,240,232,0.62);border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);color:var(--muted);font-size:9.5px;letter-spacing:0.13em;text-align:center;font-weight:600;padding:7px 8px;}
.input-table thead tr.table-group-row th:first-child{text-align:left;color:var(--faint)}
.input-table tbody tr{transition:background 120ms ease}
.input-table tbody tr:hover{background:rgba(156,61,42,0.024)}
.input-table td input[type="number"]{text-align:center}
.input-table td.computed{text-align:center;white-space:nowrap}
.input-table td.computed.sig-no,.input-table td.computed.sig-yes,.input-table td.computed.sig-improve,.input-table td.computed.sig-decline{text-align:left;font-family:var(--sans);font-size:12px;font-weight:600;background:transparent!important;}
.input-table td.computed.sig-no{color:var(--muted)}
.input-table td.computed.sig-yes,.input-table td.computed.sig-decline{color:var(--warn)}
.input-table td.computed.sig-improve{color:var(--good)}
/* Pill shape for in-table "+ Add row" — colour comes from the global green rule above */
.add-row-btn{border-radius:999px;padding:8px 14px}
.apa-toolbar-label{display:flex;align-items:center}
#rci-basic h2.block-title,#rci-practice h2.block-title,#rci-srb h2.block-title,#rci-crawford h2.block-title,#sdi h2.block-title{
  margin-top:16px;margin-bottom:10px;padding-bottom:6px;
  font-size:16px;letter-spacing:0;color:var(--ink-2);
}
#rci-basic .section-desc,#rci-practice .section-desc,#rci-srb .section-desc,#rci-crawford .section-desc,#sdi .section-desc{max-width:760px}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel),
#sdi > .panel:not(.autofill-panel),
#rci-basic > .panel:not(.autofill-panel),
#rci-practice > .panel:not(.autofill-panel),
#rci-srb > .panel:not(.autofill-panel),
#rci-crawford > .panel:not(.autofill-panel){
  padding:12px 14px;margin:12px 0;
  background:rgba(250,247,241,0.58);
  border-color:var(--border-soft);
  border-radius:5px;box-shadow:none;
}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) .field-row-3,
#sdi > .panel:not(.autofill-panel) .field-row-4,
#rci-basic > .panel:not(.autofill-panel) .field-row-3,
#rci-practice > .panel:not(.autofill-panel) .field-row-3,
#rci-srb > .panel:not(.autofill-panel) .field-row-3,
#rci-crawford > .panel:not(.autofill-panel) .field-row-3{
  gap:10px;align-items:end;
}

#sdi.section.active > .panel:not(.autofill-panel) .field-row-4{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) .field,
#sdi > .panel:not(.autofill-panel) .field,
#rci-basic > .panel:not(.autofill-panel) .field,
#rci-practice > .panel:not(.autofill-panel) .field,
#rci-srb > .panel:not(.autofill-panel) .field,
#rci-crawford > .panel:not(.autofill-panel) .field{
  gap:4px;margin-bottom:0;
}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) label,
#sdi > .panel:not(.autofill-panel) label,
#rci-basic > .panel:not(.autofill-panel) label,
#rci-practice > .panel:not(.autofill-panel) label,
#rci-srb > .panel:not(.autofill-panel) label,
#rci-crawford > .panel:not(.autofill-panel) label{
  font-size:11.5px;color:var(--muted);
}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) input,
#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) select,
#sdi > .panel:not(.autofill-panel) input,
#sdi > .panel:not(.autofill-panel) select,
#rci-basic > .panel:not(.autofill-panel) input,
#rci-basic > .panel:not(.autofill-panel) select,
#rci-practice > .panel:not(.autofill-panel) input,
#rci-practice > .panel:not(.autofill-panel) select,
#rci-srb > .panel:not(.autofill-panel) input,
#rci-srb > .panel:not(.autofill-panel) select,
#rci-crawford > .panel:not(.autofill-panel) input,
#rci-crawford > .panel:not(.autofill-panel) select{
  min-height:33px;padding:6px 9px;font-size:13px;
}

#battery > .panel:not(.autofill-panel):not(.bat-premorbid-panel) select,
#sdi > .panel:not(.autofill-panel) select,
#rci-basic > .panel:not(.autofill-panel) select,
#rci-practice > .panel:not(.autofill-panel) select,
#rci-srb > .panel:not(.autofill-panel) select,
#rci-crawford > .panel:not(.autofill-panel) select{
  padding:6px 34px 6px 9px;
  background-position:right 11px center;
}

#sdi > .panel:not(.autofill-panel) .info-box{
  margin:10px 0 0;padding:9px 12px;font-size:12px;
}

#battery .bat-premorbid-panel{
  padding:12px 14px;margin:10px 0 12px;box-shadow:none;
}

#sdi.section.active,
#rci-basic.section.active,
#rci-practice.section.active,
#rci-srb.section.active,
#rci-crawford.section.active{
  display:grid;
  grid-template-columns:minmax(280px,0.82fr) minmax(360px,1.18fr);
  column-gap:12px;
  align-items:start;
}

#sdi.section.active > *,
#rci-basic.section.active > *,
#rci-practice.section.active > *,
#rci-srb.section.active > *,
#rci-crawford.section.active > *{
  grid-column:1 / -1;
}

#sdi.section.active > .panel:not(.autofill-panel),
#rci-basic.section.active > .panel:not(.autofill-panel),
#rci-practice.section.active > .panel:not(.autofill-panel),
#rci-srb.section.active > .panel:not(.autofill-panel),
#rci-crawford.section.active > .panel:not(.autofill-panel){
  grid-column:1;
  align-self:stretch;
}

#sdi.section.active > .autofill-panel,
#rci-basic.section.active > .autofill-panel,
#rci-practice.section.active > .autofill-panel,
#rci-srb.section.active > .autofill-panel,
#rci-crawford.section.active > .autofill-panel{
  grid-column:2;
  align-self:stretch;
}


/* Usability pass - guided workflow, validation, and clearer outputs */
.workflow-step{display:flex;align-items:baseline;gap:10px;margin:24px 0 12px;padding-top:2px}
.workflow-step-num{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-tint);border:1px solid rgba(156,61,42,0.18);border-radius:999px;padding:3px 8px;white-space:nowrap}
.workflow-step-title{font-family:var(--serif);font-size:20px;font-weight:600;letter-spacing:-0.01em;color:var(--ink)}
.workflow-step-copy{font-size:12.5px;color:var(--muted);margin:-6px 0 12px;max-width:760px;line-height:1.55}
.panel.settings-panel{position:relative}
.setting-grid-split{display:grid;grid-template-columns:1fr;gap:14px}
.input-help-toggle{margin:0 0 12px}
.input-help-toggle summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:500;display:inline-flex;gap:7px;align-items:center;border-bottom:1px dotted rgba(156,61,42,0.35)}
.input-help-toggle summary::before{content:'?';font-family:var(--mono);font-size:10px;border:1px solid rgba(156,61,42,0.25);border-radius:999px;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-tint)}
.column-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px;padding:12px;border:1px solid var(--border-soft);border-left:2px solid var(--note-border);background:var(--note-bg);border-radius:6px}
.column-guide div{font-size:12px;color:var(--ink-2);line-height:1.35}
.column-guide code{font-family:var(--mono);font-size:11px;color:var(--accent);background:transparent;padding:0;margin-right:4px}
.input-table th[title]{cursor:help;text-decoration:underline;text-decoration-style:dotted;text-decoration-color:rgba(156,61,42,0.32);text-underline-offset:3px}
.bat-score-head-label{display:block}
.input-table tr.row-awaiting{opacity:.82}
.input-table tr.row-check{background:rgba(156,61,42,0.035)}
.input-table td.status-awaiting,.input-table td.status-check{font-family:var(--sans);font-size:12px;text-align:left!important;color:var(--faint)}
.input-table td.status-check{color:var(--warn);font-weight:600}
.input-table td.computed.sig-no,.input-table td.computed.sig-yes,.input-table td.computed.sig-improve,.input-table td.computed.sig-decline{padding-left:10px;padding-right:10px}
.add-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.add-row-actions .add-row-btn{margin-top:0}
.add-row-actions .btn-clear{min-height:34px;padding:7px 12px}
.btn-example{border-style:solid;background:var(--paper);color:var(--muted)}
.btn-example:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-tint)}
.apa-empty{border:1px dashed var(--border);background:var(--note-bg);border-radius:6px;padding:16px 18px;color:var(--ink-2);font-family:var(--sans);font-size:13px;line-height:1.5}
.apa-empty strong{display:block;color:var(--ink);font-weight:600;margin-bottom:4px}
.apa-status{font-family:var(--sans);font-size:11.5px;color:var(--muted);margin:0 0 12px;padding:8px 10px;border:1px solid var(--border-soft);background:var(--note-bg);border-radius:4px}
.apa-status strong{color:var(--accent);font-weight:600}
@media (max-width:900px){.workflow-step{align-items:flex-start;flex-direction:column;gap:6px}.column-guide{grid-template-columns:1fr}.add-row-actions{gap:6px}#sdi.section.active,#rci-basic.section.active,#rci-practice.section.active,#rci-srb.section.active,#rci-crawford.section.active{grid-template-columns:1fr}#sdi.section.active > .panel:not(.autofill-panel),#sdi.section.active > .autofill-panel,#rci-basic.section.active > .panel:not(.autofill-panel),#rci-basic.section.active > .autofill-panel,#rci-practice.section.active > .panel:not(.autofill-panel),#rci-practice.section.active > .autofill-panel,#rci-srb.section.active > .panel:not(.autofill-panel),#rci-srb.section.active > .autofill-panel,#rci-crawford.section.active > .panel:not(.autofill-panel),#rci-crawford.section.active > .autofill-panel{grid-column:1 / -1}}


/* Patient score boundary - visually separates model/norm inputs from patient scores.
   CSS-only: no markup changes and no effect on contextual tabbing logic. */
.input-table th.d1-head,
.input-table td:has(input[data-f="t1"]),
#bat-table th:nth-child(3),
#bat-table td:nth-child(3){
  border-left:none;
  box-shadow:none;
}

/* Faint score-column tint. Date 1/Date 2 in Reliable Change tables;
   Raw/Score/Percentile/Classification in the Neuropsych report table. */
.input-table th.d1-head,
.input-table th.d2-head,
.input-table td:has(input[data-f="t1"]),
.input-table td:has(input[data-f="t2"]),
#bat-table th:nth-child(3),
#bat-table th:nth-child(4),
#bat-table th:nth-child(5),
#bat-table th:nth-child(6),
#bat-table td:nth-child(3),
#bat-table td:nth-child(4),
#bat-table td:nth-child(5),
#bat-table td:nth-child(6){
  background:rgba(156,61,42,0.052);
}

/* Keep entered score fields paper-like rather than looking highlighted or disabled. */
.input-table td:has(input[data-f="t1"]) input,
.input-table td:has(input[data-f="t2"]) input,
#bat-table td:nth-child(3) input,
#bat-table td:nth-child(4) input{
  background:#fff;
}

/* Slightly warmer row hover over score columns, preserving existing table hover style. */
.input-table tbody tr:hover td:has(input[data-f="t1"]),
.input-table tbody tr:hover td:has(input[data-f="t2"]),
#bat-table tbody tr:hover td:nth-child(3),
#bat-table tbody tr:hover td:nth-child(4),
#bat-table tbody tr:hover td:nth-child(5),
#bat-table tbody tr:hover td:nth-child(6){
  background:rgba(156,61,42,0.075);
}

/* Print: keep the group boundary, remove soft screen-only shadows and tints. */
@media print{
  .input-table th.d1-head,
  .input-table td:has(input[data-f="t1"]),
  #bat-table th:nth-child(3),
  #bat-table td:nth-child(3){
    border-left:none;
    box-shadow:none;
  }

  .input-table th.d1-head,
  .input-table th.d2-head,
  .input-table td:has(input[data-f="t1"]),
  .input-table td:has(input[data-f="t2"]),
  #bat-table th:nth-child(3),
  #bat-table th:nth-child(4),
  #bat-table th:nth-child(5),
  #bat-table th:nth-child(6),
  #bat-table td:nth-child(3),
  #bat-table td:nth-child(4),
  #bat-table td:nth-child(5),
  #bat-table td:nth-child(6){
    background:transparent;
  }
}

/* ===== Effect Size Tools page (es-*) ===== */
#effectsize.section{max-width:1320px;padding-top:36px;padding-bottom:48px}
#effectsize .section-title{margin-bottom:6px}
#effectsize .panel{padding:14px 18px;margin-bottom:14px}
#effectsize .field{margin-bottom:0}
#effectsize .field label{font-size:10.5px;letter-spacing:0.06em;margin-bottom:3px}
#effectsize .field input,#effectsize .field select{padding:7px 10px;font-size:13px}

/* Mode tabs (clear OR â€” looks like proper tabs sitting on top of the panel) */
#effectsize .es-tabs-wrap{margin-bottom:0}
#effectsize .es-tabs{display:flex;align-items:stretch;gap:0;position:relative;z-index:2}
#effectsize .es-tab{flex:1;display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--paper-2);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;font-family:var(--sans);text-align:left;cursor:pointer;transition:background 160ms,color 160ms,border-color 160ms;color:var(--ink-2);position:relative;top:1px}
#effectsize .es-tab:hover{background:var(--paper-3);color:var(--ink)}
#effectsize .es-tab.is-active{background:var(--paper);border-color:var(--border);color:var(--ink);top:0;box-shadow:0 -2px 0 var(--accent) inset}
#effectsize .es-tab.is-active .es-tab-num{background:var(--accent);color:#FAF7F1;border-color:var(--accent)}
#effectsize .es-tab-num{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:var(--paper);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--muted);transition:all 160ms}
#effectsize .es-tab-text{display:flex;flex-direction:column;gap:1px;line-height:1.25}
#effectsize .es-tab-title{font-size:13.5px;font-weight:600;letter-spacing:-0.005em}
#effectsize .es-tab-sub{font-size:11px;color:var(--muted);font-weight:400}
#effectsize .es-tab.is-active .es-tab-sub{color:var(--ink-2)}
#effectsize .es-tabs-or{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0 8px;background:transparent}
#effectsize .es-tabs-or span{font-family:var(--mono);font-size:10.5px;font-weight:700;color:var(--paper);letter-spacing:0.14em;background:#3d7550;padding:4px 8px;border-radius:10px;border:1px solid #3d7550}

#effectsize .es-input-panel{margin-top:0;border-top-left-radius:0;border-top-right-radius:0;padding-top:18px;position:relative;z-index:1}
#effectsize .es-mode-pane{display:none}
#effectsize .es-mode-pane.is-active{display:block}
#effectsize .es-preloaded-note{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:8px 10px;
  border:1px solid var(--border-soft);
  border-left:2px solid #3d7550;
  border-radius:5px;
  background:var(--note-bg);
  color:var(--ink-2);
  font-size:12px;
  line-height:1.35;
}
#effectsize .es-preloaded-pill{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  background:#3d7550;
  color:var(--paper);
  font-family:var(--mono);
  font-size:9px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
}
/* =====================================================================
   Effect-size quick slider — minimalist single-row layout
   [TRACK + ticks] [value]
   ===================================================================== */
#effectsize .es-d-slider-row{
  --es-d-pct:50%;
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:center;
  gap:14px;
  margin:0 0 12px;
  padding:6px 14px 4px;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
}

/* CONTROL — slider + ticks together */
#effectsize .es-d-slider-control{
  position:relative;
  height:30px;
  padding-top:0;
}
/* Static track background underneath the native input — subtle inset shadow for depth */
#effectsize .es-d-slider-track-bg{
  position:absolute;
  left:0;right:0;top:7px;
  height:6px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(20,15,5,0.10) 0%, rgba(20,15,5,0.07) 100%);
  box-shadow:
    inset 0 1px 1px rgba(20,15,5,0.10),
    inset 0 -1px 0 rgba(255,255,255,0.55);
  pointer-events:none;
}
/* Filled portion (between centre and thumb) — accent gradient */
#effectsize .es-d-slider-track-bg::before{
  content:"";
  position:absolute;
  top:0;bottom:0;
  /* Fill from centre (0) outward toward thumb position. We handle both directions. */
  left:min(50%, var(--es-d-pct, 50%));
  right:max(50%, var(--es-d-pct, 50%));
  background:linear-gradient(180deg, rgba(156,61,42,0.92) 0%, rgba(132,48,32,0.95) 100%);
  border-radius:999px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.18);
}

/* Native range input — invisible track, styled thumb */
#effectsize #es-d-slider{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  height:20px;
  margin:0;
  background:transparent;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
  touch-action:none;
}
#effectsize #es-d-slider::-webkit-slider-runnable-track{
  height:6px;
  background:transparent;
  border-radius:999px;
}
#effectsize #es-d-slider::-moz-range-track{
  height:6px;
  background:transparent;
  border-radius:999px;
}
/* Thumb: 18 px, dark with crisp white ring + soft drop shadow.
   Easing curve is the same one Apple/Linear use for control affordances. */
#effectsize #es-d-slider::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:18px;
  height:18px;
  margin-top:-6px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%, #2A2A2A 0%, #0E0E0E 75%);
  border:2px solid #FFFFFF;
  box-shadow:
    0 0 0 1px rgba(20,15,5,0.16),
    0 1px 2px rgba(20,15,5,0.18),
    0 4px 10px rgba(20,15,5,0.20);
  cursor:grab;
  transition:
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
#effectsize #es-d-slider::-moz-range-thumb{
  width:14px;
  height:14px;
  border-radius:50%;
  background:radial-gradient(circle at 30% 28%, #2A2A2A 0%, #0E0E0E 75%);
  border:2px solid #FFFFFF;
  box-shadow:
    0 0 0 1px rgba(20,15,5,0.16),
    0 1px 2px rgba(20,15,5,0.18),
    0 4px 10px rgba(20,15,5,0.20);
  cursor:grab;
  transition:
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
#effectsize #es-d-slider:hover::-webkit-slider-thumb{
  transform:scale(1.12);
  box-shadow:
    0 0 0 1px rgba(20,15,5,0.26),
    0 2px 4px rgba(20,15,5,0.22),
    0 8px 18px rgba(20,15,5,0.22);
}
#effectsize #es-d-slider:hover::-moz-range-thumb{
  transform:scale(1.12);
}
#effectsize #es-d-slider:active::-webkit-slider-thumb,
#effectsize #es-d-slider:focus-visible::-webkit-slider-thumb{
  transform:scale(1.18);
  box-shadow:
    0 0 0 1px rgba(156,61,42,0.45),
    0 0 0 6px rgba(156,61,42,0.16),
    0 2px 4px rgba(20,15,5,0.22),
    0 10px 22px rgba(20,15,5,0.22);
  cursor:grabbing;
}
#effectsize #es-d-slider:active::-moz-range-thumb,
#effectsize #es-d-slider:focus-visible::-moz-range-thumb{
  transform:scale(1.18);
  cursor:grabbing;
}
#effectsize #es-d-slider:focus{outline:none}

/* TICK MARKS below the track — lighter, just whiskers, no labels by default */
#effectsize .es-d-slider-ticks{
  position:absolute;
  left:0;right:0;
  top:14px;
  height:6px;
  pointer-events:none;
}
#effectsize .es-d-tick{
  position:absolute;
  top:0;
  width:1px;height:4px;
  background:rgba(20,15,5,0.18);
  transform:translateX(-50%);
}
#effectsize .es-d-tick::after{
  /* Tiny labels under just the major + zero ticks */
  content:"";
}
#effectsize .es-d-tick-major,
#effectsize .es-d-tick-zero{height:5px;background:rgba(20,15,5,0.40)}
#effectsize .es-d-tick-major::after,
#effectsize .es-d-tick-zero::after{
  content:attr(data-label);
  position:absolute;
  top:6px;left:50%;
  transform:translateX(-50%);
  font-family:var(--mono);
  font-size:8.5px;
  color:#9A968D;
  white-space:nowrap;
  letter-spacing:0.02em;
}
#effectsize .es-d-tick-zero::after{color:#5A5A5A;font-weight:600}

/* READOUT — value (inline, single row) */
#effectsize .es-d-slider-val-num{
  font-family:var(--mono);
  font-size:14px;
  font-weight:600;
  color:#1A1A1A;
  letter-spacing:-0.01em;
  line-height:1;
  font-variant-numeric:tabular-nums;
  min-width:44px;
  text-align:right;
}
/* (Magnitude pill styling removed — pill itself was removed from the slider row to
   keep the track at a fixed width. The JS still has guarded lookups that are no-ops.) */
#effectsize .es-method-warning{
  display:none;
  margin:-4px 0 14px;
  padding:9px 12px;
  border:1px solid var(--border-soft);
  border-left:2px solid var(--note-border);
  border-radius:5px;
  background:var(--note-bg);
  color:var(--ink-2);
  font-size:12.5px;
  line-height:1.45;
}
#effectsize .es-method-warning.is-visible{display:block}
#effectsize .es-method-warning.is-error{
  border-color:rgba(139,58,46,0.24);
  border-left-color:var(--warn);
  color:var(--warn);
}
#effectsize .es-warning-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
#effectsize .es-warning-actions .btn{
  padding:5px 9px;
  font-size:11.5px;
}
#effectsize .es-reset-field{display:flex;flex-direction:column;justify-content:flex-end}
#effectsize .es-reset-btn{
  font-size:12px;
  padding:7px 12px;
  white-space:nowrap;
  border-color:var(--warn);
  background:var(--warn);
  color:var(--paper);
  font-weight:700;
  min-height:34px;
}
#effectsize .es-reset-btn:hover{
  border-color:#6f2d24;
  background:#6f2d24;
  color:var(--paper);
}

/* Mode A: stat row */
#effectsize .es-stat-row{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;align-items:end}
@media (max-width:760px){
  #effectsize .es-stat-row{grid-template-columns:1fr}
  #effectsize .es-reset-field label{display:none}
}

/* Mode B: groups */
#effectsize .es-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}
@media (max-width:1000px){#effectsize .es-groups{grid-template-columns:1fr}}
#effectsize .es-group{padding:10px 12px;background:var(--paper);border:1px solid var(--border-soft);border-radius:5px}
#effectsize .es-group-title{font-family:var(--sans);font-size:10.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
#effectsize .es-grp-grid{display:grid;grid-template-columns:0.8fr 1fr 1.1fr 1fr;gap:8px}
#effectsize .es-grp-ci{margin-top:6px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2)}
#effectsize .es-grp-ci-label{color:var(--muted);font-weight:600;letter-spacing:0.04em;font-size:10px;text-transform:uppercase;margin-right:4px}

/* Pooled values row */
#effectsize .es-pooled{display:flex;align-items:center;gap:14px;padding:8px 12px;background:var(--paper-2);border:1px solid var(--border-soft);border-radius:5px;flex-wrap:wrap}
#effectsize .es-pooled-item{display:flex;align-items:baseline;gap:6px}
#effectsize .es-pooled-label{font-family:var(--sans);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
#effectsize .es-pooled-val{font-family:var(--mono);font-size:13px;color:var(--ink);font-weight:500}
#effectsize .es-clear-btn{margin-left:0;padding:5px 12px;font-size:12px}
#effectsize #es-apply-groups{
  margin-left:auto;
  padding:7px 12px;
  font-size:12px;
  font-weight:700;
  border-color:#3d7550;
  background:#3d7550;
  color:var(--paper);
}
#effectsize #es-apply-groups:hover{
  border-color:#2e5a3d;
  background:#2e5a3d;
  color:var(--paper);
}

/* Output row: results + curve side-by-side */
#effectsize .es-output-row{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-bottom:14px}
@media (max-width:1100px){#effectsize .es-output-row{grid-template-columns:1fr}}
#effectsize .es-results-panel,#effectsize .es-curve-panel{margin:0}
#effectsize .es-left-panel{padding-top:12px}
#effectsize .es-view-tabs{
  display:flex;
  gap:0;
  margin:0 0 10px;
  border-bottom:1px solid var(--border-soft);
  overflow:visible;
}
#effectsize .es-view-tab{
  border:1px solid var(--border-soft);
  border-bottom:none;
  background:var(--paper-2);
  color:var(--ink-2);
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-weight:600;
  padding:8px 12px;
  border-radius:7px 7px 0 0;
  cursor:pointer;
  transition:all 140ms ease;
  margin-bottom:-1px;
  position:relative;
  z-index:1;
  min-width:0;
  text-align:center;
}
#effectsize .es-view-tab + .es-view-tab{margin-left:4px}
#effectsize .es-view-tab:hover{
  background:var(--paper-3);
  color:var(--ink);
  z-index:3;
}
#effectsize .es-view-tab.is-active{
  background:var(--paper);
  color:var(--accent);
  border-color:rgba(156,61,42,0.35);
  box-shadow:0 -2px 0 var(--accent) inset;
  z-index:4;
}
#effectsize .es-view-pane{display:none}
#effectsize .es-view-pane.is-active{display:block;animation:esPaneIn 180ms ease}
@keyframes esPaneIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#effectsize .es-view-pane[data-view-pane="common-language"] .info-box{font-size:12px;line-height:1.45}
#effectsize .es-view-pane[data-view-pane="comparison"] .panel-kicker,
#effectsize .es-view-pane[data-view-pane="reference"] .panel-kicker{margin-bottom:8px}

/* Results grid â€” denser */
#effectsize .es-results-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border:1px solid var(--border);background:var(--border)}
@media (max-width:1100px){#effectsize .es-results-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:780px){#effectsize .es-results-grid{grid-template-columns:repeat(2,1fr)}}
#effectsize .es-result-card{padding:13px 14px 12px;background:var(--paper);border:1px solid var(--border);border-width:0 1px 1px 0;border-radius:0;min-height:102px;display:grid;grid-template-rows:28px 28px 20px;align-items:start;gap:2px}
#effectsize .es-result-card:nth-child(odd),
#effectsize .es-result-card:nth-child(even),
#effectsize .es-result-card:nth-child(3n){background:var(--paper)}
#effectsize .es-result-card[data-tooltip]{position:relative;cursor:help}
#effectsize .es-result-card[data-tooltip]::before{
  content:attr(data-tooltip);
  position:absolute;
  left:0;
  bottom:calc(100% + 8px);
  width:min(280px,80vw);
  padding:8px 10px;
  border:1px solid rgba(156,61,42,0.24);
  border-radius:6px;
  background:var(--tooltip-bg);
  color:var(--ink-2);
  box-shadow:var(--tooltip-shadow);
  font-family:var(--sans);
  font-size:11px;
  font-weight:400;
  line-height:1.4;
  letter-spacing:0;
  text-transform:none;
  white-space:normal;
  z-index:90;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity 140ms ease,transform 140ms ease;
}
#effectsize .es-result-card[data-tooltip]::after{
  content:"";
  position:absolute;
  left:14px;
  bottom:calc(100% + 2px);
  border-width:6px 6px 0 6px;
  border-style:solid;
  border-color:var(--tooltip-bg) transparent transparent transparent;
  z-index:91;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity 140ms ease,transform 140ms ease;
}
#effectsize .es-result-card[data-tooltip]:hover::before,
#effectsize .es-result-card[data-tooltip]:hover::after,
#effectsize .es-result-card[data-tooltip]:focus-within::before,
#effectsize .es-result-card[data-tooltip]:focus-within::after{opacity:1;transform:translateY(0)}
#effectsize .es-result-primary{background:var(--paper)}
#effectsize .es-result-label{font-family:var(--sans);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);font-weight:600;line-height:1.15;display:flex;align-items:start}
#effectsize .es-result-value{font-family:var(--mono);font-size:16px;color:var(--ink);font-weight:500;letter-spacing:-0.01em;line-height:1.2}
#effectsize .es-result-primary .es-result-value{font-size:16px;color:var(--ink)}
#effectsize .es-result-similar{background:var(--paper)}
#effectsize .es-result-similar-value{
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:700;
  letter-spacing:0.01em;
  line-height:1.35;
  color:var(--muted);
  white-space:normal;
}
#effectsize .es-result-desc{display:inline-block;justify-self:start;margin-top:0;font-family:var(--sans);font-size:9px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:2px 0;border-radius:0;background:transparent;color:var(--muted);line-height:1.3}
#effectsize .es-result-desc[data-mag="0"],
#effectsize .es-result-desc[data-mag="1"],
#effectsize .es-result-desc[data-mag="2"],
#effectsize .es-result-desc[data-mag="3"],
#effectsize .es-result-desc[data-mag="4"],
#effectsize .es-result-desc[data-mag="5"],
#effectsize .es-result-desc[data-mag="6"]{background:transparent;color:var(--muted)}

/* Curve panel */
#effectsize .es-curve-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
#effectsize .es-curve{width:100%}
#effectsize .es-curve svg{width:100%;height:auto;display:block}
#effectsize .es-curve-legend{display:flex;gap:14px;font-family:var(--sans);font-size:11.5px;color:var(--ink-2)}
#effectsize .es-legend-item{display:flex;align-items:center;gap:6px}
#effectsize .es-legend-swatch{width:11px;height:11px;border-radius:2px;display:inline-block}
#effectsize .es-curve-caption{font-family:var(--sans);font-size:11px;color:var(--muted);font-style:italic;text-align:center;line-height:1.3}

/* Bottom row: target comparison + examples */
#effectsize .es-bottom-row{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
@media (max-width:1000px){#effectsize .es-bottom-row{grid-template-columns:1fr}}
#effectsize .es-target-panel,#effectsize .es-examples{margin:0}
#effectsize .es-target-panel summary,#effectsize .es-examples summary{cursor:pointer;list-style:none;outline:none;display:flex;align-items:center;gap:8px}
#effectsize .es-target-panel summary::-webkit-details-marker,#effectsize .es-examples summary::-webkit-details-marker{display:none}
#effectsize .es-target-panel summary::before,#effectsize .es-examples summary::before{content:"â–¸";color:var(--muted);font-size:10px;transition:transform 180ms}
#effectsize .es-target-panel[open] summary::before,#effectsize .es-examples[open] summary::before{transform:rotate(90deg)}
#effectsize .es-target-body{margin-top:10px}
#effectsize .es-target-intro{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  padding:8px 10px;
  border:1px solid var(--border-soft);
  border-left:2px solid #3d7550;
  border-radius:5px;
  background:var(--note-bg);
  color:var(--ink-2);
  font-size:11.5px;
  line-height:1.4;
}
#effectsize .es-target-intro strong{color:var(--ink)}
#effectsize .es-target-explain-btn{
  flex:0 0 auto;
  padding:4px 8px;
  font-size:11px;
  line-height:1.2;
}
#effectsize .es-target-explain{
  margin:0 0 8px;
  padding:8px 10px;
  border:1px solid var(--border-soft);
  border-left:2px solid var(--note-border);
  border-radius:5px;
  background:var(--note-bg);
  color:var(--ink-2);
  font-size:11px;
  line-height:1.4;
}
#effectsize .es-target-clear{
  flex:0 0 auto;
  padding:6px 10px;
  font-size:11.5px;
  font-weight:700;
  border-color:var(--warn);
  background:var(--warn);
  color:var(--paper);
  white-space:nowrap;
}
#effectsize .es-target-clear:hover{
  border-color:#6f2d24;
  background:#6f2d24;
  color:var(--paper);
}
#effectsize .es-target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#effectsize .es-target-help{margin-top:6px;font-family:var(--sans);font-size:10.5px;color:var(--muted);font-style:italic;line-height:1.35}
#effectsize .es-ci-readout{padding:5px 8px;background:var(--paper-2);border:1px solid var(--border-soft);border-radius:4px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);min-height:28px;display:flex;align-items:center}

#effectsize .es-examples-table{width:100%;border-collapse:collapse;margin-top:10px;font-family:var(--sans);font-size:11px}
#effectsize .es-examples-table td{padding:3px 7px;border-bottom:1px solid var(--border-soft);line-height:1.25}
#effectsize .es-examples-table td:last-child{font-family:var(--mono);text-align:right;width:45px;color:var(--ink);padding-left:12px}
#effectsize .es-worked-example{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0 8px;
  padding:8px 10px;
  border:1px solid var(--border-soft);
  border-left:2px solid #3d7550;
  border-radius:6px;
  background:var(--note-bg);
}
#effectsize .es-worked-example-title{
  font-size:11.5px;
  font-weight:700;
  color:var(--ink);
  white-space:nowrap;
}
#effectsize .es-worked-example-copy{
  margin-top:2px;
  font-size:11.5px;
  color:var(--muted);
  line-height:1.35;
}
#effectsize .es-worked-example .btn{
  white-space:nowrap;
  font-size:11.5px;
  font-weight:700;
  padding:6px 10px;
  border-color:var(--accent);
  background:var(--accent);
  color:var(--paper);
}
#effectsize .es-worked-example .btn:hover{
  border-color:#6f2d24;
  background:#6f2d24;
  color:var(--paper);
}
@media (max-width:760px){
  #effectsize .es-target-intro{flex-direction:column}
  #effectsize .es-worked-example{align-items:flex-start;flex-direction:column}
}
#effectsize .es-examples-refs{margin-top:8px;font-family:var(--sans);font-size:10.5px;color:var(--muted);font-style:italic;line-height:1.45}

/* =====================================================================
   REDESIGN OVERRIDES â€” Fisherman palette + restrained typography
   ===================================================================== */

:root{
  /* Cool warm-grey palette, dark neutral accent (terracotta only in wordmark) */
  --paper:#F1F4F9;            /* page background — cool neutral (modern productivity tone) */
  --paper-2:#EFF1F4;          /* sectioned surfaces */
  --paper-3:#E5E8EC;          /* emphasis surfaces */
  --paper-card:#FFFFFF;       /* card surfaces are pure white */
  --ink:#1A1A1A;
  --ink-2:#2F2F2F;
  --muted:#6B6B6B;
  --faint:#9E9A93;
  --border:#D0CCC2;
  --border-soft:#DCD8CD;
  --accent:#1A1A1A;           /* near-black accent (active underline, links) */
  --brand-warm:#A85544;       /* used ONLY inside the wordmark italic */
  --accent-tint:rgba(26,26,26,0.05);
  --accent-tint-strong:rgba(26,26,26,0.1);
  --shadow-soft:none;
  --topbar-h:108px;       /* two rows: 52 (brand) + 56 (nav) */
  --topbar-brand-h:52px;
  --topbar-nav-h:56px;
}

body{display:block;overflow:auto;background:var(--paper);font-size:13.5px}
.sidebar{display:none!important}
.main{
  margin-left:0;
  padding-top:var(--topbar-h);
  background:var(--paper);
  overflow:visible;
  min-height:calc(100vh - var(--topbar-h));
}

/* ---- TOP BAR â€” two-tier (brand row + tabs row), Fisherman-style ---- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:60;
  background:#FFFFFF;
  border-bottom:1px solid #E5E2DA;
}
.topbar-row{background:#FFFFFF}
.topbar-row-brand{
  height:var(--topbar-brand-h);
  border-bottom:1px solid #EEEBE3;
}
.topbar-row-nav{
  height:var(--topbar-nav-h);
}
.topbar-inner{
  max-width:1320px;margin:0 auto;height:100%;
  padding:0 28px;
  display:flex;align-items:center;
}
.topbar-row-brand .topbar-inner{justify-content:flex-start;gap:18px}
.topbar-row-nav .topbar-inner{justify-content:flex-start}

.topbar-brand{display:flex;align-items:center;flex-shrink:0;line-height:1}
.topbar-brand-mark{display:none}
/* Wordmark â€” bigger, top-left, the ONLY place serif + terracotta appear */
.topbar-brand-title{
  font-family:var(--serif);font-size:20px;font-weight:600;
  letter-spacing:-0.015em;color:var(--ink);line-height:1.1;
}
.topbar-brand-title em{font-style:italic;font-weight:500;color:var(--brand-warm)}

/* Vertical separator between wordmark and page title */
.topbar-divider{
  width:1px;height:22px;
  background:#D8D5CB;
  flex-shrink:0;
}

/* Current page title â€” updates via JS as user navigates */
.topbar-page-title{
  font-family:var(--sans);font-size:14px;font-weight:500;
  color:var(--ink);letter-spacing:-0.005em;
  line-height:1.1;
  flex:1;
  display:flex;align-items:center;
}
.topbar-page-title em{
  font-family:var(--serif);font-style:italic;font-weight:500;
  color:#3F3F3F;
}

/* Nav tabs row â€” icons + label, Fisherman-style */
.topnav{display:flex;align-items:stretch;gap:0;height:100%;flex-wrap:nowrap}
.topnav-item{
  position:relative;
  background:transparent!important;border:none!important;cursor:pointer;
  padding:0 18px!important;height:100%;
  font-family:var(--sans)!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important;
  color:#737373!important;
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  transition:color 120ms ease;
  white-space:nowrap;
  border-left:none!important;
}
.topnav-icon{
  width:15px;height:15px;flex-shrink:0;
  color:currentColor;opacity:.85;
}
.topnav-item:hover{color:#1A1A1A!important;background:transparent!important}
.topnav-item:hover .topnav-icon{opacity:1}
.topnav-item::after{
  content:"";position:absolute;left:18px;right:18px;bottom:-1px;
  height:2px;background:#1A1A1A;
  transform:scaleX(0);transform-origin:center;
  transition:transform 180ms ease;
}
.topnav-item.active{color:#1A1A1A!important;font-weight:500!important;background:transparent!important;border-left-color:transparent!important}
.topnav-item.active .topnav-icon{opacity:1}
.topnav-item.active::after{transform:scaleX(1)}

/* ---- SITE FOOTER (secondary nav for Norms & Reference) ---- */
.site-footer{
  background:transparent;
  border-top:1px solid rgba(15,18,24,0.08);
  padding:22px 28px 26px;
  margin-top:60px;
}
.site-footer-inner{
  max-width:1320px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:30px;flex-wrap:nowrap;
}
.site-footer-links{
  display:flex;align-items:center;gap:24px;
  flex-wrap:nowrap;flex-shrink:0;
}
.site-footer-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-footer-link{
  background:transparent!important;border:none!important;cursor:pointer;
  padding:0!important;
  font-family:var(--sans)!important;font-size:13px!important;font-weight:400!important;
  color:#5A5A5A!important;
  letter-spacing:0!important;
  border-left:none!important;
  transition:color 120ms ease;
}
.site-footer-link:hover{color:#1A1A1A!important;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#9A968D}
.site-footer-link.active{color:#1A1A1A!important;font-weight:500!important;background:transparent!important}
.site-footer-meta{
  font-family:var(--sans);font-size:11.5px;color:#9E9A93;
  line-height:1.5;text-align:right;
  max-width:480px;
}

/* ---- Top-nav dropdown (for multi-tool buckets like "Scores & Tables") ---- */
.topnav-group{position:relative;display:inline-flex;align-items:stretch;height:100%}
.topnav-chevron{
  width:11px;height:11px;flex-shrink:0;
  margin-left:2px;color:currentColor;opacity:.6;
  transition:transform 160ms ease;
}
.topnav-group:hover .topnav-chevron,
.topnav-group:focus-within .topnav-chevron{transform:rotate(-180deg);opacity:.85}
.topnav-dropdown{
  position:absolute;top:calc(100% - 1px);left:0;
  min-width:230px;
  background:#FFFFFF;
  border:1px solid #E5E2DA;
  border-radius:4px;
  box-shadow:0 12px 28px rgba(20,15,5,0.10);
  padding:5px 0;
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;
  transform:translateY(2px);
  transition:opacity 130ms ease, transform 130ms ease;
  z-index:65;
}
.topnav-group:hover .topnav-dropdown,
.topnav-group:focus-within .topnav-dropdown{
  opacity:1;pointer-events:auto;transform:translateY(0);
}
.topnav-drop-item{
  background:transparent!important;border:none!important;cursor:pointer;
  padding:8px 18px!important;text-align:left;
  font-family:var(--sans)!important;font-size:13px!important;font-weight:400!important;color:#4A4A4A!important;
  transition:background 100ms ease, color 100ms ease;
  display:block!important;
  border-left:none!important;
  letter-spacing:0!important;
}
.topnav-drop-item:hover{background:#F4F1E9!important;color:#1A1A1A!important}
.topnav-drop-item.active{color:#1A1A1A!important;font-weight:500!important;background:#F4F1E9!important;border-left-color:transparent!important}

/* ---- SECTION SHELL ---- */
.section{max-width:1100px;padding:32px 40px 80px;font-size:13.5px}

/* ---- TYPOGRAPHY â€” restrained, Fisherman-aligned ---- */
/* Eyebrow: tiny uppercase label, no decorations */
.eyebrow{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;
  color:#8A867E;
  display:inline-flex;align-items:center;
  padding:0;margin-bottom:8px;background:none;border:none;
}
.eyebrow::before,.eyebrow::after,.eyebrow .ed-mark{display:none!important}

/* Section titles — sans-serif, tightly tracked. Modern productivity-tool
   convention. Reads as "software heading" rather than "journal article". */
.section-title{
  font-family:var(--sans);font-size:22px;font-weight:600;
  letter-spacing:-0.022em;color:var(--ink);line-height:1.2;
  margin-bottom:8px;
}
/* Italic em — preserved for emphasis but no longer the brand moment */
.section-title em{font-style:italic;color:var(--ink);font-weight:500}

.section-desc{
  font-family:var(--sans);font-size:13.5px;color:#4A4A4A;
  line-height:1.55;max-width:680px;margin-bottom:20px;
}
.section-desc em{font-style:italic;color:var(--ink-2)}
.section-body-text{font-family:var(--sans);font-size:13.5px;color:#4A4A4A;line-height:1.6}

/* ---- HOME HERO ---- */
.home-hero{margin-bottom:30px;max-width:780px}
.home-hero .eyebrow{margin-bottom:10px}
.home-hero .section-title{font-size:30px;line-height:1.15;margin-bottom:10px}
.home-hero .section-desc{font-size:14px;line-height:1.6;color:#4A4A4A;max-width:740px}

/* Section rule */
.section-rule{background:#DCD8CD;height:1px;margin:0 0 24px;border:none}

/* ---- PATHWAY CARDS â€” pure white, very flat, restrained ---- */
.home-pathways{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:14px;margin-top:0;
}
.home-pathway-card{
  background:var(--paper-card);
  border:1px solid #E0DCD2;
  border-radius:4px;
  padding:22px 22px 20px;
  box-shadow:none;
  transition:border-color 140ms ease;
  display:flex;flex-direction:column;
  position:relative;
}
.home-pathway-card::before{display:none}
.home-pathway-card:hover{
  transform:none;
  border-color:#9A968D;
  box-shadow:none;
}
.home-pathway-icon{
  width:30px;height:30px;border-radius:5px;
  background:rgba(26,26,26,0.05);color:#1A1A1A;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:14px;border:none;
}
.home-pathway-icon svg{width:16px;height:16px}
.home-pathway-label{
  font-family:var(--sans);font-size:9.5px;font-weight:500;
  letter-spacing:0.14em;text-transform:uppercase;color:#8A867E;
  margin-bottom:5px;
}
.home-pathway-title{
  font-family:var(--sans);font-size:17px;font-weight:600;
  letter-spacing:-0.018em;color:var(--ink);line-height:1.2;
  margin-bottom:8px;
}
.home-pathway-card:hover .home-pathway-title{color:var(--ink)}
.home-pathway-desc{
  font-family:var(--sans);font-size:12.5px;line-height:1.55;
  color:#4F4F4F;margin-bottom:16px;flex:1;
}
.home-pathway-tools{
  list-style:none;border-top:1px solid #ECE9E1;
  padding-top:12px;margin:0;display:flex;flex-direction:column;gap:5px;
}
.home-pathway-tool{
  font-family:var(--sans);font-size:12px;color:#4F4F4F;
  display:flex;align-items:center;gap:10px;padding:2px 0;
  border:none;background:none;
}
.home-pathway-tool:hover{background:none}
.home-pathway-tool-num{
  font-family:var(--mono);font-size:9.5px;color:#9E9A93;
  letter-spacing:0;font-weight:400;
}
.home-pathway-tool-name{cursor:pointer;color:#3F3F3F}
.home-pathway-tool-name:hover{color:#1A1A1A;text-decoration:underline;text-decoration-color:#9A968D;text-underline-offset:3px}

/* "Recommended" badge â€” neutralise to grey from terracotta */
.home-pathway-tool-badge{
  background:rgba(26,26,26,0.05);
  border-color:rgba(26,26,26,0.18)!important;
  color:#3F3F3F!important;
}

/* ---- BUTTONS: flatter, no shadow ---- */
.btn{box-shadow:none!important;border-radius:4px}
.btn-primary{background:#1A1A1A;color:#FFFFFF;border-color:#1A1A1A}
.btn-primary:hover{background:#000000;border-color:#000000}
.home-actions .btn-primary{box-shadow:none}

/* =====================================================================
   REDESIGN PHASE 2 â€” propagate to inner pages
   Flatten panels, neutralise terracotta accents on inputs/buttons/info,
   tighten section-level styling site-wide.
   ===================================================================== */

/* ---- PANELS: flat white card, thin neutral border ---- */
.panel{
  background:#FFFFFF!important;
  border:1px solid #E0DCD2!important;
  border-radius:4px!important;
  box-shadow:none!important;
  padding:20px 22px;
  margin-bottom:18px;
}
.panel-tight{padding:14px 18px!important}
.panel-emphasis{background:#FAF7F0!important;border-color:#D8D3C7!important}
.panel-kicker{
  font-family:var(--sans);font-size:10px;letter-spacing:0.14em;
  text-transform:uppercase;color:#8A867E;font-weight:500;
  margin-bottom:10px;
}

/* ---- FORM INPUTS: softer borders, dark (not terracotta) focus ring ----
   Use background-COLOR (not the `background` shorthand) so the original
   `background-image`, `background-repeat`, `background-position`
   on <select> elements (the dropdown caret) are preserved. */
input[type="text"], input[type="number"], input[type="date"], textarea{
  background-color:#FFFFFF!important;
  border:1px solid #D8D5CC!important;
  border-radius:4px!important;
  font-family:var(--sans)!important;
  font-size:13px!important;
  color:var(--ink)!important;
  transition:border-color 120ms ease, box-shadow 120ms ease;
}
select{
  background-color:#FFFFFF!important;
  border:1px solid #D8D5CC!important;
  border-radius:4px!important;
  font-family:var(--sans)!important;
  font-size:13px!important;
  color:var(--ink)!important;
  transition:border-color 120ms ease, box-shadow 120ms ease;
}
input[type="text"]:hover, input[type="number"]:hover, input[type="date"]:hover, select:hover, textarea:hover{
  border-color:#9A968D!important;
}
input:focus, select:focus, textarea:focus{
  outline:none!important;
  border-color:#1A1A1A!important;
  box-shadow:0 0 0 3px rgba(26,26,26,0.08)!important;
}
input[type="number"]{font-family:var(--mono)!important}

/* Field labels */
.field label{
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:0.06em;text-transform:uppercase;color:#7A766E;
  margin-bottom:5px;
}

/* ---- BUTTONS: flat, square-ish, neutral ---- */
.btn{
  background:#FFFFFF!important;
  border:1px solid #D0CCC2!important;
  border-radius:4px!important;
  box-shadow:none!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  font-weight:500!important;
  color:var(--ink)!important;
  padding:7px 14px;
  letter-spacing:0;
  transition:background 120ms ease, border-color 120ms ease;
}
.btn:hover{background:#F4F1E9!important;border-color:#9A968D!important;color:var(--ink)!important}
.btn-primary{
  background:#1A1A1A!important;color:#FFFFFF!important;border-color:#1A1A1A!important;
}
.btn-primary:hover{background:#000000!important;border-color:#000000!important}
.btn-secondary{background:#FFFFFF!important;color:var(--ink)!important;border-color:#D0CCC2!important}
.btn-secondary:hover{background:#F4F1E9!important;border-color:#9A968D!important;color:var(--ink)!important}
.btn-ghost{background:transparent!important;border-color:transparent!important;color:#6B6B6B!important}
.btn-ghost:hover{background:rgba(26,26,26,0.05)!important;color:var(--ink)!important}
/* Destructive Clear / Reset — fully red, overrides the generic .btn:hover paper-fill */
.btn.btn-clear{
  background:#D63A2F!important;
  border-color:#B22A20!important;
  color:#FFFFFF!important;
  font-weight:600!important;
  box-shadow:0 1px 2px rgba(178,42,32,0.30), 0 2px 6px rgba(214,58,47,0.22)!important;
}
.btn.btn-clear:hover{
  background:#E84A3D!important;
  border-color:#C2342A!important;
  color:#FFFFFF!important;
  box-shadow:0 2px 4px rgba(178,42,32,0.35), 0 4px 12px rgba(214,58,47,0.40)!important;
  transform:translateY(-1px);
}
.btn.btn-clear:active{
  background:#B22A20!important;
  border-color:#8E2118!important;
  transform:translateY(0);
}
.btn.btn-clear:focus-visible{
  outline:3px solid rgba(214,58,47,0.45);
  outline-offset:2px;
}

/* ---- INFO BOX: neutral grey (was terracotta-tinted) ---- */
.info-box{
  background:#F4F1E9!important;
  border:1px solid #D8D5CB!important;
  border-left:3px solid #1A1A1A!important;
  border-radius:4px!important;
  color:var(--ink-2);
  font-family:var(--sans);
}
.info-box strong{color:var(--ink);font-weight:600}

/* ---- RANGE SLIDER (Score Converter): dark thumb instead of terracotta ---- */
input[type="range"]#conv-slider::-webkit-slider-thumb{
  background:#1A1A1A!important;
  border-color:#FFFFFF!important;
  box-shadow:0 0 0 1px #1A1A1A, 0 2px 5px rgba(0,0,0,0.18)!important;
}
input[type="range"]#conv-slider::-moz-range-thumb{
  background:#1A1A1A!important;
  border-color:#FFFFFF!important;
  box-shadow:0 0 0 1px #1A1A1A!important;
}

/* ---- TABLE INPUT (input-table) â€” flatter, neutral header ---- */
.input-table{background:#FFFFFF;border:1px solid #E0DCD2}
.input-table thead th{background:#F4F1E9;color:#3F3F3F}
.input-table tbody tr:hover{background:#FAF7F0}

/* ---- BADGES & PILLS (e.g., Recommended, descriptor pills) ---- */
.badge, .pill{
  border-radius:3px;
  font-weight:500;
  letter-spacing:0.04em;
}

/* ---- COMBOBOX / DROPDOWN MENUS used inside the page (test family pickers) ---- */
.combo-list{
  background:#FFFFFF;
  border:1px solid #D8D5CC;
  border-radius:4px;
  box-shadow:0 8px 22px rgba(20,15,5,0.08);
}
.combo-item:hover{background:#F4F1E9}

/* ---- LINKS in body ---- */
a{color:#1A1A1A;text-decoration:underline;text-decoration-color:#9A968D;text-underline-offset:3px}
a:hover{text-decoration-color:#1A1A1A}

/* ---- SECTION HEADERS in inner pages â€” stay tight & restrained ---- */
.section-title{font-size:24px}
#change-analysis .section-title,
#converter .section-title,
#battery .section-title,
#report-writer .section-title,
#effectsize .section-title,
#premorbid .section-title,
#custom-tests .section-title,
#about .section-title{font-size:24px;margin-bottom:6px}

/* ---- DISCLOSURE / DETAILS panels ---- */
details summary{
  font-family:var(--sans);
  cursor:pointer;
}
details summary:hover{color:var(--ink)}

/* ---- TABS used inside Change Analysis (.change-method-tab) ---- */
.change-method-tab{
  background:#FFFFFF!important;
  border:1px solid #E0DCD2!important;
  border-radius:4px!important;
  color:#4A4A4A!important;
}
.change-method-tab.active{
  background:#F4F1E9!important;
  border-color:#1A1A1A!important;
  color:#1A1A1A!important;
}
.change-method-tab.active .change-method-label,
.change-method-tab.active .change-method-num{color:#1A1A1A!important}
.change-method-tab:focus-visible{box-shadow:inset 0 0 0 2px rgba(26,26,26,0.2)!important}

/* ---- PANEL EMPHASIS (e.g., Effect-size results panel) ---- */
.panel-emphasis{background:#F8F5ED!important}

/* ---- SLIDER VALUE BUBBLE etc. ---- */
.conv-slider-wrap, .conv-slider-track-fill{}

/* =====================================================================
   REDESIGN PHASE 3 â€” clean inner-page aesthetic
   Method tabs, section-header cleanup, table polish, button refinement
   ===================================================================== */

/* ---- CHANGE ANALYSIS: refined segmented tab strip ---- */
#change-analysis .change-method-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:0!important;
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  padding:0!important;
  margin-bottom:20px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(20,15,5,0.04), 0 4px 12px rgba(20,15,5,0.04)!important;
  position:relative;
}
#change-analysis .change-method-tab{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  padding:16px 18px 15px!important;
  text-align:left;
  cursor:pointer;
  transition:background 160ms var(--ease)!important;
  box-shadow:none!important;
  position:relative;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:0 14px;
  align-items:center;
  border-right:1px solid rgba(20,15,5,0.06)!important;
}
#change-analysis .change-method-tab:last-child{border-right:none!important}
#change-analysis .change-method-tab:hover:not(.active){
  background:rgba(20,15,5,0.025)!important;
}
#change-analysis .change-method-tab.active{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%)!important;
}
/* Soft bottom accent line on active tab â€” feathered edges */
#change-analysis .change-method-tab.active::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(20,15,5,0.55) 22%, rgba(20,15,5,0.55) 78%, transparent 100%);
}
/* Disable the old top accent so we don't double-accent */
#change-analysis .change-method-tab.active::before{display:none!important}

/* Number prefix â€” circular step badge (modern wizard-stepper feel) */
#change-analysis .change-method-num{
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:rgba(20,15,5,0.07)!important;
  color:#7A766E!important;
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  line-height:1!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0;
  padding:0!important;
  align-self:center!important;
  transition:background 160ms var(--ease), color 160ms var(--ease), transform 160ms var(--ease), box-shadow 160ms var(--ease)!important;
}
#change-analysis .change-method-tab:hover:not(.active) .change-method-num{
  background:rgba(20,15,5,0.12)!important;
  color:#3F3F3F!important;
}
#change-analysis .change-method-tab.active .change-method-num{
  background:rgba(20,15,5,0.12)!important;
  color:#1A1A1A!important;
  font-weight:700!important;
  box-shadow:0 0 0 2px rgba(20,15,5,0.04)!important;
  transform:none;
}

#change-analysis .change-method-main{display:flex;flex-direction:column;gap:2px;min-width:0}
#change-analysis .change-method-label{
  font-family:var(--sans)!important;
  font-size:14px!important;
  font-weight:500!important;
  color:#5A5A5A!important;
  line-height:1.3!important;
  letter-spacing:-0.01em!important;
  transition:color 240ms var(--ease)!important;
}
#change-analysis .change-method-tab:hover:not(.active) .change-method-label{color:#1A1A1A!important}
#change-analysis .change-method-tab.active .change-method-label{color:#1A1A1A!important;font-weight:600!important}
#change-analysis .change-method-pill{
  font-family:var(--sans)!important;font-size:11px!important;font-weight:400!important;
  color:#8A867E!important;background:transparent!important;border:none!important;
  padding:0!important;letter-spacing:0!important;text-transform:none!important;
  border-radius:0!important;display:block;
  transition:color 160ms var(--ease)!important;
}
#change-analysis .change-method-tab.active .change-method-pill{color:#5A5A5A!important}
#change-analysis .change-method-meta{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:400!important;
  color:#9A968D!important;
  line-height:1.4!important;
  letter-spacing:0!important;
  margin:0!important;
  transition:color 240ms var(--ease)!important;
}
#change-analysis .change-method-tab.active .change-method-meta{color:#5A5A5A!important}
/* Hide visual clutter inside method tabs */
#change-analysis .change-stack-pill,
#change-analysis .change-method-stack,
#change-analysis .change-method-tab .change-stack-pill,
#change-analysis .change-method-pill{display:none!important}
/* Hide the "FEATURES KEY" definition strip below tabs (correct class) */
#change-analysis .change-adjustment-key{display:none!important}

/* ---- CHANGE ANALYSIS: drop duplicated method name from section title ---- */
/* (was: hide duplicate model name; no longer needed â€” main title now IS the method name) */

/* ---- Hide redundant eyebrows on inner pages (page name already in topbar) ---- */
#converter > .eyebrow,
#battery > .eyebrow,
#report-writer > .eyebrow,
#effectsize > .eyebrow,
#change-analysis > .eyebrow,
#premorbid > .eyebrow,
#custom-tests > .eyebrow,
#about > .eyebrow{display:none!important}

/* ---- INPUT TABLE: quieter, more refined ---- */
.input-table{
  background:#FFFFFF!important;
  border:1px solid #E0DCD2!important;
  border-radius:4px!important;
  overflow:hidden;
}
.input-table thead th{
  background:#F8F5ED!important;
  color:#5A5A5A!important;
  font-family:var(--sans)!important;
  font-size:10.5px!important;font-weight:600!important;
  letter-spacing:0.1em!important;text-transform:uppercase!important;
  padding:10px 12px!important;
  border-bottom:1px solid #E0DCD2!important;
  text-align:left;
}
.input-table tbody td{
  padding:8px 12px!important;
  border-bottom:1px solid #ECE9E1!important;
  font-size:13px;
}
.input-table tbody tr{background:#FFFFFF!important}
.input-table tbody tr:hover{background:#FAF7F0!important}
.input-table tbody tr.row-awaiting{opacity:.7}
.input-table tbody tr:last-child td{border-bottom:none!important}
.input-table input[type="text"],
.input-table input[type="number"]{
  border:1px solid #E5E2DA!important;
  background:#FFFFFF!important;
  padding:5px 8px!important;font-size:13px!important;
}
.input-table input:focus{
  border-color:#1A1A1A!important;
  box-shadow:0 0 0 2px rgba(26,26,26,0.08)!important;
}
.input-table .row-num{
  color:#9E9A93!important;font-family:var(--mono)!important;
  font-size:11px!important;font-weight:400!important;width:42px!important;
}

/* ---- IN-PAGE TABS (Effect Sizes A/B mode toggle) ---- */
#effectsize .es-tabs{
  border-bottom:1px solid #DCD8CD!important;
  background:transparent!important;
  border-radius:0!important;padding:0!important;
  display:flex;gap:0;
}
#effectsize .es-tab{
  background:transparent!important;border:none!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;padding:13px 18px!important;cursor:pointer;
  display:flex;align-items:center;gap:10px;
  transition:color 120ms ease, border-color 120ms ease;
}
#effectsize .es-tab:hover{background:rgba(26,26,26,0.025)!important}
#effectsize .es-tab.is-active{
  border-bottom-color:#1A1A1A!important;background:transparent!important;
}
#effectsize .es-tab-num{
  width:22px;height:22px;border-radius:50%;
  background:#E5E2DA!important;color:#737373!important;
  font-family:var(--sans);font-size:11px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;
}
#effectsize .es-tab.is-active .es-tab-num{background:#1A1A1A!important;color:#FFFFFF!important}
#effectsize .es-tab-title{font-family:var(--sans);font-size:13px;font-weight:500;color:#5A5A5A;letter-spacing:0}
#effectsize .es-tab.is-active .es-tab-title{color:#1A1A1A;font-weight:600}
#effectsize .es-tab-sub{font-family:var(--sans);font-size:11px;font-style:italic;color:#8A867E}
#effectsize .es-tabs-or{
  font-family:var(--sans);font-size:10px;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  color:#9E9A93;align-self:center;padding:0 12px;
}

/* ---- COMBOBOX refinement ---- */
.combo-input{
  background:#FFFFFF!important;border:1px solid #D8D5CC!important;
  border-radius:4px!important;padding:9px 12px!important;font-size:13px!important;
}
.combo-list{
  background:#FFFFFF!important;border:1px solid #D8D5CC!important;
  border-radius:4px!important;box-shadow:0 8px 22px rgba(20,15,5,0.08)!important;
  max-height:280px;overflow:auto;
}
.combo-item{
  padding:8px 12px!important;font-size:12.5px!important;color:#3F3F3F!important;
  border-bottom:1px solid #F4F1E9;
}
.combo-item:last-child{border-bottom:none}
.combo-item:hover{background:#F4F1E9!important;color:#1A1A1A!important}

/* ---- SECTION DESCRIPTION: tighter ---- */
.section-desc{font-size:13px!important;color:#5A5A5A!important;line-height:1.55!important;margin-bottom:18px!important}

/* ---- Change-Analysis context/autofill panels: lighter ---- */
#change-analysis .autofill-panel,
#change-analysis .change-context-panel{
  background:#FFFFFF!important;
  border-color:#E0DCD2!important;
  box-shadow:none!important;
}

/* ---- Premorbid output panels ---- */
#premorbid .panel{box-shadow:none!important}

/* ---- Score Converter slider area ---- */
.conv-unified-panel{box-shadow:none!important}

/* ---- Toast notification ---- */
.toast{
  background:#1A1A1A!important;color:#FFFFFF!important;
  border-radius:4px!important;
  font-family:var(--sans);font-size:13px;
  box-shadow:0 8px 24px rgba(0,0,0,0.18)!important;
}

/* =====================================================================
   REDESIGN PHASE 4 â€” Change Analysis page rebuild
   The method-tab strip is the most visible issue. Make it look like
   a proper segmented control: equal-width, clear active state,
   trimmed of decorative noise (descriptor pills, features key).
   ===================================================================== */

/* Page intro: less noisy formula text, drop the duplicate eyebrow */
#change-analysis #change-main-title{
  font-family:var(--serif)!important;
  font-size:24px!important;
  font-weight:600!important;
  letter-spacing:-0.01em!important;
  line-height:1.2!important;
  margin-bottom:6px!important;
  color:#1A1A1A!important;
}
#change-analysis .section-desc{
  font-family:var(--sans)!important;
  font-size:13px!important;
  color:#5A5A5A!important;
  line-height:1.55!important;
  margin-bottom:20px!important;
}

/* Method tabs strip â€” proper segmented control */
#change-analysis .change-method-tabs{
  display:grid!important;
  grid-template-columns:repeat(5,1fr)!important;
  gap:0!important;
  background:transparent!important;
  border:1px solid #DCD8CD!important;
  border-radius:6px!important;
  padding:0!important;
  margin-bottom:24px;
  overflow:hidden;
}
#change-analysis .change-method-tab{
  background:#FFFFFF!important;
  border:none!important;
  border-right:1px solid rgba(20,15,5,0.04)!important;
  border-radius:0!important;
  padding:20px 18px 18px!important;
  text-align:center!important;
  cursor:pointer;
  transition:background 240ms var(--ease), color 240ms var(--ease);
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  position:relative;
  min-height:auto!important;
}

/* Hide the numbered badges â€” labels alone are cleaner */
#change-analysis .change-method-num{display:none!important}
#change-analysis .change-method-tab:last-child{border-right:none!important}
#change-analysis .change-method-tab:hover{background:#F8F5ED!important}
#change-analysis .change-method-tab.active{
  background:#F4F1E9!important;
  color:#1A1A1A!important;
}
#change-analysis .change-method-tab.active::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:2px;
  background:#1A1A1A;
}
/* Number prefix (01, 02â€¦) â€” tiny mono caption above the label */
#change-analysis .change-method-num{
  font-family:var(--mono)!important;
  font-size:10px!important;
  font-weight:400!important;
  color:#9E9A93!important;
  letter-spacing:0.04em!important;
  line-height:1.2!important;
  margin:0!important;
  padding:0!important;
}
#change-analysis .change-method-tab.active .change-method-num{color:#5A5A5A!important}
/* Wrapper around label + meta */
#change-analysis .change-method-main{
  display:flex;flex-direction:column;gap:1px;
  margin:0!important;padding:0!important;
}
/* Method name */
#change-analysis .change-method-label{
  font-family:var(--sans)!important;
  font-size:13px!important;
  font-weight:500!important;
  color:#3F3F3F!important;
  line-height:1.25!important;
  letter-spacing:0!important;
}
#change-analysis .change-method-tab.active .change-method-label{
  color:#1A1A1A!important;font-weight:600!important;
}
/* Level meta */
#change-analysis .change-method-meta{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:400!important;
  color:#8A867E!important;
  line-height:1.3!important;
  letter-spacing:0!important;
  margin:0!important;
}
#change-analysis .change-method-tab.active .change-method-meta{color:#5A5A5A!important}

/* Layout proportions: balance Settings | Autofill panels */
#change-analysis .change-setup-grid{
  grid-template-columns:minmax(360px,1fr) minmax(0,1.4fr)!important;
  gap:18px!important;
  margin:0 0 24px!important;
}
#change-analysis .change-context-panel,
#change-analysis .autofill-panel,
#change-analysis .change-setup-grid > .panel{
  background:#FFFFFF!important;
  border:1px solid #E0DCD2!important;
  border-radius:6px!important;
  padding:18px 20px!important;
  margin:0!important;
  box-shadow:none!important;
  min-height:auto!important;
}

/* Test data table heading */
#change-analysis h2,
#change-analysis .change-test-data-title{
  font-family:var(--serif)!important;
  font-size:18px!important;
  font-weight:600!important;
  margin:8px 0 12px!important;
  letter-spacing:-0.005em;
  color:#1A1A1A;
}

/* Compute button area / row actions below table â€” flatter */
#change-analysis .input-table-controls,
#change-analysis .change-actions{
  display:flex;gap:8px;align-items:center;
  margin-top:12px;
}

/* =====================================================================
   REDESIGN PHASE 5 â€” MODERNIZATION PASS
   Elevation, motion, radius, refined typography, hover states,
   and the micro-details that separate "clean" from "modern".
   ===================================================================== */

:root{
  /* Elevation tokens */
  --shadow-1: 0 1px 2px rgba(20,15,5,0.04), 0 1px 3px rgba(20,15,5,0.04);
  --shadow-2: 0 2px 4px rgba(20,15,5,0.04), 0 4px 12px rgba(20,15,5,0.06);
  --shadow-3: 0 4px 8px rgba(20,15,5,0.05), 0 12px 28px rgba(20,15,5,0.08);
  --shadow-4: 0 8px 16px rgba(20,15,5,0.08), 0 24px 48px rgba(20,15,5,0.12);
  /* Motion */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);  /* expo-out, modern feel */
  --t-fast: 120ms;
  --t-base: 180ms;
  --t-slow: 280ms;
  /* Radius */
  --r-sm: 4px;
  --r-md: 6px;
  --r-lg: 8px;
  --r-xl: 12px;
  --r-pill: 999px;
}

/* ---- BODY: flat cool surface (drops the legacy warm-cream gradient) ---- */
body{
  background:var(--paper) !important;
  background-attachment: scroll;
}

/* ---- TOPBAR: clean white with thin rule ---- */
.topbar{
  background:#FFFFFF!important;
  box-shadow:0 1px 0 rgba(20,15,5,0.04);
  border-bottom:none!important;
}
.topbar-row-brand{border-bottom:1px solid rgba(20,15,5,0.06)!important}

/* Smoother topnav underline â€” animated width */
.topnav-item::after{
  transition:transform 220ms var(--ease)!important;
}
.topnav-item{transition:color 140ms var(--ease)!important}

/* ---- CARDS: elevation + lift on hover ---- */
.home-pathway-card{
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-xl)!important;
  box-shadow:var(--shadow-1)!important;
  padding:28px 26px 24px!important;
  transition:transform var(--t-base) var(--ease), box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease) !important;
}
.home-pathway-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-3)!important;
  border-color:rgba(20,15,5,0.12)!important;
}
.home-pathway-icon{
  background:linear-gradient(135deg, rgba(26,26,26,0.06), rgba(26,26,26,0.02))!important;
  border-radius:var(--r-md)!important;
  width:36px!important;height:36px!important;
  margin-bottom:18px!important;
}
.home-pathway-title{font-size:20px!important;letter-spacing:-0.015em!important}
.home-pathway-card:hover .home-pathway-title{color:#0F0F0F!important}

/* ---- HERO TYPOGRAPHY: more confident, modern weight ---- */
.home-hero{margin-bottom:42px!important}
.home-hero .section-title{
  font-size:44px!important;
  font-weight:600!important;
  letter-spacing:-0.025em!important;
  line-height:1.05!important;
  margin-bottom:14px!important;
}
.home-hero .section-desc{
  font-size:16px!important;
  line-height:1.55!important;
  color:#3F3F3F!important;
  max-width:620px;
}

/* ---- SECTION TITLES (inner pages): slightly bolder & tighter ---- */
.section-title{
  font-family:var(--sans)!important;        /* modernise: was inheriting serif */
  font-size:24px!important;
  font-weight:600!important;
  letter-spacing:-0.024em!important;
  line-height:1.15!important;
}
.section-desc{font-size:13.5px!important;line-height:1.6!important;color:#5A5A5A!important}

/* ---- PANELS: elevated cards, larger radius ---- */
.panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.05)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:22px 24px!important;
  transition:box-shadow var(--t-base) var(--ease)!important;
}
.panel-emphasis{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%)!important;
  border-color:rgba(168,85,68,0.15)!important;
}

/* ---- INPUTS: bigger, softer, smoother ---- */
input[type="text"], input[type="number"], input[type="date"], select, textarea{
  border-radius:var(--r-md)!important;
  padding:9px 12px!important;
  font-size:13.5px!important;
  border:1px solid rgba(20,15,5,0.12)!important;
  transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease)!important;
}
input:focus, select:focus, textarea:focus{
  border-color:#1A1A1A!important;
  box-shadow:0 0 0 3px rgba(26,26,26,0.10)!important;
}

/* ---- BUTTONS: refined, with subtle shadow on primary ---- */
.btn{
  border-radius:var(--r-md)!important;
  padding:8px 14px!important;
  font-size:13px!important;
  font-weight:500!important;
  border:1px solid rgba(20,15,5,0.12)!important;
  transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease)!important;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-1)!important}
.btn:active{transform:translateY(0)}
.btn-primary{
  background:linear-gradient(180deg, #2A2A2A 0%, #1A1A1A 100%)!important;
  border-color:#1A1A1A!important;
  box-shadow:0 1px 2px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.06)!important;
}
.btn-primary:hover{
  background:linear-gradient(180deg, #1F1F1F 0%, #0A0A0A 100%)!important;
  box-shadow:0 2px 6px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.06)!important;
}

/* ---- METHOD TABS: modernize the segmented control ---- */
#change-analysis .change-method-tabs{
  border:1px solid rgba(20,15,5,0.08)!important;
  border-radius:var(--r-lg)!important;
  background:rgba(255,255,255,0.6)!important;
  box-shadow:var(--shadow-1)!important;
  overflow:hidden;
}
#change-analysis .change-method-tab{
  background:transparent!important;
  border-right:1px solid rgba(20,15,5,0.05)!important;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease)!important;
}
#change-analysis .change-method-tab:hover{background:rgba(20,15,5,0.025)!important}
#change-analysis .change-method-tab.active{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%)!important;
}
#change-analysis .change-method-tab.active::before{
  height:2px!important;
  background:linear-gradient(90deg, transparent 0%, #1A1A1A 20%, #1A1A1A 80%, transparent 100%)!important;
}

/* ---- INPUT TABLE: modern depth ---- */
.input-table{
  border-radius:var(--r-lg)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  box-shadow:var(--shadow-1)!important;
  overflow:hidden;
}
.input-table thead th{
  background:rgba(20,15,5,0.025)!important;
  font-size:10.5px!important;
  letter-spacing:0.08em!important;
  font-weight:600!important;
  color:#6B6B6B!important;
  border-bottom:1px solid rgba(20,15,5,0.08)!important;
  padding:11px 14px!important;
}
.input-table tbody tr{transition:background var(--t-fast) var(--ease)}
.input-table tbody tr:hover{background:rgba(20,15,5,0.02)!important}
.input-table tbody td{padding:10px 14px!important;border-bottom:1px solid rgba(20,15,5,0.04)!important}

/* ---- FOOTER: transparent so it inherits the page palette ---- */
.site-footer{
  background:transparent!important;
  backdrop-filter:none;
  border-top:1px solid rgba(15,18,24,0.08)!important;
  padding:24px 32px!important;
}
.site-footer-link{
  transition:color var(--t-fast) var(--ease)!important;
}

/* ---- SCROLLBAR: refined (modern apps style their scrollbars) ---- */
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(20,15,5,0.15);border-radius:var(--r-pill);border:3px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:rgba(20,15,5,0.28);background-clip:padding-box;border:3px solid transparent}

/* ---- WORDMARK: tighter modern serif feel ---- */
.topbar-brand-title{
  font-size:18px!important;
  letter-spacing:-0.015em!important;
}

/* ---- NUMBERS â€” tabular alignment everywhere they matter ---- */
.input-table .num,
.input-table input[type="number"],
.es-result-value,
.apa-table .num,
.conv-eq-value{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
}

/* ---- FOCUS RINGS â€” modern offset style ---- */
button:focus-visible,
a:focus-visible{
  outline:2px solid rgba(26,26,26,0.4);
  outline-offset:2px;
  border-radius:var(--r-sm);
}

/* ---- SELECTION ---- */
::selection{background:rgba(168,85,68,0.18);color:#1A1A1A}

/* ---- COMBO DROPDOWN: shadow ---- */
.combo-list{
  box-shadow:var(--shadow-3)!important;
  border-radius:var(--r-md)!important;
}

/* ---- TOPNAV DROPDOWN: shadow upgrade ---- */
.topnav-dropdown{
  box-shadow:var(--shadow-3)!important;
  border-radius:var(--r-md)!important;
  border:1px solid rgba(20,15,5,0.08)!important;
}

/* ---- EFFECT-SIZE RESULTS GRID: subtle depth ---- */
#effectsize .es-results-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  overflow:hidden;
}
#effectsize .es-result-card{
  transition:background var(--t-fast) var(--ease)!important;
}
#effectsize .es-result-primary{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%)!important;
}
#effectsize .es-result-value{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
}

/* ---- PILLS / BADGES: full pill radius ---- */
.home-pathway-tool-badge,
.badge,
.pill{
  border-radius:var(--r-pill)!important;
  font-size:10px!important;
  letter-spacing:0.08em!important;
  font-weight:600!important;
  padding:3px 10px!important;
}

/* ---- SECTION RULE: subtle gradient instead of flat line ---- */
.section-rule{
  height:1px!important;
  background:linear-gradient(90deg, transparent 0%, rgba(20,15,5,0.12) 20%, rgba(20,15,5,0.12) 80%, transparent 100%)!important;
  border:none!important;
}

/* ---- SMOOTH SECTION TRANSITIONS ---- */
.section{transition:opacity 240ms var(--ease)!important}

/* ---- HOVER ON DROPDOWN ITEMS: scale subtle ---- */
.topnav-drop-item:hover{
  background:rgba(168,85,68,0.05)!important;
}

/* ---- ANALYSIS-SETTINGS EMPTY-STATE NUDGE: never blank, ever ---- */
#change-analysis .autofill-panel:empty::before,
#change-analysis .autofill-panel.is-empty::before{
  content:"Search a test family to populate norms automatically.";
  display:block;
  color:#9A968D;
  font-size:12.5px;
  font-style:italic;
  padding:8px 0;
}

/* ---- TOPNAV ICON OPACITY: more refined ---- */
.topnav-icon{
  opacity:.7!important;
  transition:opacity var(--t-fast) var(--ease)!important;
}
.topnav-item:hover .topnav-icon,
.topnav-item.active .topnav-icon{opacity:1!important}

/* =====================================================================
   REDESIGN PHASE 6 â€” page-by-page modernization
   Apply elevation, refined typography, and modern micro-details to
   every page's bespoke UI components.
   ===================================================================== */

/* ---------- SCORE CONVERTER ---------- */
#converter .conv-unified-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:24px 28px!important;
}
/* Slider thumb â€” modern dark with subtle ring */
input[type="range"]#conv-slider::-webkit-slider-thumb{
  width:20px!important;height:20px!important;
  background:#1A1A1A!important;
  border:3px solid #FFFFFF!important;
  box-shadow:0 0 0 1px rgba(20,15,5,0.18), 0 4px 8px rgba(0,0,0,0.18)!important;
  cursor:grab;
  transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease)!important;
}
input[type="range"]#conv-slider::-webkit-slider-thumb:hover{
  transform:scale(1.08);
  box-shadow:0 0 0 1px rgba(20,15,5,0.28), 0 6px 14px rgba(0,0,0,0.22)!important;
}
input[type="range"]#conv-slider::-moz-range-thumb{
  width:14px!important;height:14px!important;
  background:#1A1A1A!important;
  border:3px solid #FFFFFF!important;
  box-shadow:0 0 0 1px rgba(20,15,5,0.18), 0 4px 8px rgba(0,0,0,0.18)!important;
}
.conv-slider-label{
  font-family:var(--sans);font-size:10px!important;
  letter-spacing:0.14em;text-transform:uppercase;color:#8A867E!important;
  font-weight:600;margin-bottom:10px;
}
/* Score equivalents row â€” modernized cards */
.conv-scores-strip{
  display:grid;grid-template-columns:repeat(5,1fr);gap:1px;
  background:rgba(20,15,5,0.06);
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  overflow:hidden;
  margin-top:18px;
}
.conv-scores-strip > *{
  background:#FFFFFF;
  padding:14px 16px;
  display:flex;flex-direction:column;gap:4px;
  transition:background var(--t-fast) var(--ease);
}
/* Active "you entered" pill â€” strong dark fill */
.conv-scores-strip > [data-active="true"],
.conv-scores-strip .is-active,
.conv-scores-strip .conv-strip-active{
  background:linear-gradient(180deg, #2A2A2A 0%, #1A1A1A 100%)!important;
  color:#FFFFFF!important;
}
/* Wechsler / AACN classification carousel â€” keep original styling (line ~566 onward).
   No Phase 6 overrides here. */

/* ---------- NEUROPSYCH TABLES ---------- */
#battery .bat-premorbid-panel{
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-md)!important;
  padding:14px 16px!important;
}
#battery .bat-premorbid-help{
  font-size:12.5px;color:#5A5A5A;line-height:1.55;
}
#battery .bat-premorbid-toggle{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--sans);font-size:13px;font-weight:500;color:#1A1A1A;
  cursor:pointer;
}

/* ---------- REPORT WRITER ---------- */
#report-writer .rw-subtabs{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:0!important;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-lg);
  box-shadow:var(--shadow-1);
  overflow:hidden;
  margin-bottom:24px;
}
#report-writer .rw-subtabs > *{
  background:transparent;
  border:none;
  border-right:1px solid rgba(20,15,5,0.06);
  padding:16px 20px;
  display:flex;align-items:center;gap:12px;
  cursor:pointer;
  position:relative;
  transition:background var(--t-fast) var(--ease);
}
#report-writer .rw-subtabs > *:last-child{border-right:none}
#report-writer .rw-subtabs > *:hover{background:rgba(20,15,5,0.025)}
#report-writer .rw-subtabs > .active,
#report-writer .rw-subtabs > [aria-selected="true"]{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%);
}
#report-writer .rw-subtabs > .active::before,
#report-writer .rw-subtabs > [aria-selected="true"]::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent 0%, #1A1A1A 20%, #1A1A1A 80%, transparent 100%);
}
/* Number badge */
#report-writer .rw-tab-num{
  width:24px;height:24px;border-radius:50%;
  background:rgba(20,15,5,0.08);color:#737373;
  font-family:var(--sans);font-size:11px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
#report-writer .rw-subtabs > .active .rw-tab-num{
  background:#1A1A1A;color:#FFFFFF;
}
/* Drag handles in report-section list */
#report-writer .report-section-list,
#report-writer .report-selected-list{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  overflow:hidden;
}
#report-writer .report-section-list > *,
#report-writer .report-selected-list > *{
  background:rgba(20,15,5,0.025);
  border-bottom:1px solid rgba(20,15,5,0.04);
  padding:12px 14px;
  display:flex;align-items:center;gap:12px;
  transition:background var(--t-fast) var(--ease);
}
#report-writer .report-section-list > *:last-child,
#report-writer .report-selected-list > *:last-child{border-bottom:none}
#report-writer .report-section-list > *:hover,
#report-writer .report-selected-list > *:hover{background:rgba(20,15,5,0.05)}
/* Output panel (the right-side preview) */
#report-writer .report-output-panel,
#report-writer .report-output{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-1);
}
#report-writer .report-options-panel{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-1);
}

/* ---------- PREMORBID ---------- */
#premorbid .pre-form-section{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:22px 24px!important;
  margin-bottom:18px;
}
#premorbid .pre-form-heading,
#premorbid .pre-form-title{
  font-family:var(--serif);font-size:15px!important;font-weight:600!important;
  color:#1A1A1A!important;letter-spacing:-0.005em;margin-bottom:10px;
}
/* Legacy .pre-tabs block removed — see design-system.css for the canonical
   underline-tab treatment in the restructured Premorbid layout. */
/* Result tables â€” overflow:visible so help-tooltips can escape the table */
#premorbid .pre-results-table,
#premorbid .pre-predict-table{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-md)!important;
  box-shadow:var(--shadow-1);
  overflow:visible;
  border-collapse:separate;
  border-spacing:0;
}
/* Apply rounded corners to corner cells so the radius still reads visually */
#premorbid .pre-results-table thead tr:first-child th:first-child,
#premorbid .pre-predict-table thead tr:first-child th:first-child{border-top-left-radius:var(--r-md)}
#premorbid .pre-results-table thead tr:first-child th:last-child,
#premorbid .pre-predict-table thead tr:first-child th:last-child{border-top-right-radius:var(--r-md)}
#premorbid .pre-results-table tbody tr:last-child td:first-child,
#premorbid .pre-predict-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--r-md)}
#premorbid .pre-results-table tbody tr:last-child td:last-child,
#premorbid .pre-predict-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--r-md)}
#premorbid .pre-form-note{
  font-family:var(--sans);font-size:12px;color:#7A766E;
  font-style:italic;line-height:1.5;
}

/* ---------- EFFECT SIZES ---------- */
#effectsize .es-input-panel,
#effectsize .es-curve-panel,
#effectsize .es-left-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:22px 24px!important;
}
/* Curve container */
#effectsize .es-curve-wrap{
  background:linear-gradient(180deg, #FAF7F0 0%, #FFFFFF 100%);
  border-radius:var(--r-md);
  padding:18px;
}
#effectsize .es-curve-caption{
  font-family:var(--sans);font-size:12px;color:#5A5A5A;
  text-align:center;margin-top:8px;line-height:1.5;
}
#effectsize .es-curve-legend{
  display:flex;justify-content:center;gap:16px;
  font-family:var(--sans);font-size:11.5px;color:#5A5A5A;
  margin-top:4px;
}
#effectsize .es-legend-swatch{
  width:10px;height:10px;border-radius:50%;
  display:inline-block;margin-right:6px;vertical-align:-1px;
}
/* Pooled stats display */
#effectsize .es-pooled-item{
  background:rgba(20,15,5,0.025);
  border-radius:var(--r-sm);
  padding:8px 12px;
  display:flex;flex-direction:column;gap:2px;
}
#effectsize .es-pooled-label{
  font-family:var(--sans);font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:#8A867E;font-weight:600;
}
#effectsize .es-pooled-val{
  font-family:var(--mono);font-size:13px;color:#1A1A1A;
  font-variant-numeric:tabular-nums;
}
/* Group inputs panel (Group 1, Group 2) */
#effectsize .es-group{
  background:rgba(20,15,5,0.02);
  border:1px solid rgba(20,15,5,0.05);
  border-radius:var(--r-md);
  padding:14px 16px;
}
#effectsize .es-group-title{
  font-family:var(--sans);font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:#7A766E;font-weight:600;margin-bottom:10px;
}
/* CI readout */
#effectsize .es-ci-readout{
  font-family:var(--mono);font-size:11.5px;color:#5A5A5A;
}
/* Worked example & references list */
#effectsize .es-examples-table{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  overflow:hidden;
  margin-top:14px;
}
#effectsize .es-preloaded-note{
  background:rgba(168,85,68,0.05);
  border-left:2px solid #A85544;
  border-radius:var(--r-sm);
  padding:10px 14px;
  font-family:var(--sans);font-size:12.5px;color:#5A5A5A;
}
#effectsize .es-preloaded-pill{
  background:#1A1A1A;color:#FFFFFF;
  font-family:var(--sans);font-size:10px;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;
  padding:3px 10px;border-radius:var(--r-pill);
}
/* Method-warning banner (the "These don't match" warning) */
#effectsize .es-method-warning.is-visible{
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9);
  border:1px solid rgba(20,15,5,0.08);
  border-left:3px solid #1A1A1A;
  border-radius:var(--r-md);
  padding:12px 14px;
  font-family:var(--sans);font-size:12.5px;color:#3F3F3F;line-height:1.55;
}
#effectsize .es-method-warning.is-error{
  background:linear-gradient(180deg, #FCF1EE, #F8E8E2);
  border-left-color:#A85544;
}

/* ---------- METHODS & REFERENCES ---------- */
#about{max-width:780px!important}
#about p, #about li{
  font-family:var(--sans);font-size:14px;line-height:1.65;
  color:#3F3F3F;margin-bottom:12px;
}
#about h2, #about h3{
  font-family:var(--serif);color:#1A1A1A;
  letter-spacing:-0.01em;line-height:1.2;
  margin:24px 0 8px;
}
#about h2{font-size:22px;font-weight:600}
#about h3{font-size:17px;font-weight:600}
#about a{
  color:#1A1A1A;text-decoration:underline;
  text-decoration-color:rgba(168,85,68,0.4);
  text-underline-offset:3px;
  transition:text-decoration-color var(--t-fast) var(--ease);
}
#about a:hover{text-decoration-color:#A85544}
#about details{
  background:#FFFFFF;border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);padding:14px 18px;margin-bottom:10px;
  box-shadow:var(--shadow-1);
}
#about details summary{
  font-family:var(--sans);font-size:13px;font-weight:600;
  color:#1A1A1A;cursor:pointer;
}

/* ---------- NORMS DATABASE (custom-tests) ---------- */
#custom-tests .panel{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:22px 24px!important;
}

/* ---------- HOME â€” push hero card hierarchy ---------- */
.home-pathway-card .home-pathway-tools{
  border-top:1px solid rgba(20,15,5,0.06)!important;
  padding-top:14px!important;
}
.home-pathway-tool{
  padding:5px 0!important;
  transition:color var(--t-fast) var(--ease);
}
.home-pathway-tool-name:hover{color:#1A1A1A!important}
/* Recommended badge â€” modernize */
.home-pathway-tool-badge{
  background:linear-gradient(180deg, #2A2A2A, #1A1A1A)!important;
  color:#FFFFFF!important;
  border:none!important;
  box-shadow:0 1px 2px rgba(0,0,0,0.18)!important;
}
.home-pathway-tool-badge::before{display:none!important}

/* ---------- COMMON MICRO-INTERACTION POLISH ---------- */
/* Soft fade-in for sections when activated (only if not already active) */
.section.active{animation:sectionFadeIn 280ms var(--ease) both}
@keyframes sectionFadeIn{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}

/* All clickable elements get smooth pointer feedback */
button, [role="button"], .nav-item, .topnav-item, .topnav-drop-item,
.home-pathway-tool, .home-pathway-card{cursor:pointer}

/* Refined toast appearance */
.toast{
  border:1px solid rgba(255,255,255,0.06)!important;
  backdrop-filter:blur(8px);
  padding:12px 18px!important;
}

/* =====================================================================
   REDESIGN PHASE 7 â€” Home page vertical compression
   Claw back ~110px without making the layout feel cramped.
   Targets only #home â€” other pages untouched.
   ===================================================================== */

/* Section container: tighter padding for Home only */
#home.section{
  padding:24px 40px 32px!important;
}

/* Hero: smaller (still confident) title, tighter description, less bottom margin */
#home .home-hero{
  margin-bottom:24px!important;
  max-width:780px;
}
#home .home-hero .eyebrow{
  margin-bottom:4px!important;
}
#home .home-hero .section-title{
  font-size:36px!important;
  line-height:1.08!important;
  letter-spacing:-0.022em!important;
  margin-bottom:10px!important;
}
#home .home-hero .section-desc{
  font-size:15px!important;
  line-height:1.5!important;
  max-width:680px;
  margin-bottom:0!important;
}

/* Pathway grid: tighter row */
#home .home-pathways{
  gap:16px!important;
  margin-top:0!important;
}

/* Pathway cards: tighter padding inside */
#home .home-pathway-card{
  padding:22px 22px 20px!important;
}
#home .home-pathway-icon{
  width:32px!important;height:32px!important;
  margin-bottom:14px!important;
}
#home .home-pathway-icon svg{width:16px!important;height:16px!important}
#home .home-pathway-label{margin-bottom:4px!important}
#home .home-pathway-title{
  font-size:19px!important;
  margin-bottom:8px!important;
  line-height:1.18!important;
}
#home .home-pathway-desc{
  font-size:12.5px!important;
  line-height:1.5!important;
  margin-bottom:14px!important;
}
#home .home-pathway-tools{
  padding-top:12px!important;
  gap:4px!important;
}
#home .home-pathway-tool{
  font-size:12px!important;
  padding:2px 0!important;
}

/* =====================================================================
   REDESIGN PHASE 8 â€” Premorbid page vertical compression
   Flatten the Inputs sub-panel hierarchy, drop redundant title/desc,
   make Demographics 4-col instead of 2x2.
   Estimated savings: ~500px above-the-fold.
   ===================================================================== */

/* Section: tighter padding, no excess bottom buffer */
#premorbid.section{
  padding:24px 40px 32px!important;
}

/* Drop redundant section title + long description (page name in topbar) */
#premorbid > .section-title,
#premorbid > .section-desc{
  display:none!important;
}

/* Premorbid input panel: keep cream emphasis, but tighter padding */
#premorbid .premorbid-input-panel{
  padding:18px 20px!important;
  margin-bottom:18px!important;
  margin-top:0!important;
}

/* Drop the big "Inputs" heading inside the panel */
#premorbid .premorbid-input-panel > .sub-title{
  display:none!important;
}

/* Compact the intro notice â€” small italic, no boxed treatment */
#premorbid .pre-input-intro{
  font-family:var(--sans)!important;
  font-size:12px!important;
  font-style:italic!important;
  color:#6B6B6B!important;
  background:transparent!important;
  border:none!important;
  padding:0 0 12px!important;
  margin:0!important;
  line-height:1.45!important;
}

/* Flatten the three pre-form-section sub-panels â€” no borders, no nested padding */
#premorbid .pre-form-section{
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 14px!important;
}
#premorbid .pre-form-section:last-child{margin-bottom:0!important}

/* Sub-section headers: small uppercase labels, inline */
#premorbid .pre-form-heading{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  margin-bottom:8px!important;
  padding:0!important;
}
#premorbid .pre-form-title{
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:0.12em!important;
  text-transform:uppercase!important;
  color:#7A766E!important;
  margin:0!important;
}
#premorbid .pre-form-note{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-style:italic!important;
  color:#9A968D!important;
  margin:0!important;
}

/* DEMOGRAPHICS: 4 fields in 1 row instead of 2x2 grid */
#premorbid .pre-form-section:nth-of-type(2) .pre-form-grid-2{
  display:grid!important;
  grid-template-columns:repeat(4,1fr)!important;
  gap:14px!important;
}

/* Output settings stays 2-col but tightens */
#premorbid .pre-form-grid-2{gap:14px!important}
#premorbid .pre-form-grid-3{gap:14px!important}

/* Field within these grids: tighter margin */
#premorbid .pre-form-section .field{margin-bottom:0!important}

/* Tabs immediately follow inputs without big gap */
#premorbid .pre-tabs{margin-top:18px!important}

/* Reduce gap between estimates table and APA panel */
#premorbid .pre-tab-content{margin-bottom:14px}

/* Inputs is now a tab, not sticky. Just keep the panel visually consistent. */
#premorbid #pre-inputs .premorbid-input-panel{
  margin-top:0!important;
}

/* Legacy segmented-control block removed — superseded by the underline-tab
   treatment defined in design-system.css. */

/* =====================================================================
   PHASE 9 â€” Premorbid Inputs tab polish
   Make the Inputs tab feel structured and modern: each sub-group
   (Predictors / Demographics / Output Settings) becomes its own white
   card on the cream backdrop, with proper spacing and clearer hierarchy.
   ===================================================================== */

/* Outer cream panel: more breathing room, gentler gradient */
#premorbid #pre-inputs .premorbid-input-panel{
  background:linear-gradient(180deg, #F8F5ED 0%, #F2EEE3 100%)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  padding:24px!important;
  margin:0!important;
  display:flex;flex-direction:column;
  gap:16px;
}

/* Hide the leftover italic intro inside the panel â€” the tab label "Inputs"
   already says what this is. */
#premorbid #pre-inputs .pre-input-intro{
  display:none!important;
}

/* Each sub-group becomes a clean white card */
#premorbid #pre-inputs .pre-form-section{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.05)!important;
  border-radius:var(--r-md)!important;
  box-shadow:var(--shadow-1)!important;
  padding:18px 20px!important;
  margin:0!important;
  transition:box-shadow var(--t-base) var(--ease)!important;
}
#premorbid #pre-inputs .pre-form-section:hover{
  box-shadow:var(--shadow-2)!important;
}

/* Sub-section header: better hierarchy â€” bigger, clearer label + note */
#premorbid #pre-inputs .pre-form-heading{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding-bottom:10px;
  margin-bottom:14px!important;
  border-bottom:1px solid rgba(20,15,5,0.05);
}
#premorbid #pre-inputs .pre-form-title{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0.12em!important;
  text-transform:uppercase!important;
  color:#1A1A1A!important;
  margin:0!important;
}
#premorbid #pre-inputs .pre-form-note{
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  font-style:italic!important;
  color:#7A766E!important;
  margin:0!important;
  font-weight:400;
}

/* Field labels â€” slightly more refined inside cards */
#premorbid #pre-inputs .field label{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.08em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
  margin-bottom:6px!important;
}
#premorbid #pre-inputs .pre-label-sub{
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:400!important;
  letter-spacing:0.06em!important;
  color:#9A968D!important;
  margin-left:6px;
  text-transform:none!important;
}

/* Inputs inside cards â€” slightly larger for tactile feel */
#premorbid #pre-inputs input[type="text"],
#premorbid #pre-inputs input[type="number"],
#premorbid #pre-inputs select{
  padding:10px 12px!important;
  font-size:13.5px!important;
}

/* Tighter inter-card gap on the cream container */
#premorbid #pre-inputs .pre-form-section + .pre-form-section{margin-top:0!important}

/* =====================================================================
   PHASE 10 â€” Premorbid tabs 3 & 4 (ToPF Predicted vs Actual + OPIE)
   Polish the predicted-vs-actual tables: refined chrome, clearer
   group dividers, distinguished input cells, semantic colour on
   difference column, modern info notes and APA toolbar.
   ===================================================================== */

/* Tab content intro paragraph (the explanation above each table) */
#premorbid #pre-predict > p,
#premorbid #pre-opiepredict > p{
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  font-style:italic!important;
  color:#6B6B6B!important;
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-left:3px solid #1A1A1A!important;
  border-radius:var(--r-md)!important;
  padding:10px 14px!important;
  margin:0 0 16px!important;
  line-height:1.55!important;
}

/* The discrepancy table: refined chrome (overflow:visible so tooltips escape) */
#premorbid .pre-predict-table{
  width:100%;
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  overflow:visible;
  border-collapse:separate;
  border-spacing:0;
}

/* Column header row */
#premorbid .pre-predict-table thead th{
  background:rgba(20,15,5,0.025)!important;
  color:#5A5A5A!important;
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.1em!important;
  text-transform:uppercase!important;
  padding:12px 14px!important;
  border-bottom:1px solid rgba(20,15,5,0.08)!important;
  text-align:left;
}
#premorbid .pre-predict-table thead th.num{text-align:center}

/* Group divider rows (WAIS-IV, WMS-IV, FSIQ, GAI) */
#premorbid .pre-predict-table tbody tr.group-row > td{
  background:linear-gradient(180deg, #F8F5ED, #F2EEE3)!important;
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.12em!important;
  text-transform:uppercase!important;
  color:#1A1A1A!important;
  padding:10px 14px!important;
  border-top:1px solid rgba(20,15,5,0.08)!important;
  border-bottom:1px solid rgba(20,15,5,0.06)!important;
}
#premorbid .pre-predict-table tbody tr.group-row:first-child > td{
  border-top:none!important;
}

/* Data rows */
#premorbid .pre-predict-table tbody td{
  padding:10px 14px!important;
  font-size:13px!important;
  border-bottom:1px solid rgba(20,15,5,0.04)!important;
  color:#1A1A1A!important;
  transition:background var(--t-fast) var(--ease)!important;
  vertical-align:middle;
}
#premorbid .pre-predict-table tbody tr:not(.group-row):hover td{
  background:rgba(20,15,5,0.02)!important;
}
#premorbid .pre-predict-table tbody tr:last-child td{border-bottom:none!important}

/* Index name column (left) â€” slight indent under group headers */
#premorbid .pre-predict-table tbody td.model{
  font-family:var(--sans)!important;
  font-weight:500!important;
  color:#1A1A1A!important;
  padding-left:24px!important;
}

/* Numeric output cells */
#premorbid .pre-predict-table tbody td.num{
  font-family:var(--mono)!important;
  font-variant-numeric:tabular-nums;
  text-align:center;
  color:#3F3F3F!important;
}

/* Empty placeholder dashes â€” softer */
#premorbid .pre-predict-table tbody td.num:not(:has(input)):not(:has(strong)){
  color:#9E9A93!important;
}

/* Achieved input cell â€” emphasise it as an input zone */
#premorbid .pre-predict-table tbody td.achieved-cell{
  padding:6px 10px!important;
  background:rgba(20,15,5,0.015);
}
#premorbid .pre-predict-table tbody td.achieved-cell input[type="number"]{
  width:100%!important;
  text-align:center!important;
  padding:7px 10px!important;
  font-family:var(--mono)!important;
  font-size:13px!important;
  border:1px solid rgba(20,15,5,0.12)!important;
  background:#FFFFFF!important;
  border-radius:var(--r-sm)!important;
  font-variant-numeric:tabular-nums;
  transition:border-color var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease)!important;
}
#premorbid .pre-predict-table tbody td.achieved-cell input[type="number"]:hover{
  border-color:#9A968D!important;
}
#premorbid .pre-predict-table tbody td.achieved-cell input[type="number"]:focus{
  border-color:#1A1A1A!important;
  box-shadow:0 0 0 2px rgba(26,26,26,0.1)!important;
  outline:none!important;
}

/* Difference column â€” semantic colour */
#premorbid .pre-predict-table tbody td.diff{
  font-family:var(--mono)!important;
  font-variant-numeric:tabular-nums;
  font-weight:500;
  text-align:center;
}
#premorbid .pre-predict-table tbody td.diff.neg{color:#9C3D2A!important}
#premorbid .pre-predict-table tbody td.diff.pos{color:#2E5D3A!important}

/* Help icon `?` next to model names */
#premorbid .pre-predict-table .model-info-dot{
  width:18px;height:18px;border-radius:50%;
  background:rgba(20,15,5,0.06)!important;
  border:none!important;
  color:#7A766E!important;
  font-family:var(--sans);font-size:10px;font-weight:600;
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:6px;
  cursor:help;
  transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
#premorbid .pre-predict-table .model-info-dot:hover{
  background:rgba(20,15,5,0.12)!important;
  color:#1A1A1A!important;
}

/* "Note." panel below table â€” already styled by .info-box but tighten margin */
#premorbid #pre-predict .info-box,
#premorbid #pre-opiepredict .info-box{
  margin:18px 0!important;
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-left:3px solid #1A1A1A!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  color:#3F3F3F!important;
  padding:12px 16px!important;
}

/* APA-formatted output wrapper */
#premorbid .apa-wrap{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  margin-top:18px!important;
  overflow:hidden;
}
#premorbid .apa-toolbar{
  background:rgba(20,15,5,0.025)!important;
  border-bottom:1px solid rgba(20,15,5,0.06)!important;
  padding:12px 16px!important;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
#premorbid .apa-toolbar-label{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.12em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
}
#premorbid .apa-table-container{
  padding:18px 20px!important;
  background:#FFFFFF;
}

/* OPIE table tab also gets the same treatment via shared classes */
#premorbid #pre-opiepredict .pre-predict-table{}

/* Modernize the help-tooltip on Premorbid model rows â€” match new design system */
#premorbid .model-info-dot{
  background:rgba(20,15,5,0.06)!important;
  border:none!important;
  color:#7A766E!important;
  width:18px!important;height:18px!important;
}
#premorbid .model-info-dot:hover{
  background:rgba(20,15,5,0.12)!important;
  color:#1A1A1A!important;
}
#premorbid .model-info-dot::before{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.1)!important;
  border-radius:var(--r-md)!important;
  box-shadow:var(--shadow-3)!important;
  color:#3F3F3F!important;
  font-size:12px!important;
  font-family:var(--sans)!important;
  line-height:1.55!important;
  z-index:200!important;
}
#premorbid .model-info-dot::after{
  border-color:#FFFFFF transparent transparent transparent!important;
  filter:drop-shadow(0 1px 0 rgba(20,15,5,0.1));
  z-index:201!important;
}

/* ---- Tab navigation footer (Back / Step / Next) â€” sticky to viewport bottom ---- */
#premorbid .pre-tab-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  position:sticky;
  bottom:0;
  z-index:30;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(14px) saturate(180%);
  -webkit-backdrop-filter:blur(14px) saturate(180%);
  border:1px solid rgba(20,15,5,0.08);
  border-bottom:none;
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  margin:28px -16px 0;
  padding:16px 24px;
  box-shadow:0 -8px 24px rgba(20,15,5,0.08), 0 -1px 0 rgba(20,15,5,0.04);
  /* Thin accent line along the top edge */
  position:relative;
  position:sticky;
}
#premorbid .pre-tab-nav::before{
  content:"";
  position:absolute;
  top:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(20,15,5,0.18) 30%, rgba(20,15,5,0.18) 70%, transparent 100%);
  pointer-events:none;
}

/* Step counter â€” bigger, clearer, more presence */
#premorbid .pre-nav-step{
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#5A5A5A;
  text-align:center;
  white-space:nowrap;
  padding:0 14px;
}

/* Buttons inside nav â€” larger and more prominent */
#premorbid .pre-tab-nav .btn{
  padding:11px 20px!important;
  font-size:13.5px!important;
  font-weight:500!important;
  display:inline-flex;align-items:center;
  border-radius:var(--r-md)!important;
}

/* Back button: visible white card with confident border (was very flat) */
#premorbid .pre-nav-back{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.18)!important;
  color:#1A1A1A!important;
  box-shadow:var(--shadow-1)!important;
}
#premorbid .pre-nav-back:hover{
  background:#F4F1E9!important;
  border-color:#3A3A3A!important;
  box-shadow:var(--shadow-2)!important;
}

/* Next button: bigger, more confident */
#premorbid .pre-nav-next{
  background:linear-gradient(180deg, #3DA56B 0%, #2E8552 100%)!important;
  border:1px solid #246B43!important;
  color:#FFFFFF!important;
  font-weight:600!important;
  box-shadow:0 1px 2px rgba(36,107,67,0.30), 0 4px 12px rgba(46,133,82,0.28), inset 0 1px 0 rgba(255,255,255,0.18)!important;
  transition:background 160ms ease, transform 120ms ease, box-shadow 160ms ease!important;
}
#premorbid .pre-nav-next:hover{
  background:linear-gradient(180deg, #45B375 0%, #34935C 100%)!important;
  border-color:#1F5D3A!important;
  box-shadow:0 2px 4px rgba(36,107,67,0.35), 0 8px 18px rgba(46,133,82,0.40), inset 0 1px 0 rgba(255,255,255,0.20)!important;
  transform:translateY(-1px);
}
#premorbid .pre-nav-next:active{
  background:linear-gradient(180deg, #2E8552 0%, #246B43 100%)!important;
  transform:translateY(0);
  box-shadow:0 1px 2px rgba(36,107,67,0.30) inset!important;
}
#premorbid .pre-nav-next:focus-visible{
  outline:3px solid rgba(46,133,82,0.45);
  outline-offset:2px;
}
#premorbid .pre-nav-next[disabled]{
  background:linear-gradient(180deg, #BFD8C9 0%, #A6C4B3 100%)!important;
  border-color:#9DBDAA!important;
  box-shadow:none!important;
  cursor:not-allowed;
}

/* Add bottom padding to the last tab content so the sticky bar doesn't cover it */
#premorbid .pre-tab-content{padding-bottom:16px}
#premorbid .pre-nav-back{justify-self:start}
#premorbid .pre-nav-next{justify-self:end}
#premorbid .pre-nav-step{
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:500;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:#9A968D;
  text-align:center;
}
#premorbid .pre-tab-nav .btn{
  padding:9px 16px!important;
  font-size:13px!important;
  font-weight:500!important;
  display:inline-flex;align-items:center;
}
#premorbid .pre-nav-back .pre-nav-back-label,
#premorbid .pre-nav-next .pre-nav-next-label{
  letter-spacing:0;
}

/* =====================================================================
   PHASE 11 â€” Report Writer wizard nav (match Premorbid sticky style)
   ===================================================================== */

#report-writer .rw-wizard-nav{
  display:grid!important;
  grid-template-columns:auto auto 1fr auto!important;
  align-items:center;
  gap:14px!important;
  position:sticky!important;
  bottom:0!important;
  z-index:30!important;
  background:rgba(255,255,255,0.96)!important;
  backdrop-filter:blur(14px) saturate(180%)!important;
  -webkit-backdrop-filter:blur(14px) saturate(180%)!important;
  border:1px solid rgba(20,15,5,0.08)!important;
  border-bottom:none!important;
  border-radius:var(--r-lg) var(--r-lg) 0 0!important;
  margin:28px -16px 0!important;
  padding:16px 24px!important;
  box-shadow:0 -8px 24px rgba(20,15,5,0.08), 0 -1px 0 rgba(20,15,5,0.04)!important;
}
#report-writer .rw-wizard-nav::before{
  content:"";
  position:absolute;
  top:-1px;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent 0%, rgba(20,15,5,0.18) 30%, rgba(20,15,5,0.18) 70%, transparent 100%);
  pointer-events:none;
}

/* Clear-all stays subtle, semantic-warn on hover */
#report-writer .rw-wizard-nav .rw-clear-btn{
  background:#D63A2F!important;
  border:1px solid #B22A20!important;
  color:#FFFFFF!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:0.01em!important;
  padding:8px 16px!important;
  height:auto!important;
  box-shadow:0 1px 2px rgba(178,42,32,0.30), 0 2px 6px rgba(214,58,47,0.25)!important;
  transition:background 160ms ease, border-color 160ms ease, transform 120ms ease, box-shadow 160ms ease!important;
}
#report-writer .rw-wizard-nav .rw-clear-btn:hover{
  background:#E84A3D!important;
  border-color:#C2342A!important;
  color:#FFFFFF!important;
  box-shadow:0 2px 4px rgba(178,42,32,0.35), 0 4px 12px rgba(214,58,47,0.40)!important;
  transform:translateY(-1px);
}
#report-writer .rw-wizard-nav .rw-clear-btn:active{
  background:#B22A20!important;
  border-color:#8E2118!important;
  transform:translateY(0);
  box-shadow:0 1px 2px rgba(178,42,32,0.30) inset!important;
}
#report-writer .rw-wizard-nav .rw-clear-btn:focus-visible{
  outline:3px solid rgba(214,58,47,0.45);
  outline-offset:2px;
}

/* Prev/Next buttons match Premorbid nav */
#report-writer .rw-wizard-nav .btn{
  height:auto!important;
  padding:11px 20px!important;
  font-size:13.5px!important;
  font-weight:500!important;
  display:inline-flex;align-items:center;
  letter-spacing:0!important;
  border-radius:var(--r-md)!important;
}
#report-writer .rw-wizard-nav [data-rw-wizard="prev"]{
  background:#FFFFFF!important;
  color:#1A1A1A!important;
  border:1px solid rgba(20,15,5,0.18)!important;
  font-weight:500!important;
  box-shadow:var(--shadow-1)!important;
}
#report-writer .rw-wizard-nav [data-rw-wizard="prev"]:hover:not([disabled]){
  background:#F4F1E9!important;
  border-color:#3A3A3A!important;
  box-shadow:var(--shadow-2)!important;
}
#report-writer .rw-wizard-nav [data-rw-wizard="next"]{
  background:linear-gradient(180deg, #3DA56B 0%, #2E8552 100%)!important;
  border:1px solid #246B43!important;
  color:#FFFFFF!important;
  font-weight:600!important;
  box-shadow:0 1px 2px rgba(36,107,67,0.30), 0 4px 12px rgba(46,133,82,0.28), inset 0 1px 0 rgba(255,255,255,0.18)!important;
  transition:background 160ms ease, transform 120ms ease, box-shadow 160ms ease!important;
}
#report-writer .rw-wizard-nav [data-rw-wizard="next"]:hover:not([disabled]){
  background:linear-gradient(180deg, #45B375 0%, #34935C 100%)!important;
  border-color:#1F5D3A!important;
  box-shadow:0 2px 4px rgba(36,107,67,0.35), 0 8px 18px rgba(46,133,82,0.40), inset 0 1px 0 rgba(255,255,255,0.20)!important;
  transform:translateY(-1px);
}
#report-writer .rw-wizard-nav [data-rw-wizard="next"]:active{
  background:linear-gradient(180deg, #2E8552 0%, #246B43 100%)!important;
  transform:translateY(0);
  box-shadow:0 1px 2px rgba(36,107,67,0.30) inset!important;
}
#report-writer .rw-wizard-nav [data-rw-wizard="next"]:focus-visible{
  outline:3px solid rgba(46,133,82,0.45);
  outline-offset:2px;
}
#report-writer .rw-wizard-nav [data-rw-wizard="next"][disabled]{
  background:linear-gradient(180deg, #BFD8C9 0%, #A6C4B3 100%)!important;
  border-color:#9DBDAA!important;
  box-shadow:none!important;
  cursor:not-allowed;
}

/* Progress label â€” bigger, clearer, more presence */
#report-writer .rw-wizard-nav .rw-wizard-progress{
  text-align:center!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  font-weight:600!important;
  letter-spacing:0.06em!important;
  color:#5A5A5A!important;
  text-transform:none!important;
  padding:0 14px!important;
  white-space:nowrap;
}

#report-writer .rw-wizard-nav button[disabled]{
  opacity:0.35!important;
  cursor:not-allowed!important;
}

/* =====================================================================
   PHASE 12 â€” Change Analysis page polish
   Drop redundant title, format formula card, combine settings toolbar,
   promote section headers, polish action buttons, lift APA output.
   ===================================================================== */

/* Method tabs â€” refine active accent line so it doesn't bleed beyond the tab box */
#change-analysis .change-method-tabs{overflow:hidden!important}
#change-analysis .change-method-tab.active::before{
  left:0!important;right:0!important;
  border-radius:0!important;
}

/* Combine Settings + Auto-fill into a horizontal toolbar with balanced columns */
#change-analysis .change-setup-grid{
  display:grid!important;
  grid-template-columns:minmax(280px, 0.7fr) minmax(0, 1.3fr)!important;
  gap:14px!important;
  margin:0 0 24px!important;
  align-items:stretch;
}
#change-analysis .change-context-panel,
#change-analysis .change-setup-grid > .panel,
#change-analysis .autofill-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  padding:16px 18px!important;
  margin:0!important;
  box-shadow:var(--shadow-1)!important;
  min-height:auto!important;
}

/* Settings panel: kicker + two dropdowns inline (was stacked vertically) */
#change-analysis .change-context-panel .change-panel-title,
#change-analysis .change-setup-grid .panel-kicker{
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:0.12em!important;
  text-transform:uppercase!important;
  color:#7A766E!important;
  margin-bottom:10px!important;
}
#change-analysis .change-settings-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
#change-analysis .change-settings-list > .field{margin-bottom:0!important}
#change-analysis .change-settings-list label{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.08em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
  margin-bottom:5px!important;
}

/* Test data section heading â€” stronger presence */
#change-analysis h2,
#change-analysis .change-section-heading,
#change-analysis [class*="test-data-title"]{
  font-family:var(--serif)!important;
  font-size:18px!important;
  font-weight:600!important;
  font-style:normal!important;
  color:#1A1A1A!important;
  letter-spacing:-0.005em!important;
  margin:8px 0 14px!important;
  padding-bottom:8px;
  border-bottom:1px solid rgba(20,15,5,0.06);
}

/* Action buttons row below the table â€” flat, consistent, refined */
#change-analysis .input-table-controls,
#change-analysis .change-actions,
#change-analysis [class*="row-actions"]{
  display:flex;
  gap:8px;
  align-items:center;
  margin:14px 0 0;
  flex-wrap:wrap;
}
#change-analysis .input-table-controls .btn,
#change-analysis .change-actions .btn{
  padding:8px 14px!important;
  font-size:12.5px!important;
  border-radius:var(--r-md)!important;
}

/* APA output panel â€” give it presence */
#change-analysis .apa-wrap{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  margin-top:24px!important;
  overflow:hidden;
}
#change-analysis .apa-toolbar{
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9)!important;
  border-bottom:1px solid rgba(20,15,5,0.08)!important;
  padding:14px 18px!important;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
#change-analysis .apa-toolbar-label,
#change-analysis .apa-wrap .panel-kicker{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0.14em!important;
  text-transform:uppercase!important;
  color:#1A1A1A!important;
}
#change-analysis .apa-table-container{
  padding:20px 22px!important;
  background:#FFFFFF;
}

/* Section bottom padding tighter */
#change-analysis.section{padding:24px 40px 80px!important}

/* Auto-fill empty state â€” subtle hint instead of huge empty space */
#change-analysis .autofill-panel{
  display:flex;
  flex-direction:column;
  gap:10px;
}
#change-analysis .autofill-panel .panel-kicker{
  margin-bottom:0!important;
  display:flex;align-items:center;gap:10px;
  flex-wrap:wrap;
}
#change-analysis .autofill-panel .panel-kicker + *,
#change-analysis .autofill-panel .combo-input{margin-top:4px!important}

/* =====================================================================
   PHASE 13 â€” Change Analysis Overview tab
   Smaller "Overview" tab on the left + panel containing brief
   clinical descriptions of each of the 5 methods.
   ===================================================================== */

/* Adjust grid to fit the smaller Overview tab on the left */
#change-analysis .change-method-tabs{
  grid-template-columns:auto repeat(5, 1fr)!important;
}

/* About tab â€” more prominent so clinicians spot it for guidance */
#change-analysis .change-method-tab-overview{
  padding:14px 20px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:9px!important;
  text-align:left!important;
  border-right:1px solid rgba(168,85,68,0.18)!important;
  /* Soft terracotta tint to distinguish from method tabs */
  background:linear-gradient(180deg, rgba(168,85,68,0.06) 0%, rgba(168,85,68,0.10) 100%)!important;
  min-width:auto;
  transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease)!important;
}
#change-analysis .change-method-tab-overview:hover{
  background:linear-gradient(180deg, rgba(168,85,68,0.10) 0%, rgba(168,85,68,0.16) 100%)!important;
}
#change-analysis .change-method-tab-overview.active{
  background:linear-gradient(180deg, rgba(168,85,68,0.14) 0%, rgba(168,85,68,0.20) 100%)!important;
}
#change-analysis .change-method-tab-overview.active::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:2px;
  background:#A85544;
}
/* "?" bubble icon â€” terracotta-accented circular badge */
.change-overview-bubble{
  width:20px;height:20px;
  border-radius:50%;
  background:#A85544;
  color:#FFFFFF;
  font-family:var(--sans);
  font-size:12px;
  font-weight:700;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  line-height:1;
  box-shadow:0 1px 2px rgba(168,85,68,0.25), 0 0 0 2px rgba(168,85,68,0.15);
  transition:transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
#change-analysis .change-method-tab-overview:hover .change-overview-bubble{
  transform:scale(1.08);
  box-shadow:0 2px 4px rgba(168,85,68,0.35), 0 0 0 3px rgba(168,85,68,0.18);
}
#change-analysis .change-method-tab-overview.active .change-overview-bubble{
  background:#7A2E1F;
  box-shadow:0 2px 6px rgba(122,46,31,0.45), 0 0 0 3px rgba(168,85,68,0.20);
}

/* Subtle pulse animation when the section is freshly loaded â€” draws the eye once */
@keyframes about-bubble-pulse{
  0%, 100%{box-shadow:0 1px 2px rgba(168,85,68,0.25), 0 0 0 2px rgba(168,85,68,0.15)}
  50%{box-shadow:0 2px 6px rgba(168,85,68,0.45), 0 0 0 6px rgba(168,85,68,0.0)}
}
#change-analysis.section.active .change-overview-bubble{
  animation:about-bubble-pulse 2.4s var(--ease) 0.4s 2;
}
.change-method-overview-label{
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  color:#A85544;
  letter-spacing:0;
  white-space:nowrap;
}
#change-analysis .change-method-tab-overview.active .change-method-overview-label{
  color:#7A2E1F;
  font-weight:700;
}

/* Overview panel layout */
#change-analysis .change-method-panel-overview{
  padding:0!important;
  margin:0!important;
}
#change-analysis .change-method-panel-overview:not(.active){display:none!important}
#change-analysis .change-overview-intro{
  font-family:var(--sans);
  font-size:13.5px;
  line-height:1.55;
  color:#3F3F3F;
  margin:4px 0 16px;
  max-width:880px;
}
#change-analysis .change-overview-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  align-items:start;          /* each card sizes to its own content, no
                                 row-height equalisation when one expands */
  gap:12px;
}

/* Individual method-description card â€” tighter spacing */
#change-analysis .change-overview-card{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  box-shadow:var(--shadow-1);
  padding:14px 16px 14px;
  display:flex;
  flex-direction:column;
  cursor:pointer;
  transition:box-shadow var(--t-base) var(--ease), transform var(--t-base) var(--ease), border-color var(--t-base) var(--ease), background var(--t-base) var(--ease);
}
#change-analysis .change-overview-card:hover{
  box-shadow:var(--shadow-2);
  transform:translateY(-1px);
  border-color:rgba(20,15,5,0.14);
}
/* Minimalist by default — hide the citation + descriptive body. Hover
   reveals them temporarily; clicking the card pins them open via the
   .is-pinned class. The features row + title stay visible always. */
#change-analysis .change-overview-card .change-overview-cite,
#change-analysis .change-overview-card > p:not(.change-overview-cite){
  max-height:0;
  opacity:0;
  margin-top:0!important;
  margin-bottom:0!important;
  overflow:hidden;
  pointer-events:none;
  transition:max-height 220ms var(--ease), opacity 160ms ease, margin 220ms var(--ease);
}
#change-analysis .change-overview-card:hover .change-overview-cite,
#change-analysis .change-overview-card.is-pinned .change-overview-cite,
#change-analysis .change-overview-card:focus-visible .change-overview-cite{
  max-height:60px;
  opacity:1;
  margin:0 0 8px!important;
  pointer-events:auto;
}
#change-analysis .change-overview-card:hover > p:not(.change-overview-cite),
#change-analysis .change-overview-card.is-pinned > p:not(.change-overview-cite),
#change-analysis .change-overview-card:focus-visible > p:not(.change-overview-cite){
  max-height:340px;
  opacity:1;
  margin:0 0 6px!important;
  pointer-events:auto;
}
/* Pinned state — clearer affordance that this card is "locked open" */
#change-analysis .change-overview-card.is-pinned{
  border-color:rgba(168,85,68,0.40);
  background:#FBF8F2;
  box-shadow:var(--shadow-2);
}
#change-analysis .change-overview-card.is-pinned:hover{
  transform:none;
}
#change-analysis .change-overview-card:active{transform:translateY(0)}
#change-analysis .change-overview-card:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
#change-analysis .change-overview-card-recommended{
  background:linear-gradient(180deg, #FAF7F0 0%, #FFFFFF 35%);
  border-color:rgba(168,85,68,0.25);
}
#change-analysis .change-overview-meta{
  display:flex;align-items:center;gap:8px;
  margin-bottom:4px;
}
#change-analysis .change-overview-num{
  font-family:var(--mono);
  font-size:9.5px;
  color:#9E9A93;
  letter-spacing:0.06em;
  font-weight:400;
}
#change-analysis .change-overview-level{
  font-family:var(--sans);
  font-size:9.5px;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#7A766E;
  font-weight:600;
}
#change-analysis .change-overview-card h3{
  font-family:var(--serif);
  font-size:15.5px;
  font-weight:600;
  color:#1A1A1A;
  letter-spacing:-0.005em;
  line-height:1.2;
  margin:0 0 3px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
#change-analysis .change-overview-cite{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-style:italic!important;
  color:#7A766E!important;
  margin:0 0 8px!important;
  line-height:1.35!important;
}
#change-analysis .change-overview-card p:not(.change-overview-cite){
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.5;
  color:#3F3F3F;
  margin:0 0 6px;
}
#change-analysis .change-overview-card p:last-child{margin-bottom:0}
#change-analysis .change-overview-card strong{
  color:#1A1A1A;
  font-weight:600;
}
#change-analysis .change-overview-badge{
  font-family:var(--sans);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  background:linear-gradient(180deg, #2A2A2A, #0F0F0F);
  color:#FFFFFF;
  padding:3px 10px;
  border-radius:var(--r-pill);
  letter-spacing:0.08em;
}

/* =====================================================================
   PHASE 14 â€” Editable date column headers blend with table header
   The DATE 1 / DATE 2 inputs were rendering as bordered white boxes
   that looked like buttons. Make them invisible-by-default; only show
   edit chrome on hover/focus (classic in-place edit pattern).
   ===================================================================== */

#change-analysis .input-table th .change-date-head-input{
  background:transparent!important;
  background-color:transparent!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  color:#5A5A5A!important;
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.1em!important;
  text-transform:uppercase!important;
  height:auto!important;
  min-height:0!important;
  padding:6px 8px!important;
  border-radius:var(--r-sm)!important;
  cursor:text;
  transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease)!important;
}
/* Subtle dotted underline hint that this is editable (clinically discoverable) */
#change-analysis .input-table th .change-date-head-input{
  border-bottom:1px dashed rgba(20,15,5,0.18)!important;
}
#change-analysis .input-table th .change-date-head-input:hover{
  background:rgba(255,255,255,0.6)!important;
  border:1px solid rgba(20,15,5,0.18)!important;
  border-radius:var(--r-sm)!important;
}
#change-analysis .input-table th .change-date-head-input:focus{
  background:#FFFFFF!important;
  border:1px solid #1A1A1A!important;
  box-shadow:0 0 0 2px rgba(26,26,26,0.08)!important;
  color:#1A1A1A!important;
  outline:none!important;
}

/* =====================================================================
   PHASE 15 â€” Feature pills on About cards (statistical robustness labels)
   ===================================================================== */

#change-analysis .change-overview-features{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid rgba(20,15,5,0.06);
}
#change-analysis .change-overview-features-label{
  font-family:var(--sans);
  font-size:9px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#9A968D;
  margin-right:2px;
  flex-basis:100%;
  margin-bottom:2px;
}
#change-analysis .change-overview-feature{
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0;
  padding:3px 9px;
  border-radius:var(--r-pill);
  cursor:help;
  transition:background var(--t-fast) var(--ease);
  white-space:nowrap;
  /* Default = is-on (active feature) â€” soft cream tint, dark text */
  background:rgba(20,15,5,0.05);
  color:#3F3F3F;
  border:1px solid transparent;
  box-shadow:none;
}
#change-analysis .change-overview-feature:hover{
  background:rgba(20,15,5,0.09);
  color:#1A1A1A;
}

/* "None" variant â€” for Level 1 (descriptive only) */
#change-analysis .change-overview-feature.is-none{
  background:transparent;
  border:1px dashed rgba(20,15,5,0.18);
  color:#9A968D;
  font-style:italic;
  cursor:default;
}
#change-analysis .change-overview-feature.is-none:hover{
  background:transparent;
  color:#9A968D;
}

/* "Strong" variant â€” softened terracotta tint for Sample size on Crawford */
#change-analysis .change-overview-feature-strong{
  background:rgba(168,85,68,0.10)!important;
  color:#7A2E1F!important;
  border:1px solid rgba(168,85,68,0.20)!important;
}
#change-analysis .change-overview-feature-strong:hover{
  background:rgba(168,85,68,0.16)!important;
  color:#5A1F12!important;
}

/* Compare-with-premorbid toggle â€” keep label on a single line */
#battery .bat-premorbid-toggle{
  white-space:nowrap!important;
  font-size:12px!important;
  padding:8px 12px!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

/* =====================================================================
   NEUROPSYCH TABLES â€” same polish principles as other inner pages
   - Hide redundant section header (page name in topbar)
   - Wider section + magazine layout (narrow setup, wide table)
   - Tighter panels, refined autofill, polished controls
   ===================================================================== */

/* Hide redundant title + eyebrow (page name in topbar). Keep the
   description as a refined intro line for first-time users. */
#battery > .eyebrow,
#battery > .section-title{display:none!important}
#battery > .section-desc{
  display:block!important;
  font-family:var(--sans)!important;
  font-size:13px!important;
  font-style:italic!important;
  color:#6B6B6B!important;
  line-height:1.55!important;
  max-width:780px;
  margin:0 0 18px!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
}

/* Wider section, tighter top */
#battery.section{
  max-width:1320px!important;
  margin-left:auto;
  margin-right:auto;
  padding:24px 40px 48px!important;
}

/* Setup panel + premorbid panel + autofill panel â€” narrow (magazine-body width).
   The subtest table breaks out wider when needed (existing behaviour). */
#battery > .panel:not(.input-table-wrap){
  max-width:1180px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Setup panel â€” flatter, consistent with rest of site */
#battery > .panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:18px 22px!important;
  margin-bottom:14px!important;
}

/* Premorbid comparison panel â€” cream gradient distinguishes it as optional */
#battery .bat-premorbid-panel{
  background:linear-gradient(180deg, #FAF7F0, #F4F1E9)!important;
  border:1px solid rgba(20,15,5,0.06)!important;
}
#battery .bat-premorbid-help{
  font-family:var(--sans)!important;
  font-size:12px!important;
  font-style:italic!important;
  color:#6B6B6B!important;
  line-height:1.55!important;
  margin:10px 0 0!important;
}

/* Autofill panel â€” refined */
#battery .autofill-panel{
  background:#FFFFFF!important;
}
#battery .autofill-row .field label{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.10em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
}
#battery .autofill-row .hint{
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  font-style:italic!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#9A968D!important;
  margin-left:6px;
}

/* Field labels in setup grid â€” consistent uppercase tracking */
#battery .panel:not(.bat-premorbid-panel) .field label,
#battery .bat-premorbid-panel .field > label:first-child{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.10em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
  margin-bottom:6px!important;
}
#battery .field .hint{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:400!important;
  font-style:italic!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:#9A968D!important;
  margin-left:4px;
}

/* The block-title heading above the table (if present) â€” match other pages */
#battery .block-title,
#battery h2.block-title{
  font-family:var(--serif)!important;
  font-size:18px!important;
  font-weight:600!important;
  letter-spacing:-0.005em!important;
  color:#1A1A1A!important;
  margin:8px 0 14px!important;
  padding-bottom:0;
  border:none;
}

/* Subtest input table breaks out wide â€” full width minus section padding */
#battery > .input-table-wrap,
#battery > #bat-table,
#battery > table.input-table{
  max-width:none;
  width:100%;
}

/* Action buttons below the table â€” flat consistent with other pages */
#battery .add-row-actions .btn,
#battery .table-actions .btn{
  padding:8px 14px!important;
  font-size:12.5px!important;
  border-radius:var(--r-md)!important;
}

/* =====================================================================
   REPORT WRITER â€” fit Setup/Build/Scores into one viewport
   - Hide redundant title (page name in topbar)
   - Refined intro line for first-time users
   - Wider section, tighter top padding
   - Tighter panel padding so the two-column setup grid fits
   ===================================================================== */

#report-writer > .eyebrow,
#report-writer > .section-title{display:none!important}
#report-writer > .section-desc{
  display:block!important;
  font-family:var(--sans)!important;
  font-size:13px!important;
  font-style:italic!important;
  color:#6B6B6B!important;
  line-height:1.55!important;
  max-width:780px;
  margin:0 0 16px!important;
  padding:0!important;
  background:transparent!important;
  border:none!important;
}

#report-writer.section{
  max-width:1320px!important;
  margin-left:auto;
  margin-right:auto;
  padding:24px 40px 60px!important;
}

/* 3-step tabs (Setup / Build / Scores) â€” slightly more compact */
#report-writer .rw-tabs{
  margin-bottom:16px!important;
}

/* Setup-grid panels â€” tighter padding to fit more content */
#report-writer .rw-setup-grid{
  margin-bottom:18px!important;
}
#report-writer .report-panel{
  padding:18px 20px!important;
}
#report-writer .report-options-panel,
#report-writer .report-section-list-panel,
#report-writer .report-measure-panel,
#report-writer .report-selected-panel,
#report-writer .report-scores-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
}

/* Panel kicker labels â€” consistent with other pages */
#report-writer .panel-kicker{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.10em!important;
  text-transform:uppercase!important;
  color:#7A766E!important;
  margin-bottom:10px!important;
}

/* Field labels inside the Options panel â€” tighter */
#report-writer .field label{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:600!important;
  letter-spacing:0.08em!important;
  text-transform:uppercase!important;
  color:#5A5A5A!important;
  margin-bottom:5px!important;
}

/* Compact the Options stack so all 3 fields fit comfortably */
#report-writer .report-options-stack{
  gap:12px!important;
}
#report-writer .report-options-stack .field{
  margin-bottom:0!important;
}

/* Domain checklist â€” tighter */
#report-writer .rw-domain-checklist{
  gap:6px!important;
  padding-top:4px!important;
}

/* Report-structure list rows â€” slightly tighter */
#report-writer .report-section-list > *{
  padding:10px 12px!important;
}

/* Generated Draft (the APA-style output below) keeps its width but
   we don't constrain the section here â€” user said it's OK to scroll for it */
#report-writer .report-output-panel{
  margin-top:18px;
}

/* Build/Scores grid â€” compact */
#report-writer .rw-build-grid{
  margin-bottom:18px!important;
}

/* Shrink the test-picker browser so the whole Build tab fits without
   page-scrolling â€” internal scroll handles overflow within the box. */
#report-writer .report-test-browser{
  max-height:200px!important;
}

/* Hide the redundant "Options" kicker on the Setup tab â€” the field labels
   inside (Reference / Descriptor system / Add domains) are self-explanatory */
#report-writer .report-options-panel > .panel-kicker{
  display:none!important;
}

/* =====================================================================
   SCORE CONVERTER â€” same polish as other inner pages + view tabs
   - Hide redundant title (page name in topbar), refined intro line
   - Wider section, tighter padding
   - Modern segmented control to switch between Equivalents and Distribution
   - Tab content panes (only active one visible)
   ===================================================================== */

/* Hide redundant title + eyebrow + decorative rule */
#converter > .eyebrow,
#converter > .section-title,
#converter > .section-rule{display:none!important}

/* Section width + padding */
#converter.section{
  max-width:1320px!important;
  margin-left:auto;
  margin-right:auto;
  padding:24px 40px 60px!important;
}

/* The unified panel â€” keep flat, less heavy */
#converter .conv-unified-panel{
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.06)!important;
  border-radius:var(--r-lg)!important;
  box-shadow:var(--shadow-1)!important;
  padding:22px 26px!important;
}

/* Drop the visible divider that used to sit between the slider and output */
#converter .conv-panel-divider{display:none!important}

/* "Score equivalents" inline header â€” quieter */
#converter .conv-strip-header{
  font-family:var(--sans)!important;
  font-size:9.5px!important;
  font-weight:600!important;
  letter-spacing:0.14em!important;
  text-transform:uppercase!important;
  color:#9A968D!important;
  margin:14px 0 10px!important;
}

/* ---- View tabs: Equivalents / Distribution segmented control ---- */
#converter .conv-view-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0!important;
  background:rgba(20,15,5,0.07)!important;
  border:1px solid rgba(20,15,5,0.10)!important;
  border-radius:var(--r-pill)!important;
  padding:4px!important;
  margin:18px 0 16px!important;
  box-shadow:inset 0 1px 2px rgba(20,15,5,0.06)!important;
}
#converter .conv-view-tab{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  background:transparent!important;
  border:none!important;
  border-radius:14px!important;
  padding:9px 18px!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  font-weight:500!important;
  color:#7A766E!important;
  letter-spacing:0!important;
  cursor:pointer;
  transition:background 240ms var(--ease), color 240ms var(--ease), box-shadow 240ms var(--ease)!important;
  white-space:nowrap;
  text-align:center!important;
}
#converter .conv-view-tab svg{
  width:14px;height:14px;
  flex-shrink:0;
  opacity:0.7;
  transition:opacity 240ms var(--ease);
}
#converter .conv-view-tab:hover:not(.is-active){color:#1A1A1A!important}
#converter .conv-view-tab:hover:not(.is-active) svg{opacity:0.95}
#converter .conv-view-tab.is-active{
  background:#FFFFFF!important;
  color:#1A1A1A!important;
  font-weight:600!important;
  box-shadow:0 1px 2px rgba(20,15,5,0.08), 0 0 0 1px rgba(20,15,5,0.04)!important;
}
#converter .conv-view-tab.is-active svg{opacity:1}

/* Pane visibility â€” only the active pane is shown */
#converter .conv-view-pane{display:none!important}
#converter .conv-view-pane.is-active{display:block!important}
/* Override the inline style="display:block" on conv-output */
#converter #conv-output[style]{display:none!important}
#converter #conv-output.is-active[style]{display:block!important}

/* Distribution pane: bell curve as the hero â€” let it breathe */
#converter .curve-wrap.conv-view-pane{
  margin-top:0!important;
  background:linear-gradient(180deg, #FAF7F0 0%, #FFFFFF 100%);
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  padding:28px 36px;
}
#converter .curve-svg{
  display:block;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  height:auto;
  cursor:ew-resize;            /* indicate drag-to-adjust */
  touch-action:none;            /* prevent page scroll while dragging */
  user-select:none;
  -webkit-user-select:none;
}
#converter .curve-svg:active{cursor:grabbing}

/* Wechsler / AACN carousel: reverted to original styling (line ~566). */

/* Fix descender clipping in dropdowns/inputs (e.g. "Mrs Doe (she/her)") â€”
   override the legacy height:32px / padding:0 rule on report-options-stack */
#report-writer .report-options-stack .field select,
#report-writer .report-options-stack .field input,
#report-writer select,
#report-writer input[type="text"],
#report-writer input[type="number"]{
  height:auto!important;
  min-height:38px!important;
  line-height:1.4!important;
  padding:9px 12px!important;
}

/* =====================================================================
   Norms visual-lock toggle â€” aesthetic fade + input lock, no layout shift
   Button sits INSIDE the Norms group header cell, on the right.
   ===================================================================== */

/* Norms group cell layout â€” title centred, button on the right */
#change-analysis .input-table .table-group-row th[data-norm-cell="true"]{
  position:relative;
  /* Keep the cell's natural alignment for the label, but allow the button
     to sit absolutely on the right edge */
}
.norms-group-label{
  display:inline-block;
}

/* Two-segment pill toggle â€” Lock | Unlock â€” anchored to right of Norms cell */
.norms-toggle-pill{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  background:rgba(20,15,5,0.06);
  border:1px solid rgba(20,15,5,0.10);
  border-radius:var(--r-pill);
  padding:3px;
  gap:0;
  box-shadow:inset 0 1px 2px rgba(20,15,5,0.04);
}
.norms-pill-segment{
  display:inline-flex;
  align-items:center;
  gap:5px;
  background:transparent;
  border:none;
  border-radius:calc(var(--r-pill) - 3px);
  padding:5px 12px;
  font-family:var(--sans);
  font-size:11px;
  font-weight:500;
  color:#7A766E;
  cursor:pointer;
  letter-spacing:0;
  white-space:nowrap;
  text-transform:none;
  transition:background 240ms var(--ease), color 240ms var(--ease), box-shadow 240ms var(--ease);
}
.norms-pill-segment svg{
  width:11px;
  height:11px;
  flex-shrink:0;
  opacity:0.65;
  transition:opacity 240ms var(--ease);
}
.norms-pill-segment:hover:not(.is-active){
  color:#1A1A1A;
}
.norms-pill-segment:hover:not(.is-active) svg{
  opacity:0.95;
}
.norms-pill-segment.is-active{
  background:#FFFFFF;
  color:#1A1A1A;
  font-weight:600;
  box-shadow:0 1px 2px rgba(20,15,5,0.08), 0 0 0 1px rgba(20,15,5,0.04);
}
.norms-pill-segment.is-active svg{opacity:1}
/* Locked-active uses terracotta tint to read as "currently protected" */
.norms-pill-segment.is-active[data-state="locked"]{
  background:linear-gradient(180deg, rgba(168,85,68,0.16), rgba(168,85,68,0.08));
  color:#7A2E1F;
  box-shadow:0 1px 2px rgba(168,85,68,0.12), 0 0 0 1px rgba(168,85,68,0.10);
}
.norms-lock-btn:hover{
  background:#F4F1E9;
  border-color:rgba(20,15,5,0.24);
  color:#1A1A1A;
}
.norms-lock-icon{
  width:12px;
  height:12px;
  flex-shrink:0;
  opacity:0.85;
  transition:opacity var(--t-fast) var(--ease);
}
.norms-lock-btn:hover .norms-lock-icon{opacity:1}
/* Pressed state â€” subtle terracotta tint to signal "norms are hidden" */
.norms-lock-btn[aria-pressed="true"]{
  background:rgba(168,85,68,0.08);
  border-color:rgba(168,85,68,0.24);
  color:#7A2E1F;
}
.norms-lock-btn[aria-pressed="true"] .norms-lock-icon{opacity:1}
.norms-lock-btn[aria-pressed="true"]:hover{
  background:rgba(168,85,68,0.14);
  border-color:rgba(168,85,68,0.34);
}

/* When the table is locked, fade norm cells and desaturate them so they
   visually recede. NO layout change â€” cells keep their position and width.
   The toggle button itself is exempted so it stays clickable and crisp. */
.input-table [data-norm-cell="true"]{
  transition:opacity 280ms ease, filter 280ms ease, background-color 280ms ease;
}
.input-table.norms-locked [data-norm-cell="true"]:not(.table-group-row > *){
  opacity:0.35;
  filter:saturate(0.4);
}
.input-table.norms-locked .table-group-row th[data-norm-cell="true"]{
  /* Keep the group cell label slightly muted but the button bright */
}
.input-table.norms-locked .table-group-row th[data-norm-cell="true"] .norms-group-label{
  opacity:0.5;
  transition:opacity 280ms ease;
}
/* Disabled inputs in locked state â€” flat, no caret, clearly uneditable */
.input-table.norms-locked [data-norm-cell="true"] input{
  background:rgba(20,15,5,0.025)!important;
  cursor:default;
}

/* =====================================================================
   Change Analysis â€” magazine layout: narrow content, wide table breakout
   The page section stays full-width so the table has room. Everything
   else is centered at 1180px so the eye has a focused reading zone.
   ===================================================================== */

/* Header text â€” eyebrow, title, formula description */
#change-analysis > #change-main-eyebrow,
#change-analysis > #change-main-title,
#change-analysis > #change-main-desc{
  max-width:1320px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Method tab strip + adjustment key */
#change-analysis .change-flow-side{
  max-width:1320px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Inside each method panel â€” settings, autofill, "Test data" heading
   stay narrow. The input table and APA output break out to full width. */
#change-analysis .change-method-panel > .change-active-head,
#change-analysis .change-method-panel > .change-setup-grid,
#change-analysis .change-method-panel > .block-title,
#change-analysis .change-method-panel > .change-flow-side,
#change-analysis .change-method-panel > .change-context-panel,
#change-analysis .change-method-panel > .autofill-panel{
  max-width:1320px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* The Overview panel content (About) also constrained */
#change-analysis .change-method-panel-overview{
  max-width:1320px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Tables and APA output stay full-width â€” they're the data heroes */
#change-analysis .change-method-panel > .input-table,
#change-analysis .change-method-panel > .apa-wrap{
  max-width:none;
  width:100%;
}

/* Empty action column header (the Ã— delete column) â€” make it blend in
   so it doesn't appear as a weird detached strip on the right edge */
#change-analysis .input-table thead th.row-actions,
#change-analysis .input-table thead th:last-child:empty{
  background:transparent!important;
  border-bottom-color:transparent!important;
}

/* Hide the "Test data & patient scores" heading in each Change Analysis
   method panel â€” the table itself is self-explanatory */
#change-analysis .change-method-panel > .block-title{
  display:none!important;
}

/* =====================================================================
   EFFECT SIZE TOOLS â€” page polish (P0 + P1 pass)
   - Smaller section title, tighter intro
   - Modernize the 4 result-view sub-tabs (segmented control)
   - Refine A/B mode tabs, drop the heavy "OR" pill
   - Inline the preloaded-example notice as subtle helper text
   ===================================================================== */

/* Section header â€” hidden (page name shown in topbar already) */
#effectsize > .eyebrow,
#effectsize > .section-title,
#effectsize > .section-desc{
  display:none!important;
}
#effectsize.section{padding-top:24px!important}

/* ---- A/B mode tabs â€” unified segmented control ---- */
#effectsize .es-tabs-wrap{margin-bottom:14px!important}
#effectsize .es-tabs{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  gap:0!important;
  background:#FFFFFF!important;
  border:1px solid rgba(20,15,5,0.10)!important;
  border-radius:var(--r-lg)!important;
  padding:5px!important;
  box-shadow:0 1px 2px rgba(20,15,5,0.04), 0 4px 14px rgba(20,15,5,0.05)!important;
  position:relative!important;
  top:0!important;
  overflow:hidden;
}
#effectsize .es-tab{
  flex:none!important;
  background:transparent!important;
  border:none!important;
  border-radius:calc(var(--r-lg) - 5px)!important;
  padding:14px 18px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  color:#5A5A5A!important;
  cursor:pointer;
  transition:background 240ms var(--ease), color 240ms var(--ease), box-shadow 240ms var(--ease)!important;
  text-align:left!important;
  position:relative!important;
  top:0!important;
}
#effectsize .es-tab:hover:not(.is-active){
  background:rgba(20,15,5,0.03)!important;
  color:#1A1A1A!important;
}
/* Active state â€” cream gradient fill, no ring (the container border holds the strip together) */
#effectsize .es-tab.is-active{
  background:linear-gradient(180deg, #FAF7F0 0%, #F4F1E9 100%)!important;
  color:#1A1A1A!important;
  box-shadow:0 1px 2px rgba(20,15,5,0.05)!important;
}

/* Number badges A / B â€” circular, soft */
#effectsize .es-tab-num{
  width:28px!important;height:28px!important;
  border-radius:50%!important;
  background:rgba(20,15,5,0.08)!important;
  color:#7A766E!important;
  font-family:var(--sans)!important;
  font-size:12px!important;
  font-weight:600!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-shrink:0!important;
  transition:background 240ms var(--ease), color 240ms var(--ease)!important;
}
#effectsize .es-tab.is-active .es-tab-num{
  background:#1A1A1A!important;
  color:#FFFFFF!important;
}

#effectsize .es-tab-text{display:flex;flex-direction:column;gap:2px;min-width:0}
#effectsize .es-tab-title{
  font-family:var(--sans)!important;
  font-size:13.5px!important;
  font-weight:500!important;
  color:#3F3F3F!important;
  letter-spacing:-0.005em!important;
  line-height:1.25!important;
}
#effectsize .es-tab.is-active .es-tab-title{color:#1A1A1A!important;font-weight:600!important}
#effectsize .es-tab-sub{
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  font-weight:400!important;
  color:#8A867E!important;
  letter-spacing:0!important;
  font-style:normal!important;
  line-height:1.4!important;
}
#effectsize .es-tab.is-active .es-tab-sub{color:#5A5A5A!important}

/* "OR" separator â€” quiet, just a thin character â€” no green pill */
#effectsize .es-tabs-or{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 4px!important;
  background:transparent!important;
}
#effectsize .es-tabs-or span{
  font-family:var(--sans)!important;
  font-size:10px!important;
  font-weight:600!important;
  letter-spacing:0.16em!important;
  color:#9E9A93!important;
  background:transparent!important;
  border:none!important;
  padding:0!important;
  border-radius:0!important;
  text-transform:uppercase!important;
}

/* ---- Preloaded example notice â€” subtle inline helper ---- */
#effectsize .es-preloaded-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:8px!important;
  background:transparent!important;
  border:none!important;
  border-left:none!important;
  border-radius:0!important;
  padding:0 0 12px!important;
  margin:0 0 4px!important;
  font-family:var(--sans)!important;
  font-size:12px!important;
  font-style:italic!important;
  color:#7A766E!important;
  line-height:1.5!important;
}
#effectsize .es-preloaded-pill{
  display:inline-block!important;
  background:rgba(168,85,68,0.10)!important;
  color:#7A2E1F!important;
  font-family:var(--sans)!important;
  font-size:9.5px!important;
  font-weight:600!important;
  font-style:normal!important;
  letter-spacing:0.10em!important;
  text-transform:uppercase!important;
  padding:3px 9px!important;
  border-radius:var(--r-pill)!important;
  border:1px solid rgba(168,85,68,0.18)!important;
  flex-shrink:0!important;
  white-space:nowrap;
  line-height:1.3;
}

/* ---- The 4 result-view sub-tabs â€” modern segmented control ----
   Proportional columns: the longer "Common language description" gets
   more room than the others to avoid wrapping when active. */
#effectsize .es-view-tabs{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr 1.7fr!important;
  gap:0!important;
  background:rgba(20,15,5,0.07)!important;
  border:1px solid rgba(20,15,5,0.10)!important;
  border-radius:var(--r-pill)!important;
  padding:4px!important;
  margin-bottom:18px!important;
  box-shadow:inset 0 1px 2px rgba(20,15,5,0.06)!important;
}
#effectsize .es-view-tab{
  background:transparent!important;
  border:none!important;
  border-radius:14px!important;
  padding:7px 10px!important;
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:500!important;
  color:#7A766E!important;
  letter-spacing:0!important;
  text-transform:none!important;
  cursor:pointer;
  margin:0!important;
  transition:background 240ms var(--ease), color 240ms var(--ease), box-shadow 240ms var(--ease)!important;
  text-align:center!important;
  line-height:1.25!important;
  min-width:0;
  white-space:nowrap;
}
#effectsize .es-view-tab + .es-view-tab{margin-left:0!important}
#effectsize .es-view-tab:hover:not(.is-active){
  color:#1A1A1A!important;
}
#effectsize .es-view-tab.is-active{
  background:#FFFFFF!important;
  color:#1A1A1A!important;
  font-weight:600!important;
  box-shadow:0 1px 2px rgba(20,15,5,0.08), 0 0 0 1px rgba(20,15,5,0.04)!important;
}

/* Effect-size results panel + Visual panel â€” equal height row, bottoms aligned */
#effectsize .es-output-row{
  align-items:stretch!important;
}
#effectsize .es-left-panel,
#effectsize .es-curve-panel{
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
}

/* Group-comparison target grid â€” align inputs to bottom of cells so they
   stay on a row even if one label wraps to two lines */
#effectsize .es-target-grid{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:14px 20px!important;
  align-items:stretch!important;
}
#effectsize .es-target-grid > .field{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:5px!important;
  margin-bottom:0!important;
}
#effectsize .es-target-grid > .field > label{
  margin-bottom:0!important;
  line-height:1.35;
}

/* "Clear all inputs" â€” make it look like a clear button, not a form field */
#effectsize .es-reset-btn,
#effectsize #es-reset-all,
#effectsize #es-clear{
  background:transparent!important;
  border:1px solid rgba(20,15,5,0.18)!important;
  border-radius:var(--r-md)!important;
  padding:8px 14px!important;
  font-family:var(--sans)!important;
  font-size:12.5px!important;
  font-weight:500!important;
  color:#5A5A5A!important;
  letter-spacing:0!important;
  cursor:pointer;
  white-space:nowrap;
  transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), color var(--t-fast) var(--ease)!important;
  height:auto!important;
}
#effectsize .es-reset-btn:hover,
#effectsize #es-reset-all:hover,
#effectsize #es-clear:hover{
  background:rgba(168,85,68,0.06)!important;
  border-color:rgba(168,85,68,0.36)!important;
  color:#9C3D2A!important;
}

/* (Effect-size slider styling lives in the consolidated block above —
   the older overrides that used to live here have been removed.) */

/* =====================================================================
   NEUROPSYCH TABLES — side-by-side configuration + premorbid panels
   - Two equal-width panels at the top, both always visible
   - Auto-fill becomes the table header
   - Rebalanced column widths so 'Scaled Score' doesn't wrap
   ===================================================================== */

#battery.section{padding-top:18px}

/* Two-panel grid */
#battery .bat-panels-grid{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
  gap:14px;
  margin-bottom:14px;
}
@media (max-width:900px){
  #battery .bat-panels-grid{grid-template-columns:1fr}
}

/* Panel chrome */
#battery .bat-side-panel{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.08);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(60,40,20,0.03);
  display:flex;
  flex-direction:column;
  min-height:0;
}
#battery .bat-side-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 16px;
  border-bottom:1px solid rgba(20,15,5,0.06);
  background:linear-gradient(180deg, #FAF7F0 0%, #FFFFFF 100%);
  border-top-left-radius:10px;
  border-top-right-radius:10px;
}
#battery .bat-side-panel-eyebrow{
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:#7A766E;
}
#battery .bat-side-panel-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px 14px;
  padding:14px 16px 16px;
  align-items:start;        /* align labels at the top so columns sit straight */
}
/* Title field and caption both span the full body width */
#battery .bat-side-panel-body .bat-field-title,
#battery .bat-side-panel-body .bat-side-panel-caption{grid-column:1 / -1}

/* Premorbid SS is the only input in its panel — span the row but cap width
   so the input doesn't stretch awkwardly across the whole panel */
#battery .bat-side-panel-body .bat-field-prem-score{
  grid-column:1 / -1;
  max-width:240px;
}

/* Field styling shared by both panels */
#battery .bat-field-compact{margin-bottom:0!important}
#battery .bat-field-compact label{
  font-family:var(--sans);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#7A766E;
  margin-bottom:5px;
  display:block;
}
#battery .bat-field-compact .hint{
  font-size:9px;
  font-weight:400;
  letter-spacing:0.04em;
  text-transform:none;
  color:#9A968D;
  margin-left:6px;
}
#battery .bat-field-compact select,
#battery .bat-field-compact input{
  width:100%;
  padding:8px 10px;
  font-family:var(--sans);
  font-size:13px;
  border:1px solid rgba(20,15,5,0.14);
  border-radius:6px;
  background:#FFFFFF;
}
#battery .bat-field-compact select:focus,
#battery .bat-field-compact input:focus{
  outline:none;
  border-color:rgba(156,61,42,0.45);
  box-shadow:0 0 0 3px rgba(156,61,42,0.12);
}

/* Premorbid header has the enable toggle inline with the eyebrow */
#battery .bat-premorbid-checkbox{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  color:#1A1A1A;
  cursor:pointer;
  user-select:none;
}
#battery .bat-premorbid-checkbox input[type="checkbox"]{
  margin:0;
  width:14px;height:14px;
  accent-color:var(--accent);
  cursor:pointer;
}

/* When comparison is on, accent the panel border and header */
#battery .bat-premorbid-block[data-enabled="true"]{
  border-color:rgba(156,61,42,0.22);
}
#battery .bat-premorbid-block[data-enabled="true"] .bat-side-panel-head{
  background:linear-gradient(180deg, rgba(156,61,42,0.05) 0%, #FFFFFF 100%);
  border-bottom-color:rgba(156,61,42,0.18);
}

/* When comparison is OFF, grey out the blurb and body (head stays clear
   so the checkbox is always interactive). */
#battery .bat-premorbid-block .bat-side-panel-blurb,
#battery .bat-premorbid-block .bat-side-panel-body{
  opacity:0.45;
  pointer-events:none;
  transition:opacity 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
#battery .bat-premorbid-block[data-enabled="true"] .bat-side-panel-blurb,
#battery .bat-premorbid-block[data-enabled="true"] .bat-side-panel-body{
  opacity:1;
  pointer-events:auto;
}

/* Hide the legacy long help paragraph if it survives anywhere */
#battery .bat-premorbid-help{display:none!important}

/* Plain-language blurb under a panel head */
#battery .bat-side-panel-blurb{
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1.55;
  color:#7A766E;
  padding:8px 16px 0;
  margin:0;
}
#battery .bat-side-panel-blurb abbr{
  text-decoration:none;
  border-bottom:1px dotted rgba(20,15,5,0.28);
  cursor:help;
}
#battery .bat-side-panel-blurb strong{
  font-family:var(--mono);
  font-weight:700;
  color:#5A5A5A;
  letter-spacing:0;
}

/* Caption that spans the full panel body, sits under the field grid */
#battery .bat-side-panel-caption{
  margin:0;
  padding-top:4px;
  border-top:1px solid rgba(20,15,5,0.04);
  font-family:var(--sans);
  font-size:10.5px;
  line-height:1.5;
  color:#8A867E;
}
#battery .bat-side-panel-caption strong{
  font-family:var(--mono);
  font-weight:700;
  color:#5A5A5A;
}

/* ---- TABLE BLOCK with auto-fill in header ---- */
#battery .bat-table-block{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.08);
  border-radius:10px;
  box-shadow:0 1px 2px rgba(60,40,20,0.03);
  /* No overflow:hidden — would clip the auto-fill dropdown.
     Inner sections explicitly round their own corners instead. */
}
#battery .bat-table-head{
  padding:10px 14px;
  border-bottom:1px solid rgba(20,15,5,0.06);
  background:linear-gradient(180deg, #FAF7F0 0%, #FFFFFF 100%);
  border-top-left-radius:10px;
  border-top-right-radius:10px;
  /* Sit above the table so any dropdown layered from here stacks on top */
  position:relative;
  z-index:5;
}
/* Auto-fill dropdown lifts above the table rows */
#battery .bat-autofill-combo .combo-list{
  z-index:60;
  box-shadow:0 12px 28px rgba(60,40,20,0.14), 0 2px 6px rgba(60,40,20,0.08);
}
#battery .bat-autofill-inline{
  display:flex;
  align-items:center;
  gap:8px;
  position:relative;
}
#battery .bat-autofill-icon{
  width:16px;height:16px;
  color:#9A968D;
  flex-shrink:0;
}
#battery .bat-autofill-combo{
  flex:1;
  position:relative;
  width:auto!important;
}
#battery .bat-autofill-input{
  width:100%;
  padding:9px 12px;
  font-family:var(--sans);
  font-size:13.5px;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.14);
  border-radius:7px;
  color:#1A1A1A;
}
#battery .bat-autofill-input::placeholder{color:#9A968D;font-style:italic}
#battery .bat-autofill-input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(156,61,42,0.12);
}

/* Table inside the block has no top margin */
#battery .bat-table-block > .input-table{
  margin-top:0!important;
  border-radius:0;
}

/* Tighter rows so 8-subtest batteries fit without scrolling */
#battery .bat-table-block .input-table tbody td{
  padding-top:6px!important;
  padding-bottom:6px!important;
}

/* Rebalance column widths — Subtest narrower, Classification roomier */
#battery .bat-table-block .input-table th[style*="min-width:200px"]{
  min-width:180px!important;
  width:32%!important;
}
#battery .bat-table-block .input-table .bat-score-head{width:108px!important}
#battery .bat-table-block .input-table th:nth-child(3){width:80px!important}    /* Raw */
#battery .bat-table-block .input-table th:nth-child(5){width:84px!important}    /* Percentile */
#battery .bat-table-block .input-table th:nth-child(6){width:170px!important}   /* Classification */

/* Action row sits inside the table block, flush-left */
#battery .bat-table-block .add-row-actions{
  margin:10px 14px 12px;
  gap:10px;
}

/* =====================================================================
   WORKING REPORT BUNDLE v2
   - Hide the per-page rendered APA tables (drawer is now source of truth).
     Toolbar buttons remain so users can Copy / CSV / Add-to-report.
   - Drawer renders FULL APA tables, drag-to-reorder, floating ↔ docked.
   ===================================================================== */

/* ---- Hide every page's inline APA panel entirely ----
   The Working Report popup is now the canonical place where rendered APA
   tables live. The per-page Copy table / Download CSV buttons are duplicated
   by the popup's Copy / Export Word actions, so the whole panel goes. */
.apa-wrap{display:none!important}

/* ---- Floating root container ---- */
.rb-root{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9000;
  font-family:var(--sans);
}

/* CRITICAL: the HTML [hidden] attribute must always win over any display rule
   on .rb-chip / .rb-drawer below — otherwise minimise/expand never actually
   show or hide anything. */
.rb-root [hidden]{display:none!important}

/* ---- CHIP ----
   Dark floating pill — three-stop gradient, refined inner highlights and a
   gentle hover-lift with a hint of warm accent so the relationship to the
   site's terracotta system is felt without dominating. */
.rb-chip{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:9001;
  pointer-events:auto;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 16px 10px 12px;
  background:linear-gradient(180deg, #2E2E2E 0%, #1A1A1A 55%, #0B0B0B 100%);
  color:#FFFFFF;
  border:1px solid #0A0A0A;
  border-radius:999px;
  cursor:pointer;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:600;
  letter-spacing:0.01em;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.14),       /* highlight on top edge */
    inset 0 -1px 0 rgba(0,0,0,0.50),            /* depth on bottom edge */
    0 1px 2px rgba(0,0,0,0.20),
    0 6px 16px rgba(0,0,0,0.18),
    0 14px 32px rgba(0,0,0,0.14);
  transition:right 240ms cubic-bezier(0.2,0.8,0.2,1),
             transform 220ms cubic-bezier(0.2,0.8,0.2,1),
             box-shadow 220ms cubic-bezier(0.2,0.8,0.2,1),
             border-color 220ms ease;
}
.rb-chip:hover{
  transform:translateY(-3px);
  border-color:rgba(156,61,42,0.55);            /* warm accent on hover */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.18),
    inset 0 -1px 0 rgba(0,0,0,0.55),
    0 2px 4px rgba(0,0,0,0.24),
    0 10px 22px rgba(0,0,0,0.24),
    0 22px 44px rgba(0,0,0,0.20),
    0 0 0 4px rgba(156,61,42,0.08);             /* subtle terracotta aura */
}
.rb-chip:active{transform:translateY(-1px)}
.rb-chip:focus-visible{
  outline:2px solid rgba(156,61,42,0.85);
  outline-offset:3px;
}

/* Icon — sit it in a small circular tile so it reads as a deliberate
   product mark rather than a stray glyph */
.rb-chip-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.04));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    inset 0 -1px 0 rgba(0,0,0,0.30);
  flex-shrink:0;
}
.rb-chip-icon svg{
  width:14px;height:14px;
  color:rgba(255,255,255,0.92);
  display:block;
}

/* Label — primary line + lighter subtitle on the same row for a
   compact two-tier look. */
.rb-chip-label{
  display:inline-flex;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
  line-height:1;
}
.rb-chip-sub{
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.55);
}

/* Count badge — terracotta with refined glow, hangs slightly higher
   to imply notification-style attention */
.rb-chip-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:linear-gradient(180deg, #B14A33 0%, #9C3D2A 100%);
  color:#FFFFFF;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.20),
    0 0 0 1.5px #0B0B0B,                        /* dark ring against pill body */
    0 0 0 2.5px rgba(156,61,42,0.40),           /* warm halo */
    0 1px 2px rgba(0,0,0,0.40);
  margin-left:2px;
}

/* Idle floating effect — transform-only animation for smoothness.
   Box-shadow stays constant (animating it triggers paint and looks
   jumpy on low-end machines). Pauses on hover and when the drawer
   is open. */
.rb-chip{
  animation:rb-chip-float 4200ms cubic-bezier(0.45, 0, 0.55, 1) infinite;
  will-change:transform;
}
.rb-chip:hover, .rb-root.is-open .rb-chip{animation:none}
@keyframes rb-chip-float{
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-4px); }
}

/* Sharp pulse when an APA table is added — overrides the float cycle
   for one beat to confirm the auto-capture worked. */
.rb-root.rb-flash .rb-chip{animation:rb-pulse 700ms cubic-bezier(0.2,0.8,0.2,1)}
@keyframes rb-pulse{
  0%   { transform:scale(1);    box-shadow:0 0 0 0 rgba(156,61,42,0.65), 0 6px 18px rgba(0,0,0,0.18); }
  60%  { transform:scale(1.05); box-shadow:0 0 0 16px rgba(156,61,42,0), 0 12px 26px rgba(0,0,0,0.22); }
  100% { transform:scale(1);    box-shadow:0 0 0 0 rgba(156,61,42,0),    0 6px 18px rgba(0,0,0,0.18); }
}

/* Chip stays anchored to the bottom-right corner of the viewport in BOTH states.
   The drawer "pops up" out of and back into the chip's corner. */

/* ---- DRAWER: always docked when shown (floating removed) ---- */
/* ---- DRAWER: floating popover above the chip (fixed size, no resize) ---- */
.rb-root.is-open .rb-drawer{
  position:fixed;
  right:20px;
  bottom:74px;          /* sits just above the chip */
  width:760px !important;          /* fixed width — overrides any persisted inline width */
  max-width:calc(100vw - 40px);
  height:auto;
  max-height:min(80vh, 820px);
  border:1px solid rgba(15,18,24,0.10);
  border-radius:14px;
  background:#FFFFFF;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  /* Stronger, cooler shadow stack so the panel reads as floating above the
     warm page surface rather than fused with it. */
  box-shadow:
    0 1px 1px rgba(15,18,24,0.04),
    0 8px 18px rgba(15,18,24,0.10),
    0 28px 60px rgba(15,18,24,0.18);
  /* Bubble out of the chip — origin shifted ~95px LEFT and ~34px BELOW the
     drawer's bottom-right corner, so the scale-from-zero point lands on the
     chip's centre rather than just near it. */
  transform-origin:calc(100% - 95px) calc(100% + 34px);
  animation:rb-drawer-bubble-in 360ms cubic-bezier(0.2, 0.9, 0.4, 1.06);
  pointer-events:auto;
}
@keyframes rb-drawer-bubble-in{
  0%   { transform:scale(0);    opacity:0; }
  35%  { opacity:1; }
  100% { transform:scale(1);    opacity:1; }
}
.rb-root.is-closing .rb-drawer{
  transform-origin:calc(100% - 95px) calc(100% + 34px);
  animation:rb-drawer-bubble-out 240ms cubic-bezier(0.55, 0, 0.78, 0.4) forwards;
  pointer-events:none;
}
@keyframes rb-drawer-bubble-out{
  0%   { transform:scale(1); opacity:1; }
  100% { transform:scale(0); opacity:0; }
}
/* Drawer floats now — no need to displace body content */
body.rb-docked-active{padding-right:0}
@media (max-width:520px){
  .rb-root.is-open .rb-drawer{width:calc(100vw - 40px); right:20px}
  .rb-root.is-open .rb-chip{right:20px}
}
/* Drawer head action buttons (minimise / maximise) */
.rb-drawer-head-actions{
  display:flex;
  align-items:center;
  gap:4px;
  flex-shrink:0;
}
.rb-head-btn{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:1px solid transparent;
  border-radius:6px;
  color:#5A5A5A;
  cursor:pointer;
  padding:0;
  transition:background 160ms ease, color 160ms ease, border-color 160ms ease;
}

/* ---- View-mode toggle (Edit / Preview) ----
   Segmented control. Active segment carries a white "lifted" surface;
   inactive sits flush. Sits between the title and the head action buttons. */
.rb-mode-toggle{
  display:inline-flex;
  align-items:center;
  gap:2px;
  padding:3px;
  background:rgba(15,18,24,0.05);
  border:1px solid rgba(15,18,24,0.06);
  border-radius:8px;
  margin-right:6px;
}
.rb-mode-btn{
  display:inline-flex;
  align-items:center;
  gap:5px;
  height:24px;
  padding:0 10px;
  background:transparent;
  border:none;
  border-radius:5px;
  color:#71777E;
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:-0.005em;
  cursor:pointer;
  white-space:nowrap;
  transition:background 140ms ease, color 140ms ease, box-shadow 140ms ease;
}
.rb-mode-btn svg{width:11px;height:11px;flex-shrink:0}
.rb-mode-btn:hover:not(.is-active){
  color:#0F1218;
}
.rb-mode-btn.is-active{
  background:#FFFFFF;
  color:#0F1218;
  box-shadow:
    0 1px 0 rgba(15,18,24,0.04),
    0 1px 3px rgba(15,18,24,0.08);
}
.rb-head-btn svg{width:14px;height:14px;pointer-events:none}
.rb-head-btn:hover{
  background:rgba(20,15,5,0.06);
  color:#1A1A1A;
  border-color:rgba(20,15,5,0.10);
}

/* Maximise/restore icon swap */
.rb-head-btn .rb-icon-restore{display:none}
.rb-root.is-maximised .rb-head-btn .rb-icon-maximise{display:none}
.rb-root.is-maximised .rb-head-btn .rb-icon-restore{display:block}

/* Maximised state — drawer fills nearly the whole viewport, leaving small margins
   so the chip stays visible at the bottom-right corner */
.rb-root.is-maximised.is-open .rb-drawer{
  /* "A bit bigger" — not full-screen, just enough extra room for wider tables */
  width:1000px !important;
  max-width:calc(100vw - 40px);
  max-height:min(88vh, 920px) !important;
}
/* Smooth resize between maximised and restored states */
.rb-root.is-open .rb-drawer{
  transition:width 280ms cubic-bezier(0.2, 0.8, 0.2, 1),
             max-height 280ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* ---- TRANSIENT "View live report" PROMPT ----
   Appears next to the chip whenever a new tool's table lands in the bundle
   while the drawer is minimised. Gentle vertical bob to draw attention,
   opacity-only fade in/out so the bounce animation doesn't snap. */
.rb-add-prompt{
  position:fixed;
  right:20px;   /* aligned to the chip's right edge */
  bottom:82px;  /* sits ABOVE the chip with a bit more breathing room */
  z-index:9002; /* above the chip */
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 14px 9px 12px;
  /* Green gradient — same family as the wizard Next / Export Word buttons */
  background:linear-gradient(180deg, #3DA56B 0%, #2E8552 100%);
  color:#FFFFFF;
  border:1px solid #246B43;
  border-radius:999px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:0.01em;
  cursor:pointer;
  box-shadow:
    0 1px 2px rgba(36,107,67,0.30),
    0 6px 18px rgba(46,133,82,0.30),
    inset 0 1px 0 rgba(255,255,255,0.18);
  opacity:0;
  pointer-events:auto;
  /* Fade for entry/exit; bottom-transition smooths stack reflow when other pills
     fly away. The bob animation uses transform separately so the two don't fight. */
  transition:opacity 280ms cubic-bezier(0.2,0.8,0.2,1),
             bottom  240ms cubic-bezier(0.2,0.8,0.2,1);
}
.rb-add-prompt svg{width:13px;height:13px;color:#FFFFFF;pointer-events:none;flex-shrink:0}
.rb-add-prompt span{
  max-width:340px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  display:inline-block;
}
.rb-add-prompt:hover{
  background:linear-gradient(180deg, #45B375 0%, #34935C 100%);
}
.rb-add-prompt.is-visible{
  opacity:1;
  animation:rb-add-prompt-bob 1100ms ease-in-out infinite;
}
/* Gentle vertical bob during the hold phase — the "look here" nudge */
@keyframes rb-add-prompt-bob{
  0%, 100% { transform:translateY(0); }
  50%      { transform:translateY(-5px); }
}

/* Phase 3: fly DOWN into the chip. Anticipation pull-up at 18%, then accelerates
   downward while shrinking + fading. The fly distance is per-pill (set via
   --rb-fly-distance), so pills stacked higher fly further to reach the chip. */
.rb-add-prompt.is-flying{
  opacity:1;
  animation:rb-add-prompt-fly 540ms cubic-bezier(0.55, 0, 0.78, 0.4) forwards;
  pointer-events:none;
  /* Don't transition bottom while flying — the transform handles motion */
  transition:none;
}
@keyframes rb-add-prompt-fly{
  0%   { opacity:1; transform:translate(0, 0)    scale(1);    }
  18%  { opacity:1; transform:translate(0, -8px) scale(1.05); } /* anticipation pull-up */
  100% { opacity:0; transform:translate(0, var(--rb-fly-distance, 50px)) scale(0.22); }
}
/* Tail removed per request — the bubble alone is enough. */
.rb-add-prompt::after{ content: none; }

/* =====================================================================
   ONBOARDING HINT — speech bubble pinned just above the Working Report
   chip, with a built-in tail pointing down at the chip.
   No viewport math, no media query gymnastics. The bubble sits where
   the chip is (bottom-right) so the relationship between hint and
   target is unambiguous regardless of viewport size.
   ===================================================================== */
.rb-onboarding{
  position:fixed;
  right:20px;
  bottom:80px;          /* chip lives at bottom:18-20 with ~52px height — 80 places this just above */
  z-index:8999;
  pointer-events:none;
  animation:rb-onboard-bob 2800ms ease-in-out infinite;
}
@keyframes rb-onboard-bob{
  0%,100% { transform:translateY(0); }
  50%     { transform:translateY(-4px); }
}
.rb-onboarding-bubble{
  position:relative;
  width:340px;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.10);
  border-left:3px solid #9C3D2A;
  border-radius:12px;
  box-shadow:0 10px 28px rgba(60,40,20,0.18),
             0 24px 48px rgba(60,40,20,0.12);
  padding:18px 40px 16px 20px;
  font-family:var(--sans);
  pointer-events:auto;
}
.rb-onboarding-title{
  font-family:var(--serif);
  font-size:16px;
  font-weight:600;
  color:#1A1A1A;
  letter-spacing:-0.012em;
  line-height:1.25;
  margin-bottom:10px;
}
.rb-onboarding-body p{
  margin:0 0 8px 0;
  font-size:12.5px;
  line-height:1.5;
  color:#4A4540;
}
.rb-onboarding-body p:last-child{margin-bottom:0}
.rb-onboarding-body strong{
  color:#1A1A1A;
  font-weight:600;
}
.rb-onboarding-cta{
  margin-top:11px;
  padding-top:11px;
  border-top:1px solid rgba(20,15,5,0.06);
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  color:#9C3D2A;
  letter-spacing:0.005em;
}
.rb-onboarding-dismiss{
  position:absolute;
  top:8px; right:8px;
  width:24px; height:24px;
  display:inline-flex;align-items:center;justify-content:center;
  background:transparent;
  border:none;
  border-radius:50%;
  color:#9A968D;
  cursor:pointer;
  padding:0;
  transition:color 160ms ease, background 160ms ease;
}
.rb-onboarding-dismiss:hover{color:#1A1A1A;background:rgba(20,15,5,0.06)}
.rb-onboarding-dismiss svg{width:11px;height:11px;pointer-events:none}

/* Speech-bubble tail — a rotated square tucked under the bubble's
   bottom-right corner, aligned roughly above the chip so it visually
   "drops" into the button. */
.rb-onboarding-tail{
  position:absolute;
  right:40px;
  bottom:-8px;
  width:16px;
  height:16px;
  background:#FFFFFF;
  border-right:1px solid rgba(20,15,5,0.10);
  border-bottom:1px solid rgba(20,15,5,0.10);
  transform:rotate(45deg);
  box-shadow:2px 2px 4px rgba(60,40,20,0.04);
}

/* Narrow viewports (phones) — shrink the bubble so it fits */
@media (max-width:480px){
  .rb-onboarding{right:12px;bottom:74px}
  .rb-onboarding-bubble{
    width:calc(100vw - 24px);
    max-width:320px;
    padding:14px 36px 12px 16px;
  }
  .rb-onboarding-title{font-size:14.5px;margin-bottom:8px}
  .rb-onboarding-body p{font-size:11.5px;margin-bottom:6px}
  .rb-onboarding-cta{margin-top:9px;padding-top:9px;font-size:11.5px}
}
.rb-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:14px 18px;
  background:#FFFFFF;
  border-bottom:1px solid rgba(15,18,24,0.08);
}
.rb-drawer-title{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:var(--sans);
  font-size:14.5px;
  font-weight:600;
  color:#0F1218;
  letter-spacing:-0.012em;
}
.rb-drawer-title svg{width:15px;height:15px;color:#71777E}
.rb-drawer-count{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(15,18,24,0.05);
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  color:#4A5260;
  margin-left:4px;
  font-style:normal;
  letter-spacing:0;
}
/* (icon-btn / head-actions / layout-toggle styles removed — drawer head no longer
   has any action buttons; the always-visible chip is the single toggle.) */

/* Make sure clicks on icons inside any drawer button land on the button itself,
   not on internal <path>/<circle> elements (which would defeat event delegation). */
.rb-root [data-rb-action] svg,
.rb-root [data-rb-remove] svg,
.rb-root .rb-item-grip svg,
.rb-root .rb-chip svg{
  pointer-events:none;
}

/* ---- Drawer body ----
   Cool neutral grey surface so item cards (white) have clear figure/ground
   separation, AND the whole panel chromatically separates from the warm
   page background underneath. */
.rb-drawer-body{
  flex:1;
  overflow-y:auto;
  padding:14px 16px;
  background:#F5F6F8;
}
/* Scrollbar — visible but restrained. Wider track, more opaque thumb,
   subtle inset so it reads as part of the panel chrome. */
.rb-drawer-body::-webkit-scrollbar{width:12px;background:transparent}
.rb-drawer-body::-webkit-scrollbar-track{
  background:rgba(15,18,24,0.04);
  border-left:1px solid rgba(15,18,24,0.04);
}
.rb-drawer-body::-webkit-scrollbar-thumb{
  background:rgba(15,18,24,0.28);
  border-radius:8px;
  border:3px solid #F5F6F8;          /* match drawer-body bg, creates inset margin */
  background-clip:padding-box;
  min-height:40px;
}
.rb-drawer-body::-webkit-scrollbar-thumb:hover{background:rgba(15,18,24,0.42);background-clip:padding-box}
.rb-drawer-body::-webkit-scrollbar-thumb:active{background:rgba(15,18,24,0.52);background-clip:padding-box}
/* Firefox */
.rb-drawer-body{scrollbar-width:thin;scrollbar-color:rgba(15,18,24,0.32) rgba(15,18,24,0.04)}

/* =====================================================================
   PREVIEW MODE — Word-style print preview
   The drawer body becomes a darker "page room" surface; items are
   rendered onto a single white sheet with proper document margins.
   Editing chrome (drag, number, remove, copy/options) hidden so the
   user sees exactly what their report will look like on paper.
   ===================================================================== */
.rb-drawer-body.is-preview-mode{
  background:#C8C5BE;                      /* dimmer gray, like Word's print view */
  padding:28px 22px;
}
.rb-drawer-body.is-preview-mode .rb-item{
  /* Each item is a "page" of the document. Stacked vertically with a
     small gap so multiple items read as separate sheets. */
  background:#FFFFFF;
  border:1px solid rgba(15,18,24,0.10);
  border-radius:0;                         /* sharp corners — paper, not card */
  margin:0 0 22px;
  padding:64px 72px 64px;                  /* ~1in margins at typical zoom */
  box-shadow:
    0 1px 2px rgba(15,18,24,0.10),
    0 6px 18px rgba(15,18,24,0.16);
  max-width:780px;
  margin-left:auto;
  margin-right:auto;
  animation:none;                          /* don't re-animate on toggle */
}
.rb-drawer-body.is-preview-mode .rb-item:last-child{margin-bottom:0}
.rb-drawer-body.is-preview-mode .rb-item:hover{
  /* No hover lift — preview mode is read-only */
  border-color:rgba(15,18,24,0.10);
  box-shadow:
    0 1px 2px rgba(15,18,24,0.10),
    0 6px 18px rgba(15,18,24,0.16);
}

/* Hide all editing chrome inside items in preview mode */
.rb-drawer-body.is-preview-mode .rb-item-header{display:none}
.rb-drawer-body.is-preview-mode .rb-item-rendered{
  padding:0;
  background:transparent;
  border-radius:0;
}

/* Empty state in preview — a single blank page */
.rb-drawer-body.is-preview-mode .rb-empty{
  background:#FFFFFF;
  border:1px solid rgba(15,18,24,0.10);
  box-shadow:
    0 1px 2px rgba(15,18,24,0.10),
    0 6px 18px rgba(15,18,24,0.16);
  margin:0 auto;
  max-width:780px;
  padding:96px 28px;
}

/* Different scrollbar against the darker body */
.rb-drawer-body.is-preview-mode::-webkit-scrollbar-track{
  background:rgba(15,18,24,0.10);
}
.rb-drawer-body.is-preview-mode::-webkit-scrollbar-thumb{
  border-color:#C8C5BE;
  background:rgba(15,18,24,0.40);
}

/* ---- Empty state ---- */
.rb-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 28px;
  color:#9A968D;
  gap:8px;
}
.rb-empty svg{width:38px;height:38px;color:#C7C2B6;margin-bottom:6px}
.rb-empty-title{font-family:var(--serif);font-size:16px;color:#5A5A5A;font-weight:500}
.rb-empty-sub{font-size:12.5px;line-height:1.55;color:#9A968D;max-width:340px}
.rb-empty-sub strong{color:#5A5A5A;font-weight:600}

/* ---- ITEM (renders the full APA table inside) ---- */
.rb-item{
  background:#FFFFFF;
  border:1px solid rgba(15,18,24,0.08);
  border-radius:10px;
  margin:10px 0;
  /* overflow:visible so the per-item Options menu can extend below the item.
     Header and rendered child elements round their own outer corners so the
     loss of clipping isn't visible. */
  overflow:visible;
  box-shadow:0 1px 2px rgba(15,18,24,0.04);
  transition:border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease;
  animation:rb-item-in 240ms cubic-bezier(0.2,0.8,0.2,1);
}
.rb-item-header{border-top-left-radius:10px;border-top-right-radius:10px}
.rb-item-rendered{border-bottom-left-radius:10px;border-bottom-right-radius:10px}
@keyframes rb-item-in{
  from { transform:translateY(-4px); opacity:0; }
  to   { transform:translateY(0);    opacity:1; }
}
.rb-item:hover{border-color:rgba(15,18,24,0.16);box-shadow:0 4px 14px rgba(15,18,24,0.06)}

/* Source item being dragged — fade and slight desaturation */
.rb-item.is-dragging{
  opacity:0.35;
  filter:grayscale(0.4);
  cursor:grabbing;
}

/* Drop indicators — instead of a thin border line, expand a margin
   on the relevant edge with an accent-coloured bar inside it. Reads as
   a "slot" opening up where the item will land. */
.rb-item.is-drop-before{
  border-top-color:transparent;
  margin-top:18px;
  position:relative;
}
.rb-item.is-drop-before::before{
  content:"";
  position:absolute;
  left:0;right:0;
  top:-12px;
  height:4px;
  border-radius:2px;
  background:#9C3D2A;
  box-shadow:0 0 0 4px rgba(156,61,42,0.14);
  animation:rb-drop-pulse 900ms ease-in-out infinite;
}
.rb-item.is-drop-after{
  border-bottom-color:transparent;
  margin-bottom:18px;
  position:relative;
}
.rb-item.is-drop-after::after{
  content:"";
  position:absolute;
  left:0;right:0;
  bottom:-12px;
  height:4px;
  border-radius:2px;
  background:#9C3D2A;
  box-shadow:0 0 0 4px rgba(156,61,42,0.14);
  animation:rb-drop-pulse 900ms ease-in-out infinite;
}
@keyframes rb-drop-pulse{
  0%,100% { opacity:0.85; transform:scaleX(1);    }
  50%     { opacity:1;    transform:scaleX(1.01); }
}
.rb-item{
  transition:border-color 160ms ease,
             box-shadow 160ms ease,
             opacity 160ms ease,
             margin-top 200ms cubic-bezier(0.2,0.8,0.2,1),
             margin-bottom 200ms cubic-bezier(0.2,0.8,0.2,1);
}

.rb-item-header{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:#FFFFFF;
  border-bottom:1px solid rgba(15,18,24,0.06);
}
/* Drag handle — fixed-size pill so drag detection isn't disrupted by
   layout shifts. Cursor changes to grab/grabbing; background lights up on
   hover/focus to make the affordance visible. */
.rb-item-grip{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:32px;
  cursor:grab;
  color:#71777E;
  flex-shrink:0;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  transition:color 140ms ease, background 140ms ease, border-color 140ms ease;
  -webkit-user-drag:element;                 /* Safari/Chrome explicit */
}
.rb-item-grip-icon{
  width:14px;height:18px;
  flex-shrink:0;
  pointer-events:none;                       /* clicks pass through to the grip */
}
.rb-item:hover .rb-item-grip{
  color:#4A5260;
  background:rgba(15,18,24,0.04);
}
.rb-item-grip:hover,
.rb-item-grip:focus-visible{
  color:#0F1218;
  background:rgba(15,18,24,0.08);
  border-color:rgba(15,18,24,0.14);
}
.rb-item-grip:active{cursor:grabbing}
.rb-item-grip:focus-visible{
  outline:2px solid rgba(15,18,24,0.30);
  outline-offset:2px;
}
.rb-item-num{
  flex:0 0 auto;
  width:22px;height:22px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  background:rgba(20,15,5,0.06);
  color:#5A5A5A;
  font-family:var(--mono);
  font-size:11px;
  font-weight:700;
}
.rb-item-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.rb-item-source{
  font-family:var(--sans);
  font-size:11px;
  font-weight:600;
  letter-spacing:0.10em;
  text-transform:uppercase;
  color:#7A766E;
}
.rb-item-time{
  font-family:var(--sans);
  font-size:10.5px;
  color:#9A968D;
}
.rb-item-remove{
  flex:0 0 auto;
  width:24px;height:24px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:50%;
  border:1px solid rgba(214,58,47,0.30);
  background:rgba(214,58,47,0.06);
  color:#B22A20;
  cursor:pointer;
  padding:0;
  transition:background 160ms ease, color 160ms ease, transform 160ms ease;
}
.rb-item-remove svg{width:10px;height:10px}
.rb-item-remove:hover{
  background:#D63A2F;
  color:#FFFFFF;
  border-color:#B22A20;
  transform:scale(1.06);
}

/* Per-item action cluster (Copy + Options ⋯) */
.rb-item-actions{
  display:inline-flex;
  align-items:center;
  gap:4px;
  flex-shrink:0;
}
/* Per-item Copy / Options buttons — bigger, with text labels */
.rb-item-actionbtn{
  height:30px;
  padding:0 12px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.16);
  border-radius:6px;
  color:#3F3F3F;
  font-family:var(--sans);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.01em;
  cursor:pointer;
  white-space:nowrap;
  transition:background 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}
.rb-item-actionbtn svg{width:13px;height:13px;color:#7A766E;flex-shrink:0;transition:color 160ms ease}
.rb-item-actionbtn:hover{
  background:rgba(20,15,5,0.04);
  color:#1A1A1A;
  border-color:rgba(20,15,5,0.30);
}
.rb-item-actionbtn:hover svg{color:#1A1A1A}
.rb-item-options-wrap{position:relative}
.rb-item-options.is-open,
.rb-item-options-wrap:has(.rb-item-menu.is-open) .rb-item-options{
  background:rgba(20,15,5,0.08);
  color:#1A1A1A;
  border-color:rgba(20,15,5,0.36);
}

.rb-item-menu{
  position:absolute;
  right:0;
  top:calc(100% + 6px);
  min-width:184px;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.12);
  border-radius:8px;
  box-shadow:0 8px 24px rgba(60,40,20,0.14), 0 1px 2px rgba(60,40,20,0.06);
  padding:4px;
  z-index:30;
  display:none;
  animation:rb-menu-in 160ms cubic-bezier(0.2,0.8,0.2,1);
}
.rb-item-menu.is-open{display:block}
@keyframes rb-menu-in{
  from { opacity:0; transform:translateY(-4px); }
  to   { opacity:1; transform:translateY(0); }
}
.rb-item-menu-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:8px 10px;
  background:transparent;
  border:none;
  border-radius:5px;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:500;
  color:#1A1A1A;
  text-align:left;
  cursor:pointer;
  transition:background 120ms ease, color 120ms ease;
}
.rb-item-menu-item svg{width:13px;height:13px;color:#7A766E;flex-shrink:0;transition:color 120ms ease}
.rb-item-menu-item:hover:not(:disabled){background:rgba(20,15,5,0.05)}
.rb-item-menu-item:hover:not(:disabled) svg{color:#1A1A1A}
.rb-item-menu-item:disabled{
  opacity:0.32;
  cursor:not-allowed;
}
.rb-item-menu-sep{
  height:1px;
  background:rgba(20,15,5,0.07);
  margin:4px 6px;
}
/* Section heading inside the options menu (e.g. "Columns") */
.rb-item-menu-section{
  font-family:var(--sans);
  font-size:9.5px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:#9A968D;
  padding:6px 10px 4px;
  user-select:none;
}
/* Column-toggle row: checkbox-style on the left, label on the right */
.rb-col-toggle{
  font-weight:500;
}
.rb-col-check{
  width:14px;height:14px;
  border:1px solid rgba(20,15,5,0.30);
  border-radius:3px;
  background:#FFFFFF;
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:background 140ms ease, border-color 140ms ease;
}
.rb-col-check svg{
  width:9px;height:9px;
  color:#FFFFFF;
  opacity:0;
  transition:opacity 120ms ease;
}
.rb-col-check.is-checked{
  background:var(--accent);
  border-color:var(--accent);
}
.rb-col-check.is-checked svg{opacity:1}
.rb-col-label{flex:1;text-align:left}
.rb-item-menu-danger{color:#B22A20}
.rb-item-menu-danger svg{color:#B22A20}
.rb-item-menu-danger:hover{background:rgba(214,58,47,0.08); color:#B22A20}
.rb-item-menu-danger:hover svg{color:#B22A20}

/* The actual rendered APA table inside the item */
.rb-item-rendered{
  padding:14px 18px 16px;
  overflow:hidden;
  background:#FFFFFF;
  max-height:1500px;
  opacity:1;
  transition:max-height 260ms cubic-bezier(0.2,0.8,0.2,1),
             opacity 200ms ease-out,
             padding 260ms cubic-bezier(0.2,0.8,0.2,1);
}
/* Reorder mode: items collapse to header strips so the user can see the
   full structure of the report at once while dragging. */
.rb-drawer-body.is-reorder-mode .rb-item-rendered{
  max-height:0;
  opacity:0;
  padding-top:0;
  padding-bottom:0;
  transition:max-height 220ms cubic-bezier(0.4,0,0.6,1),
             opacity 160ms ease-out,
             padding 220ms cubic-bezier(0.4,0,0.6,1);
}
.rb-drawer-body.is-reorder-mode .rb-item{margin:6px 0}

/* Editable column headers: subtle hover affordance, accent dashed outline on focus */
.rb-editable-header{
  cursor:text;
  outline:none;
  border-radius:2px;
  transition:background 120ms ease, box-shadow 120ms ease;
  position:relative;
}
.rb-editable-header:hover{
  background:rgba(156,61,42,0.06);
  box-shadow:inset 0 -1px 0 rgba(156,61,42,0.30);
}
.rb-editable-header:focus{
  background:rgba(156,61,42,0.10);
  box-shadow:inset 0 0 0 1px rgba(156,61,42,0.50);
}
/* Stretch the table to use the full width of the drawer so it adjusts
   when the user resizes. Inline width:auto from buildStandaloneHtml is
   intentional for Word export — !important ensures we only override in
   the browser; clipboard/Word output keeps the original inline styles. */
.rb-item-rendered .apa-table,
.rb-item-rendered table.apa-table{
  width:100%!important;
  max-width:100%;
}
.rb-item-rendered table{max-width:100%}

/* ---- Drawer footer actions ----
   Hierarchy (left → right, quiet → loud):
   • "New report" — destructive: quiet ghost text, lives left, no fill
   • "Copy all tables" — secondary: outline button
   • "Export to Excel" — secondary: outline button
   • "Export to Word"  — primary: solid dark button (the canonical end-state)
*/
.rb-drawer-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:12px 16px;
  background:#FFFFFF;
  border-top:1px solid rgba(15,18,24,0.08);
}
.rb-actions-right{display:flex;gap:8px;align-items:center}
.rb-drawer-actions .btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:600;
  padding:8px 14px;
  border-radius:7px;
  cursor:pointer;
  letter-spacing:-0.005em;
  transition:background 160ms ease, color 160ms ease, border-color 160ms ease, transform 120ms ease, box-shadow 160ms ease;
}
.rb-drawer-actions .btn:disabled{opacity:0.4;cursor:not-allowed;transform:none!important}
.rb-drawer-actions .btn svg{width:13px;height:13px;flex-shrink:0}

/* Destructive — quietest visual weight. Override the global red .btn-clear
   look so it doesn't outshout the primary action. */
.rb-drawer-actions .btn-clear{
  background:transparent!important;
  color:#71777E!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  padding:8px 10px!important;
}
.rb-drawer-actions .btn-clear:hover:not(:disabled){
  background:rgba(178,42,32,0.06)!important;
  color:#B22A20!important;
  border-color:rgba(178,42,32,0.18)!important;
  transform:none!important;
}

/* Secondary — outline buttons */
.rb-action-copy,
.rb-action-export-excel{
  background:#FFFFFF;
  color:#0F1218;
  border:1px solid rgba(15,18,24,0.14);
  box-shadow:0 1px 0 rgba(15,18,24,0.02);
}
.rb-action-copy:hover:not(:disabled),
.rb-action-export-excel:hover:not(:disabled){
  background:#F8F9FB;
  border-color:rgba(15,18,24,0.26);
  color:#0F1218;
}
.rb-action-copy svg,
.rb-action-export-excel svg{color:#4A5260}

/* Primary — solid dark button. One loudest thing. */
.rb-action-export{
  background:#0F1218;
  color:#FFFFFF;
  border:1px solid #0F1218;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 1px 2px rgba(15,18,24,0.20),
    0 4px 10px rgba(15,18,24,0.14);
}
.rb-action-export:hover:not(:disabled){
  background:#1C2027;
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 2px 4px rgba(15,18,24,0.22),
    0 8px 18px rgba(15,18,24,0.18);
}
.rb-action-export:active:not(:disabled){transform:translateY(0)}
.rb-action-export svg{color:#FFFFFF}

/* ---- "+ Add to report" button on each APA toolbar (green outline) ---- */
.apa-toolbar .rb-add-btn{
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  background:rgba(46,133,82,0.06)!important;
  border:1px solid rgba(46,133,82,0.40)!important;
  color:#246B43!important;
  font-weight:600!important;
  transition:background 160ms ease, color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 120ms ease!important;
}
.apa-toolbar .rb-add-btn:hover{
  background:#2E8552!important;
  border-color:#1F5D3A!important;
  color:#FFFFFF!important;
  box-shadow:0 2px 6px rgba(46,133,82,0.30)!important;
  transform:translateY(-1px);
}
.apa-toolbar .rb-add-btn:active{transform:translateY(0)}
.apa-toolbar .rb-add-btn svg{width:12px;height:12px}

@media print{.rb-root{display:none!important}}

/* =====================================================================
   KO-FI SUPPORT — footer link + post-export thank-you toast
   ===================================================================== */

/* Header link — quiet ghost button. Visible enough to find when looked
   for, restrained enough to never compete with primary navigation. The
   toast does the heavy lifting for support; this link is the always-on
   path for the deliberate user. */
/* Clear-all button — sits between page title and the Ko-fi link in the
   topbar. Quiet ghost style, with a red tint on hover to signal the
   destructive nature of the action. */
.topbar-clear{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
  padding:6px 11px;
  border-radius:6px;
  background:transparent;
  color:#5A5A5A;
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:-0.005em;
  border:1px solid transparent;
  cursor:pointer;
  transition:color 140ms ease, background 140ms ease, border-color 140ms ease;
  white-space:nowrap;
}
.topbar-clear svg{
  width:12px;height:12px;
  color:currentColor;
  flex-shrink:0;
  opacity:0.75;
}
.topbar-clear:hover{
  color:#B91C1C;
  background:rgba(185,28,28,0.06);
  border-color:rgba(185,28,28,0.20);
}
.topbar-clear:hover svg{opacity:1}
.topbar-clear:focus-visible{
  outline:2px solid rgba(185,28,28,0.40);
  outline-offset:2px;
}

.topbar-kofi{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
  padding:6px 11px;
  border-radius:6px;
  background:transparent;
  color:#5A5A5A;
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:-0.005em;
  text-decoration:none;
  border:1px solid transparent;
  transition:color 140ms ease, background 140ms ease, border-color 140ms ease;
  white-space:nowrap;
}
.topbar-kofi svg{
  width:12px;height:12px;
  color:currentColor;
  flex-shrink:0;
  opacity:0.75;
}
.topbar-kofi:hover{
  color:#9C3D2A;
  background:rgba(156,61,42,0.05);
  border-color:rgba(156,61,42,0.18);
}
.topbar-kofi:hover svg{opacity:1}
.topbar-kofi:focus-visible{
  outline:2px solid rgba(156,61,42,0.40);
  outline-offset:2px;
}
@media (max-width:640px){
  .topbar-kofi span{display:none}
  .topbar-kofi{padding:6px 8px}
}

/* Level 2: post-export thank-you — center-screen modal with backdrop */
/* =====================================================================
   KO-FI SUPPORT TOAST — Ko-fi brand aesthetic
   Uses Ko-fi's signature red (#FF5E5B), friendly rounded shapes,
   casual copy, and their signature "Buy me a coffee" framing. Looks
   like a Ko-fi widget, not an editorial publication.
   ===================================================================== */
.rb-kofi-toast{
  position:fixed;
  right:20px;
  bottom:88px;
  z-index:9500;
  width:min(360px, calc(100vw - 28px));
  background:#FFFFFF;
  border:1px solid rgba(15,18,24,0.08);
  border-radius:16px;
  box-shadow:
    0 1px 1px rgba(15,18,24,0.04),
    0 6px 16px rgba(15,18,24,0.10),
    0 22px 44px rgba(15,18,24,0.14);
  font-family:var(--sans);
  opacity:0;
  transform:translateY(12px) scale(0.98);
  pointer-events:auto;
  overflow:hidden;
  transition:opacity 280ms cubic-bezier(0.2,0.8,0.2,1),
             transform 320ms cubic-bezier(0.2,0.9,0.25,1);
}
.rb-kofi-toast.is-visible{
  opacity:1;
  transform:translateY(0) scale(1);
}

/* Dismiss × — top-right, quiet */
.rb-kofi-toast-close{
  position:absolute;
  top:10px; right:10px;
  width:26px; height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:none;
  border-radius:50%;
  color:#9CA0A6;
  cursor:pointer;
  padding:0;
  z-index:2;
  transition:background 140ms ease, color 140ms ease;
}
.rb-kofi-toast-close svg{width:10px;height:10px}
.rb-kofi-toast-close:hover{
  background:rgba(15,18,24,0.06);
  color:#0F1218;
}
.rb-kofi-toast-close:focus-visible{
  outline:2px solid rgba(255,94,91,0.40);
  outline-offset:1px;
}

/* Body row — Ko-fi cup medallion + headline/subtext */
.rb-kofi-toast-body{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:18px 40px 14px 18px;
}

/* Ko-fi-style cup medallion in their signature red */
.rb-kofi-toast-icon{
  flex-shrink:0;
  width:46px;
  height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#FF5E5B;
  box-shadow:
    inset 0 -1px 0 rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.18),
    0 2px 6px rgba(255,94,91,0.30);
  margin-top:1px;
}
.rb-kofi-toast-icon svg{width:24px;height:24px;display:block}

.rb-kofi-toast-msg{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-top:3px;
}
.rb-kofi-toast-title{
  font-family:var(--sans);
  font-size:15px;
  font-weight:700;
  letter-spacing:-0.014em;
  color:#0F1218;
  line-height:1.25;
}
.rb-kofi-toast-sub{
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:400;
  color:#5A6068;
  line-height:1.45;
  letter-spacing:-0.003em;
}

/* Footer row — full-width Ko-fi-style pill button + small attribution */
.rb-kofi-toast-foot{
  padding:0 18px 16px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
}

/* Ko-fi's signature red pill CTA */
.rb-kofi-toast-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:11px 18px;
  border-radius:999px;                        /* fully rounded — Ko-fi convention */
  background:#FF5E5B;
  color:#FFFFFF;
  font-family:var(--sans);
  font-size:13.5px;
  font-weight:700;
  letter-spacing:-0.003em;
  text-decoration:none;
  border:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.20),
    inset 0 -1px 0 rgba(0,0,0,0.10),
    0 2px 4px rgba(255,94,91,0.22),
    0 6px 14px rgba(255,94,91,0.18);
  transition:background 160ms ease, transform 160ms ease, box-shadow 160ms ease;
  cursor:pointer;
}
.rb-kofi-toast-cta-cup{
  width:14px;
  height:14px;
  flex-shrink:0;
  display:block;
  color:#FFFFFF;
}
.rb-kofi-toast-cta:hover{
  background:#E84946;
  transform:translateY(-1px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.22),
    inset 0 -1px 0 rgba(0,0,0,0.10),
    0 4px 8px rgba(255,94,91,0.26),
    0 10px 22px rgba(255,94,91,0.24);
}
.rb-kofi-toast-cta:active{
  transform:translateY(0);
  background:#C83B38;
}
.rb-kofi-toast-cta:focus-visible{
  outline:2px solid rgba(255,94,91,0.55);
  outline-offset:3px;
}

/* Small attribution under the button — establishes Ko-fi as the legitimate destination */
.rb-kofi-toast-credit{
  font-family:var(--sans);
  font-size:10.5px;
  font-weight:500;
  letter-spacing:0.04em;
  color:#9CA0A6;
  text-align:center;
  text-transform:lowercase;
}

/* Hide legacy classes — toast doesn't use them */
.rb-kofi-modal-backdrop,
.rb-kofi-toast-eyebrow,
.rb-kofi-toast-text,
.rb-kofi-toast-divider,
.rb-kofi-toast-actions,
.rb-kofi-toast-button,
.rb-kofi-toast-secondary,
.rb-kofi-toast-trust,
.rb-kofi-toast-line,
.rb-kofi-toast-link,
.rb-kofi-toast-dot{display:none!important}

@media (max-width:520px){
  .rb-kofi-toast{
    right:12px;
    left:12px;
    bottom:84px;
    width:auto;
  }
}

/* Hide the kofi modal when printing — it's a website element, not part of the report */
@media print{.rb-kofi-toast, .rb-kofi-modal-backdrop, .topbar-kofi{display:none!important}}

/* ============================================================================
   CHANGE ANALYSIS — DASHBOARD REVAMP (2026-05-15)
   Info-dense cards with always-visible adjustment-indicator rows so the
   five methods can be compared at a glance. The decision-aid guide list
   has been removed — each card now carries that information internally
   via filled/empty dots showing the level-up progression.
   ============================================================================ */

/* Hero block above the cards */
#change-analysis .change-overview-hero{
  margin-bottom:18px;
  max-width:780px;
}
#change-analysis .change-overview-h{
  font-family:var(--serif);
  font-size:22px;
  font-weight:600;
  color:#1A1A1A;
  letter-spacing:-0.01em;
  line-height:1.2;
  margin:0 0 6px;
}
#change-analysis .change-overview-sub{
  font-family:var(--sans);
  font-size:13.5px;
  color:#3F3F3F;
  line-height:1.55;
  margin:0;
}

/* Grid + cards (override the older spec) */
#change-analysis .change-overview-cards{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)) !important;
  align-items:stretch !important;     /* equal-height tiles when content varies */
  gap:14px !important;
}

/* Reset old hide-on-default styles so all content is visible by default. */
#change-analysis .change-overview-card .change-overview-cite,
#change-analysis .change-overview-card > p:not(.change-overview-cite),
#change-analysis .change-overview-card .change-overview-tag,
#change-analysis .change-overview-card .change-overview-title{
  max-height:none !important;
  opacity:1 !important;
  overflow:visible !important;
  pointer-events:auto !important;
  margin:revert !important;
}

/* New card shell */
#change-analysis .change-overview-card{
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-radius:12px !important;
  box-shadow:0 1px 2px rgba(20,15,5,0.04), 0 4px 16px rgba(20,15,5,0.04) !important;
  padding:18px 18px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  cursor:default !important;
  position:relative;
  transition:box-shadow var(--t-base) var(--ease), border-color var(--t-base) var(--ease), transform var(--t-base) var(--ease);
}
#change-analysis .change-overview-card:hover{
  border-color:rgba(20,15,5,0.16) !important;
  box-shadow:0 2px 6px rgba(20,15,5,0.06), 0 12px 30px rgba(20,15,5,0.07) !important;
  transform:translateY(-2px) !important;
}

/* Card head — level number + uppercase label */
#change-analysis .change-overview-card-head{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}
#change-analysis .change-overview-card-head .change-overview-num{
  font-family:var(--mono);
  font-size:10px;
  font-weight:600;
  color:#9C3D2A;
  letter-spacing:0.06em;
}
#change-analysis .change-overview-card-head .change-overview-level{
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:#7A766E;
}

/* Title */
#change-analysis .change-overview-card .change-overview-title{
  font-family:var(--serif) !important;
  font-size:16px !important;
  font-weight:600 !important;
  color:#1A1A1A !important;
  letter-spacing:-0.005em !important;
  line-height:1.2 !important;
  margin:0 0 6px !important;
}

/* One-line tagline — always visible */
#change-analysis .change-overview-card .change-overview-tag{
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.45;
  color:#3F3F3F;
  margin:0 0 4px !important;
}

/* Citation, light grey, always visible */
#change-analysis .change-overview-card .change-overview-cite{
  font-family:var(--sans) !important;
  font-size:10.5px !important;
  font-style:italic !important;
  color:#7A766E !important;
  margin:0 0 12px !important;
  line-height:1.35 !important;
}

/* Indicator list — 5 rows showing what each method adjusts for */
#change-analysis .change-overview-indicators{
  list-style:none;
  padding:0;
  margin:0 0 14px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
#change-analysis .change-overview-indicator{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:var(--sans);
  font-size:11.5px;
  line-height:1.2;
}
#change-analysis .change-overview-indicator .change-overview-dot{
  flex:0 0 8px;
  width:8px;
  height:8px;
  border-radius:50%;
  display:inline-block;
}
#change-analysis .change-overview-indicator.is-on{
  color:#1A1A1A;
  font-weight:500;
}
#change-analysis .change-overview-indicator.is-on .change-overview-dot{
  /* Sage green — reads as "on/yes/included" without screaming.
     Subtle outer ring softens the dot against white card backgrounds. */
  background:#4F8552;
  box-shadow:0 0 0 2px rgba(79,133,82,0.16);
}
#change-analysis .change-overview-indicator.is-off{
  color:#B7B0A4;
}
#change-analysis .change-overview-indicator.is-off .change-overview-dot{
  background:transparent;
  border:1px solid #D8D2C5;
}

/* Use-this-method CTA at the bottom of every card */
#change-analysis .change-overview-cta{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 14px;
  font-family:var(--sans);
  font-size:12.5px;
  font-weight:600;
  color:#9C3D2A;
  background:#FFFFFF;
  border:1px solid rgba(156,61,42,0.30);
  border-radius:8px;
  cursor:pointer;
  letter-spacing:0.01em;
  transition:background 120ms ease, color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, transform 120ms ease;
}
#change-analysis .change-overview-cta svg{
  width:14px;
  height:14px;
  transition:transform 140ms ease;
}
#change-analysis .change-overview-cta:hover{
  background:#9C3D2A;
  color:#FFFFFF;
  border-color:#9C3D2A;
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(156,61,42,0.20);
}
#change-analysis .change-overview-cta:hover svg{ transform:translateX(2px); }

/* Suppress legacy chrome that no longer belongs */
#change-analysis .change-overview-features,
#change-analysis .change-overview-meta,
#change-analysis .change-overview-card-recommended,
#change-analysis .change-overview-badge{ display:none !important; }
#change-analysis .change-overview-card.is-pinned{
  background:#FFFFFF !important;
  border-color:rgba(20,15,5,0.08) !important;
}

/* ============================================================================
   CHANGE ANALYSIS — BOLDER TAB-TO-PANEL CONNECTION
   The active tab and the panel below it share a more saturated cream and
   are visually joined by a 3px accent rail running along the active tab's
   bottom edge and the panel's top edge. Active tab now reads as part of
   the panel below, with non-active tabs sitting on a clear baseline.
   ============================================================================ */

#change-analysis .change-method-tabs{
  border-radius:var(--r-lg) var(--r-lg) 0 0 !important;
  border-bottom:none !important;
  margin-bottom:0 !important;
  overflow:visible !important;
  box-shadow:0 1px 2px rgba(20,15,5,0.04) !important;
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.08) !important;
}

/* Inactive tabs sit on a visible baseline. */
#change-analysis .change-method-tab:not(.active)::before,
#change-analysis .change-method-tab:not(.active)::after{ display:none !important; }
#change-analysis .change-method-tab:not(.active){
  background:#FFFFFF !important;
  box-shadow:inset 0 -1px 0 rgba(20,15,5,0.08) !important;
}

/* Active tab — more saturated cream + visible accent rail underneath. */
#change-analysis .change-method-tab.active{
  background:#F0E8D6 !important;          /* notably warmer than the panel-strip cream */
  position:relative !important;
  z-index:2 !important;
}
#change-analysis .change-method-tab.active::after{
  /* A 3px accent rail along the bottom edge of the active tab. It extends
     1px below the tab strip's bottom so it overlaps the panel's top and
     reads as one shared coloured edge. */
  content:"" !important;
  position:absolute !important;
  left:0 !important; right:0 !important;
  bottom:-1px !important;
  height:3px !important;
  background:#9C3D2A !important;
  z-index:3 !important;
}

/* Panel: same warm cream as the active tab, with a matching accent rail
   at its TOP edge so the panel and tab visibly share a coloured seam. */
#change-analysis .change-method-panel.active,
#change-analysis .change-method-panel-overview.active{
  background:linear-gradient(180deg, #F0E8D6 0%, #F7F2E6 80px, #FFFFFF 100%) !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-top:none !important;
  border-radius:0 0 var(--r-lg) var(--r-lg) !important;
  box-shadow:0 6px 18px rgba(20,15,5,0.05) !important;
  padding:24px !important;
  margin:0 0 24px !important;
  position:relative;
  animation:change-panel-in 180ms var(--ease) both;
}
@keyframes change-panel-in{
  from{ opacity:0; transform:translateY(-4px); }
  to  { opacity:1; transform:translateY(0); }
}

/* =====================================================================
   SCORE CONVERTER — Cockpit layout
   Bell curve is the hero (right column). Equivalents stack as a slim
   vertical readout (left column). Classification rows span full width
   below. Tabs are dropped — both panes are always visible.
   ===================================================================== */

/* Drop the segmented Equivalents / Distribution control entirely */
#converter .conv-view-tabs{ display:none !important; }

/* Force both panes visible regardless of .is-active state */
#converter .conv-view-pane,
#converter #conv-output[style],
#converter .curve-wrap.conv-view-pane{
  display:block !important;
}

/* Turn the panel into a 2-col grid:
     [ equivalents column ] [ bell curve column ]
   with field-row, slider, classification, and footnote spanning both. */
#converter .conv-unified-panel{
  display:grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr) !important;
  grid-template-areas:
    "fields  fields"
    "slider  slider"
    "equiv   curve"
    "class   class"
    "foot    foot" !important;
  column-gap:24px !important;
  row-gap:18px !important;
  align-items:start !important;  /* top-align so equivalents column doesn't stretch */
}

/* The conversion-table rows beneath the bell curve (Standard / Scaled / T /
   z / Percentile / Classification) duplicate the side column in the cockpit
   layout. Keep the JS that generates them but hide the group from view. */
#converter .conv-curve-rows{ display:none !important; }
#converter .conv-unified-panel > .field-row       { grid-area: fields; }
#converter .conv-unified-panel > .conv-slider-wrap{ grid-area: slider; margin:0 !important; padding:0 !important; }
#converter .conv-unified-panel > #conv-output     { grid-area: equiv; }
#converter .conv-unified-panel > .curve-wrap      { grid-area: curve; }
#converter .conv-unified-panel > .conv-meta-strip { grid-area: class; }
#converter .conv-unified-panel > .conv-desc-footnote { grid-area: foot; }

/* Equivalents column — vertical stack of 5 chips, one score per row.
   Each row: label on the left, value on the right. */
#converter #conv-output{
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.06);
  border-radius:var(--r-md);
  padding:14px 14px 16px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column;
  /* No height:100% — top-align with natural content height */
}
#converter #conv-output .conv-strip-header{
  margin:0 0 10px !important;
}
#converter .conv-scores-strip{
  display:flex !important;
  flex-direction:column !important;
  grid-template-columns:none !important;
  gap:0 !important;
  background:transparent !important;
  border:1px solid rgba(20,15,5,0.06) !important;
  border-radius:var(--r-md) !important;
  overflow:hidden;
  margin:0 !important;
  /* No flex:1 — rows take their natural height */
}
#converter .conv-scores-strip > *{
  display:flex !important;
  flex-direction:row !important;
  align-items:baseline !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:16px 16px !important;
  border:none !important;
  border-bottom:1px solid rgba(20,15,5,0.06) !important;
  background:#FFFFFF !important;
  transition:background var(--t-fast) var(--ease) !important;
}
#converter .conv-scores-strip > *:last-child{ border-bottom:none !important; }

/* Label on the left, value on the right */
#converter .conv-scores-strip .conv-score-label{
  margin:0 !important;
  font-family:var(--sans) !important;
  font-size:10px !important;
  font-weight:600 !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  color:#8A867E !important;
  flex:0 0 auto;
}
#converter .conv-scores-strip .conv-score-value{
  font-family:var(--mono) !important;
  font-size:18px !important;
  font-weight:500 !important;
  color:#1A1A1A !important;
  line-height:1 !important;
  text-align:right;
  flex:1 1 auto;
}
/* Active "you entered" row — cream highlight with terracotta accent rail */
#converter .conv-scores-strip > .conv-score-active{
  background:#F0E8D6 !important;
  position:relative;
}
#converter .conv-scores-strip > .conv-score-active::before{
  content:"" !important;
  position:absolute !important;
  left:0; top:0; bottom:0;
  width:3px !important;
  background:#9C3D2A !important;
}
#converter .conv-scores-strip > .conv-score-active .conv-score-label{
  color:#9C3D2A !important;
}
#converter .conv-scores-strip > .conv-score-active .conv-score-value{
  color:#1A1A1A !important;
}
/* Suppress the inline "· you entered" suffix on the label — the rail + cream
   background already mark the active row, and the suffix wraps awkwardly
   in the narrow column. */
#converter .conv-scores-strip > .conv-score-active .conv-score-label::after{
  content:"" !important;
  display:none !important;
}

/* Curve column — keep the existing bell-curve container styling but slot it
   into the right column. Stretch the SVG so it fills its share of the row. */
/* Curve is unboxed in the cockpit layout — no background, no border, no
   padding. It floats on the panel surface alongside the equivalents card. */
#converter .conv-unified-panel > .curve-wrap{
  margin:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
}
/* SVG viewBox is now 940×314 (~3:1) — let it fill the column width. At ~830px
   wide, the SVG renders at ~277px tall, which balances neatly against the
   equivalents column's natural height. */
#converter .conv-unified-panel > .curve-wrap .curve-svg{
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  display:block;
  margin:0 auto;
}

/* Classification + footnote sit at the bottom, full width */
#converter .conv-unified-panel > .conv-meta-strip{
  margin:0 !important;
}
#converter .conv-unified-panel > .conv-desc-footnote{
  margin:0 !important;
}

/* Compact the field-row and slider so they don't dominate */
#converter .conv-unified-panel > .field-row{
  margin:0 !important;
}

/* Narrow viewports — collapse to a single column. Curve drops below the
   equivalents column, classification stays below both. */
@media (max-width: 900px){
  #converter .conv-unified-panel{
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "fields"
      "slider"
      "curve"
      "equiv"
      "class"
      "foot" !important;
  }
  #converter .conv-unified-panel > .curve-wrap{
    padding:14px 16px !important;
  }
}

/* =====================================================================
   EFFECT SIZES — Story-flow revamp
   Drops the 4-tab strip and the chunky A/B card row. Lays the page out
   as a single vertical story:
     1. Inputs (with compact A/B segmented control + slider)
     2. Visual (curve) — the hero
     3. Plain-English interpretation — terracotta hero callout
     4. Effect-size conversion grid
     5. Group comparison
   The Reference values pane is hidden; the per-cell magnitude labels in
   the conversion grid already convey small/medium/large.
   ===================================================================== */

/* --- Compact A/B segmented control (replaces the chunky tab cards) --- */
#effectsize .es-tabs-wrap{ margin-bottom:12px !important; }
#effectsize .es-tabs{
  display:inline-flex !important;
  gap:0 !important;
  background:rgba(20,15,5,0.05) !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-radius:999px !important;
  padding:3px !important;
  box-shadow:inset 0 1px 2px rgba(20,15,5,0.04) !important;
  position:static !important;
}
#effectsize .es-tab{
  flex:0 0 auto !important;
  padding:6px 14px !important;
  background:transparent !important;
  border:none !important;
  border-radius:999px !important;
  top:0 !important;
  box-shadow:none !important;
  font-size:12px !important;
  font-weight:500 !important;
  color:#6B6B6B !important;
  display:inline-flex !important;
  gap:6px !important;
  align-items:center !important;
}
#effectsize .es-tab .es-tab-num{
  width:18px !important;
  height:18px !important;
  font-size:10px !important;
  background:rgba(20,15,5,0.08) !important;
  color:#6B6B6B !important;
  border:none !important;
}
#effectsize .es-tab .es-tab-sub{ display:none !important; }
#effectsize .es-tab .es-tab-title{ font-size:12px !important; font-weight:500 !important; }
#effectsize .es-tab.is-active{
  background:#FFFFFF !important;
  color:#1A1A1A !important;
  box-shadow:0 1px 2px rgba(20,15,5,0.10) !important;
  border:1px solid rgba(20,15,5,0.06) !important;
}
#effectsize .es-tab.is-active .es-tab-num{ background:#9C3D2A !important; color:#FFFFFF !important; }
#effectsize .es-tab.is-active .es-tab-title{ font-weight:600 !important; color:#1A1A1A !important; }
#effectsize .es-tabs-or{ display:none !important; }

/* Input panel — no longer "attached" to the chunky tabs above it */
#effectsize .es-input-panel{
  border-radius:var(--r-lg) !important;
  margin-top:0 !important;
  border-top:1px solid rgba(20,15,5,0.06) !important;
}

/* Drop the preloaded-example banner */
#effectsize .es-preloaded-note{ display:none !important; }

/* --- Workspace: drop tabs, vertical story flow --- */
#effectsize .es-view-tabs{ display:none !important; }
#effectsize .es-view-pane{ display:block !important; animation:none !important; }
/* Reference values pane — hidden entirely per design */
#effectsize .es-view-pane[data-view-pane="reference"]{ display:none !important; }

/* Two-column dashboard. Layout:
     Row 1 left: Visual (spans 2 rows)   Row 1 right: Common Language
     Row 2 left: ↑ Visual continues       Row 2 right: Effect-size grid
     Row 3 full: Group comparison
   align-items:stretch so the conversion grid expands to match the visual's
   height — bottom edges of both columns line up. */
#effectsize .es-output-row{
  display:grid !important;
  grid-template-columns:1.3fr 1fr !important;
  grid-template-areas:
    "curve  common"
    "curve  grid"
    "comp   comp" !important;
  gap:12px !important;
  margin-bottom:10px !important;
  align-items:stretch !important;
}
#effectsize .es-left-panel{
  display:contents !important;
}
#effectsize .es-curve-panel{ grid-area:curve; order:unset !important; }
#effectsize .es-view-pane[data-view-pane="common-language"]{ grid-area:common; order:unset !important; }
#effectsize .es-view-pane[data-view-pane="conversion"]{ grid-area:grid; order:unset !important; }
#effectsize .es-view-pane[data-view-pane="comparison"]{ grid-area:comp; order:unset !important; }

/* Conversion pane forms the body of the unified card. Closes the gap up
   to the CL row via negative margin, then matches its plain border so
   the two read as one continuous matrix. Flex-column so the inner grid
   can stretch to fill the column height — bottoms align with the visual
   on the left. */
#effectsize .es-view-pane[data-view-pane="conversion"]{
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-top:none !important;
  border-radius:0 0 var(--r-lg) var(--r-lg) !important;
  box-shadow:var(--shadow-1) !important;
  padding:0 !important;
  margin:-12px 0 0 !important;  /* eat the grid row-gap above */
  display:flex !important;
  flex-direction:column !important;
}
/* Group comparison keeps its card shell — form inputs + intro benefit
   from being visually contained. */
#effectsize .es-view-pane[data-view-pane="comparison"]{
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.06) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:var(--shadow-1) !important;
  padding:12px 16px !important;
  margin:0 !important;
}

/* Curve panel — unboxed. The bell curve floats directly on the page
   background. Panel-kicker hidden because the curve is self-evidently
   the visual. */
#effectsize .es-curve-panel{
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
#effectsize .es-curve-panel .panel-kicker{ display:none !important; }
#effectsize .es-curve-wrap{
  max-width:none !important;
  margin:0 !important;
  display:flex;
  flex-direction:column;
  align-items:center;
}
#effectsize .es-curve{
  width:100%;
  max-width:none;
  margin:0 auto;
}
#effectsize .es-curve-legend{
  font-size:10.5px !important;
  gap:14px !important;
  margin-top:2px;
}
#effectsize .es-curve-caption{
  font-size:10px !important;
  margin:0 !important;
  line-height:1.3;
  color:var(--muted);
}

/* --- Common-language pane = wide top row of the conversion grid ---
       Same white card, same plain border, same neutral palette as the
       result cells below. Sits flush against the conversion grid (no
       gap, shared border) so visually it reads as the top row of one
       unified matrix rather than a separate hero callout. */
#effectsize .es-view-pane[data-view-pane="common-language"]{
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-bottom:1px solid rgba(20,15,5,0.08) !important;  /* row separator */
  border-radius:var(--r-lg) var(--r-lg) 0 0 !important;
  box-shadow:var(--shadow-1) !important;
  padding:14px 16px !important;
  margin:0 !important;
  display:flex !important;
  flex-direction:column !important;
}
/* Kicker hidden — the cream gradient + terracotta rail already signals
   "this is the interpretation panel" */
#effectsize .es-view-pane[data-view-pane="common-language"] .panel-kicker{
  display:none !important;
}
#effectsize .es-view-pane[data-view-pane="common-language"] .info-box{
  background:transparent !important;
  border:none !important;
  padding:0 !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.5 !important;
  color:#1A1A1A !important;
}
#effectsize .es-view-pane[data-view-pane="common-language"] .info-box strong{
  color:#1A1A1A !important;
  font-weight:600 !important;
}
/* Render the two sentences as one continuous paragraph (instead of two
   stacked blocks). The U₃ line continues on the same flow with a leading
   space, so the whole interpretation reads as one body of text. */
#effectsize .es-view-pane[data-view-pane="common-language"] #es-cl-summary,
#effectsize .es-view-pane[data-view-pane="common-language"] #es-cl-u3line{
  display:inline !important;
  font-size:13.5px !important;
  color:#1A1A1A !important;
  line-height:1.5 !important;
  margin:0 !important;
}
#effectsize .es-view-pane[data-view-pane="common-language"] #es-cl-summary{
  font-weight:500 !important;
}
#effectsize .es-view-pane[data-view-pane="common-language"] #es-cl-u3line{
  font-weight:400 !important;
  color:#3A3A3A !important;
}
#effectsize .es-view-pane[data-view-pane="common-language"] #es-cl-summary::after{
  content:" ";
  white-space:normal;
}
/* The "Interpretation summary." inline label is redundant with the kicker */
#effectsize .es-view-pane[data-view-pane="common-language"] .info-box > strong:first-child{
  display:none !important;
}

/* --- Compress the input panel: slider + fields share ONE row in A mode.
       (B mode is more complex, falls back to its native multi-row layout.)
       Unboxed — sits flat on the section background, no card shell. */
#effectsize .es-input-panel{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:8px 0 !important;
  margin-bottom:10px !important;
}
/* In statistic mode (A), make the panel a single flex row with the slider
   on the left taking the leftover width, fields on the right. */
#effectsize .es-input-panel:has(.es-mode-pane[data-pane="stat"].is-active){
  display:flex !important;
  flex-direction:row !important;
  align-items:end !important;
  gap:16px !important;
}
#effectsize .es-input-panel:has(.es-mode-pane[data-pane="stat"].is-active) .es-d-slider-row{
  flex:1 1 auto;
  margin:0 !important;
  min-width:280px;
}
#effectsize .es-input-panel:has(.es-mode-pane[data-pane="stat"].is-active) .es-mode-pane[data-pane="stat"]{
  flex:0 0 auto;
}
/* Fallback (no :has support, or mode B active) — vertical stack but tight */
#effectsize .es-d-slider-row{ margin:0 0 8px !important; }
#effectsize .es-stat-row{ gap:10px !important; margin:0 !important; }
#effectsize .es-stat-row .field{ margin:0 !important; }
#effectsize .es-stat-row .field label{ font-size:9.5px !important; margin-bottom:2px !important; }
#effectsize .es-stat-row .field input,
#effectsize .es-stat-row .field select{
  padding:6px 10px !important;
  min-height:30px !important;
  height:30px !important;
  font-size:12.5px !important;
}
#effectsize .es-stat-row .field select{ min-width:140px; }
#effectsize .es-reset-btn{ min-height:30px !important; height:30px !important; padding:0 12px !important; font-size:11.5px !important; }

/* Demote the page header — the top-nav tab already labels this page, so
   eyebrow + description add noise. Title stays small. */
#effectsize .eyebrow{ display:none !important; }
#effectsize .section-title{ font-size:18px !important; margin:0 0 8px !important; line-height:1.2 !important; }
#effectsize .section-desc{ display:none !important; }

/* --- Conversion grid (unboxed) ---
       Sits in the narrow right column under Common Language. 4 cols × 3
       rows = 12 cards. Cards are tall enough to fill the right column
       and roomy enough to read at a glance. */
#effectsize .es-view-pane[data-view-pane="conversion"] .panel-kicker{ display:none !important; }
/* Grid border stripped — the parent pane now provides the outer shell so
   they read as one stacked card with the CL hero above. The internal
   cell borders (right + bottom on each card) still form the matrix.
   overflow:visible so per-card hover tooltips can escape the grid bounds.
   flex:1 + 3 equal rows so the grid stretches to fill the pane and bottoms
   align with the bell curve. */
#effectsize .es-results-grid{
  grid-template-columns:repeat(4, 1fr) !important;
  grid-template-rows:1fr 1fr 1fr !important;
  border:none !important;
  border-radius:0 !important;
  overflow:visible !important;
  background:transparent !important;
  flex:1 1 auto !important;
}
#effectsize .es-result-card{
  min-height:78px !important;
  padding:12px 14px !important;
  grid-template-rows:auto auto auto !important;
  gap:4px !important;
  align-content:center !important;
}
#effectsize .es-result-label{ font-size:9.5px !important; letter-spacing:0.07em !important; }
#effectsize .es-result-value{ font-size:17px !important; line-height:1.15 !important; }
#effectsize .es-result-desc{ font-size:9.5px !important; }
#effectsize .es-result-similar-value{ font-size:12px !important; line-height:1.25 !important; }

/* Tooltip positioning per column so they don't clip past the pane edge.
   - Col 1 (1st card of each row): anchor LEFT, extend right
   - Col 4 (last card of each row): anchor RIGHT, extend left
   - Cols 2 & 3 (middle): centred on the card
   The existing base rule sets `left:0` and `left:14px` for the arrow — these
   per-column overrides win via specificity + later cascade order. */
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+1)::before{
  left:0 !important; right:auto !important; transform:translateX(0) translateY(4px);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+1):hover::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+1):focus-within::before{
  transform:translateX(0) translateY(0);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+1)::after{
  left:14px !important; right:auto !important;
}

#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n)::before{
  right:0 !important; left:auto !important; transform:translateX(0) translateY(4px);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n):hover::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n):focus-within::before{
  transform:translateX(0) translateY(0);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n)::after{
  right:14px !important; left:auto !important;
}

#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+2)::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+3)::before{
  left:50% !important; right:auto !important; transform:translateX(-50%) translateY(4px);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+2):hover::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+2):focus-within::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+3):hover::before,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+3):focus-within::before{
  transform:translateX(-50%) translateY(0);
}
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+2)::after,
#effectsize .es-results-grid .es-result-card[data-tooltip]:nth-child(4n+3)::after{
  left:50% !important; right:auto !important; transform:translateX(-50%);
}


/* --- Compress group comparison into a flat horizontal strip --- */
#effectsize .es-view-pane[data-view-pane="comparison"] .panel-kicker{ margin-bottom:6px !important; }
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-intro{
  font-size:11.5px !important;
  margin-bottom:8px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-intro strong{ font-size:11.5px !important; }
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-explain-btn{
  padding:3px 10px !important;
  font-size:10.5px !important;
  margin-left:auto;
}
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-grid{
  display:grid !important;
  grid-template-columns:repeat(6, 1fr) !important;
  gap:8px 10px !important;
}
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-grid .field{ margin:0 !important; }
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-grid .field label{ font-size:9px !important; margin-bottom:2px !important; }
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-grid .field input,
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-grid .es-ci-readout{
  padding:5px 9px !important;
  min-height:28px !important;
  height:28px !important;
  font-size:11.5px !important;
  line-height:18px !important;
}
#effectsize .es-view-pane[data-view-pane="comparison"] .es-target-help{
  font-size:10px !important;
  margin-top:6px !important;
  line-height:1.4 !important;
}

/* Narrow viewports — drop to a single column */
@media (max-width: 1100px){
  #effectsize .es-output-row{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "curve"
      "common"
      "grid"
      "comp" !important;
  }
  #effectsize .es-results-grid{ grid-template-columns:repeat(3, 1fr) !important; }
}

/* =====================================================================
   EFFECT SIZES — Refinement pass (responding to UX feedback)
   ===================================================================== */

/* --- 1. Results grid: hierarchy + restraint ---
   The default state shows 12 cells of "0.000 / VERY SMALL" creating
   a wall of repetition. Mute the qualitative tags, shrink the numerics
   so labels can breathe, give primary metrics (d, g) visual weight. */
#effectsize .es-result-card{ padding:11px 13px !important; }
#effectsize .es-result-label{
  font-size:9px !important;
  font-weight:600 !important;
  letter-spacing:0.08em !important;
  color:#8A867E !important;
}
#effectsize .es-result-value{
  font-size:14px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
}
#effectsize .es-result-desc{
  font-size:8.5px !important;
  font-weight:500 !important;
  letter-spacing:0.05em !important;
  color:#A8A29E !important;
}
#effectsize .es-result-similar-value{
  font-size:11px !important;
  font-weight:500 !important;
}
/* Primary cards (Cohen's d, Hedges' g) — slightly stronger weight on
   the number, faint cream tint to anchor the eye. */
#effectsize .es-result-primary{
  background:#FAF7F0 !important;
}
#effectsize .es-result-primary .es-result-value{
  font-size:16px !important;
  font-weight:600 !important;
  color:#1A1A1A !important;
}
#effectsize .es-result-primary .es-result-label{
  color:#5A5A5A !important;
}
/* Faint horizontal hairline between the primary row (cards 1–4) and the
   derived rows below — subtle group divider. */
#effectsize .es-results-grid > .es-result-card:nth-child(5),
#effectsize .es-results-grid > .es-result-card:nth-child(6),
#effectsize .es-results-grid > .es-result-card:nth-child(7),
#effectsize .es-results-grid > .es-result-card:nth-child(8){
  border-top:1px solid rgba(20,15,5,0.10) !important;
}

/* --- 2. Curve panel — boxed to match the grid on the right.
   Editorial unboxing made the two panels feel like disconnected widgets.
   Matching shell + padding unifies them as one analysis. */
#effectsize .es-curve-panel{
  background:#FFFFFF !important;
  border:1px solid rgba(20,15,5,0.08) !important;
  border-radius:var(--r-lg) !important;
  box-shadow:var(--shadow-1) !important;
  padding:14px 18px 12px !important;
}

/* Bigger legend swatches so the colour is actually parseable */
#effectsize .es-curve-legend .es-legend-swatch{
  width:14px !important;
  height:14px !important;
  border-radius:3px !important;
  margin-right:6px !important;
  display:inline-block;
  vertical-align:middle;
}
#effectsize .es-curve-legend{
  font-size:11.5px !important;
  gap:18px !important;
  margin-top:6px;
  color:#3A3A3A;
}
/* Curve caption — sentence-cased, not italic, slightly larger. Reads
   as an annotation rather than a disclaimer. */
#effectsize .es-curve-caption{
  font-family:var(--sans);
  font-size:11.5px !important;
  font-style:normal !important;
  color:#5A5A5A !important;
  margin:4px 0 0 !important;
  line-height:1.45;
  letter-spacing:0;
  text-align:center;
}
#effectsize .es-curve-caption em,
#effectsize .es-curve-caption strong{ font-style:normal; font-weight:500; color:#1A1A1A; }

/* --- 3. Input strip — give it visual presence ---
   The slider + dropdown + value + clear-button row was a thin band
   that almost disappeared. Subtle off-white container, slightly more
   padding, and tighten the slider value to feel grouped with its track. */
#effectsize .es-input-panel{
  background:#FBF8F1 !important;
  border:1px solid rgba(20,15,5,0.06) !important;
  border-radius:var(--r-md) !important;
  padding:14px 16px !important;
  margin-bottom:14px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.6);
}
/* Slider-value readout — match the field input's typography so the
   slider feels coupled to the value input rather than floating between. */
#effectsize .es-d-slider-val-num{
  font-family:var(--mono) !important;
  font-size:13.5px !important;
  font-weight:600 !important;
  color:#1A1A1A !important;
  min-width:48px;
  text-align:right;
  padding-left:12px;
}

/* --- 4. A/B segmented control — soften inactive contrast ---
   Inactive was so faint it looked disabled. Give it real text colour
   and a subtle background presence so it reads as "selectable" not "off". */
#effectsize .es-tab:not(.is-active){
  color:#3A3A3A !important;
  background:rgba(20,15,5,0.04) !important;
}
#effectsize .es-tab:not(.is-active) .es-tab-num{
  background:rgba(20,15,5,0.12) !important;
  color:#5A5A5A !important;
  font-weight:600 !important;
}
#effectsize .es-tab:not(.is-active) .es-tab-title{
  color:#3A3A3A !important;
  font-weight:500 !important;
}

/* --- 5. Group Comparison section header —
   "Group comparison at a target value" was all-caps tiny text, which
   visually flattened a major feature. Promote to sentence-case with
   real type weight. */
#effectsize .es-view-pane[data-view-pane="comparison"] .panel-kicker{
  font-family:var(--serif) !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:-0.005em !important;
  text-transform:none !important;
  color:#1A1A1A !important;
  margin:0 0 10px !important;
  display:block !important;
}

/* =====================================================================
   PREMORBID — Forest plot (modern JAMA-style)
   Tabular figure with columns: Model · r · SEE · Estimate (CI) · Plot.
   Soft charcoal (not pure black), IBM Plex Sans throughout, hairline
   rules, generous breathing room. Single terracotta accent reserved
   for the patient's achieved-FSIQ reference line.
   ===================================================================== */
#premorbid .pre-forest-plot-wrap{
  margin:14px 0 28px !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* Figure label — slim, modern, "Figure n. Description..." */
#premorbid .pre-forest-plot-head{
  padding:0 0 14px;
  margin:0;
}
#premorbid .pre-forest-plot-label{
  font-family:"IBM Plex Sans", "Inter", system-ui, -apple-system, sans-serif;
  font-size:12.5px;
  line-height:1.55;
  color:#1A1A1A;
  margin:0;
  letter-spacing:0.005em;
  font-weight:400;
  font-variant-numeric:tabular-nums;
}
#premorbid .pre-forest-plot-label strong{
  font-weight:600;
  letter-spacing:0.01em;
}
#premorbid .pre-forest-plot-label #pre-forest-ci-pct{
  font-family:inherit;
  font-weight:500;
}

#premorbid .pre-forest-plot{
  display:block;
  width:100%;
  height:auto;
}

/* Figure caption — slim, modern, max-width for line-length comfort */
#premorbid .pre-forest-plot-foot{
  padding:14px 0 0;
  margin:0;
  font-family:"IBM Plex Sans", "Inter", system-ui, -apple-system, sans-serif;
  font-size:11.5px;
  line-height:1.6;
  color:#4A4640;
  letter-spacing:0.005em;
  max-width:880px;
  font-variant-numeric:tabular-nums;
}



/* Numeric table is hidden visually but stays in the DOM so the
   APA-copy JS (which reads cell text from #pre-results-table) keeps
   working without refactor. Forest plot above shows all the same data. */
#premorbid .pre-results-table-hidden{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}

/* =====================================================================
   CHANGE ANALYSIS — About panel comparison table
   Replaces the 5-card grid. One row per method × 4 dot columns + arrow.
   Row is clickable to jump to that method's tab.
   ===================================================================== */

/* Hide the now-unused card hero + grid wrappers in case any are still in
   the DOM (defensive — the JS no longer emits them). */
#change-analysis .change-overview-hero,
#change-analysis .change-overview-cards{ display:none !important; }

#change-analysis .change-overview-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#FFFFFF;
  border:1px solid rgba(20,15,5,0.08);
  border-radius:var(--r-lg);
  /* overflow:visible — needed so the per-row "?" tooltips can escape the
     table boundary. Corner rounding is reapplied to the individual thead
     cells below to keep the rounded look. */
  overflow:visible;
  margin:8px 0 0;
  font-family:var(--sans);
}
/* Reapply rounding to thead corner cells now that the table no longer clips */
#change-analysis .change-overview-table thead tr th:first-child{
  border-top-left-radius:var(--r-lg);
}
#change-analysis .change-overview-table thead tr th:last-child{
  border-top-right-radius:var(--r-lg);
}
#change-analysis .change-overview-table thead th{
  font-family:var(--sans);
  font-size:10px;
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#7A766E;
  text-align:center;
  padding:14px 12px 12px;
  background:rgba(20,15,5,0.025);
  border-bottom:1px solid rgba(20,15,5,0.08);
  line-height:1.25;
  white-space:nowrap;
}
#change-analysis .change-overview-table thead th.change-overview-table-method-h{
  text-align:left;
  padding-left:24px;
}
#change-analysis .change-overview-row{
  cursor:pointer;
  transition:background 140ms var(--ease);
}
#change-analysis .change-overview-row:hover,
#change-analysis .change-overview-row:focus-visible{
  background:#F7F2E6;
  outline:none;
}
#change-analysis .change-overview-row:focus-visible{
  box-shadow:inset 3px 0 0 #9C3D2A;
}
#change-analysis .change-overview-row + .change-overview-row > td{
  border-top:1px solid rgba(20,15,5,0.05);
}
#change-analysis .change-overview-table td{
  padding:14px 12px;
  vertical-align:middle;
}
#change-analysis .change-overview-table-method{
  padding-left:24px;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:240px;
}
#change-analysis .change-overview-table-title{
  font-family:var(--serif);
  font-size:15px;
  font-weight:600;
  color:#1A1A1A;
  letter-spacing:-0.005em;
}
#change-analysis .change-overview-table-cite{
  font-family:var(--sans);
  font-size:11.5px;
  font-style:italic;
  color:#7A766E;
}
#change-analysis .change-overview-table-dot-cell{
  text-align:center;
  width:14%;
}
/* Green tick when the method handles that adjustment dimension */
#change-analysis .change-overview-table-dot-cell .change-overview-tick{
  display:inline-block;
  width:20px;
  height:20px;
  color:#4F8552;
  vertical-align:middle;
}
/* Hollow dot when it doesn't — keeps the column readable as "considered but
   not addressed", clearer than a blank cell. */
#change-analysis .change-overview-table-dot-cell .change-overview-dot.is-off{
  display:inline-block;
  width:12px;
  height:12px;
  border-radius:50%;
  background:transparent;
  border:1.5px solid rgba(20,15,5,0.16);
  vertical-align:middle;
}

/* Method-title row: title on the left, info button pushed to the far right
   of the cell so all "?" buttons sit in a single vertical column regardless
   of title length. */
#change-analysis .change-overview-table-titlerow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
#change-analysis .change-overview-table-title{
  flex:0 1 auto;
}
#change-analysis .change-overview-info{
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(20,15,5,0.08);
  border:none;
  color:#6B6B6B;
  font-family:var(--sans);
  font-size:11px;
  font-weight:700;
  cursor:help;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  line-height:1;
  flex:0 0 auto;
  transition:background 140ms var(--ease), color 140ms var(--ease);
}
#change-analysis .change-overview-info:hover,
#change-analysis .change-overview-info:focus-visible{
  background:#9C3D2A;
  color:#FFFFFF;
  outline:none;
}
/* Tooltip popover — shows the longer per-method explainer on hover/focus */
#change-analysis .change-overview-info::before{
  content:attr(data-tooltip);
  position:absolute;
  bottom:calc(100% + 8px);
  left:-8px;
  width:340px;
  padding:12px 14px;
  background:#FFFFFF;
  border:1px solid rgba(156,61,42,0.24);
  border-radius:8px;
  font-family:var(--sans);
  font-size:12.5px;
  line-height:1.55;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  color:#1A1A1A;
  text-align:left;
  white-space:normal;
  z-index:50;
  opacity:0;
  transform:translateY(4px);
  pointer-events:none;
  transition:opacity 160ms var(--ease), transform 160ms var(--ease);
  box-shadow:0 10px 24px rgba(20,15,5,0.14);
}
#change-analysis .change-overview-info::after{
  content:"";
  position:absolute;
  bottom:calc(100% + 2px);
  left:6px;
  border-width:6px 6px 0 6px;
  border-style:solid;
  border-color:#FFFFFF transparent transparent transparent;
  z-index:51;
  opacity:0;
  transition:opacity 160ms var(--ease);
}
#change-analysis .change-overview-info:hover::before,
#change-analysis .change-overview-info:hover::after,
#change-analysis .change-overview-info:focus-visible::before,
#change-analysis .change-overview-info:focus-visible::after{
  opacity:1;
  transform:translateY(0);
}
#change-analysis .change-overview-table-arrow{
  width:48px;
  text-align:center;
  color:#9C3D2A;
  opacity:0;
  transition:opacity 140ms var(--ease), transform 140ms var(--ease);
}
#change-analysis .change-overview-table-arrow svg{
  width:18px;
  height:18px;
  display:inline-block;
  vertical-align:middle;
}
#change-analysis .change-overview-row:hover .change-overview-table-arrow,
#change-analysis .change-overview-row:focus-visible .change-overview-table-arrow{
  opacity:1;
  transform:translateX(2px);
}

/* =====================================================================
   SCORE TABLES — refinement pass (responding to UX feedback)
   - Classification cells as colour-coded chips by severity tier
   - Stronger table presence (header, padding, row weight)
   - Score-type tag in # column as a pill (not parenthetical italic)
   - Improved row-delete affordance + visual separation of "Clear all"
   - Better empty state when no rows are entered
   ===================================================================== */

/* --- Table presence: stronger header, more vertical padding,
   subtle row separators (not zebra striping — keeps it calm). */
#battery #bat-table thead th{
  font-family:var(--sans) !important;
  font-size:10.5px !important;
  font-weight:700 !important;
  letter-spacing:0.10em !important;
  text-transform:uppercase !important;
  color:#3A3A3A !important;
  background:rgba(20,15,5,0.035) !important;
  border-bottom:1.5px solid rgba(20,15,5,0.18) !important;
  padding:10px 12px !important;
}
#battery #bat-table tbody td{
  padding:8px 12px !important;
  border-bottom:1px solid rgba(20,15,5,0.06) !important;
  vertical-align:middle !important;
}
#battery #bat-table tbody tr:last-child td{
  border-bottom:none !important;
}
#battery #bat-table tbody tr:hover td{
  background:rgba(20,15,5,0.02) !important;
}

/* --- 3. Score-type tag in # column: parenthetical italic → pill.
   Looks like a property of the row rather than incidental metadata. */
#battery .bat-row-type-tag{
  display:inline-block;
  margin-left:6px;
  padding:1px 6px;
  border-radius:3px;
  background:rgba(20,15,5,0.07);
  color:#5A5A5A;
  font-family:var(--mono);
  font-size:9.5px;
  font-weight:600;
  font-style:normal;
  letter-spacing:0.02em;
  text-transform:none;
  vertical-align:1px;
}
#battery .bat-row-type-tag::before{ content:''; }
/* Strip any inherited italic from the # column */
#battery .row-num{ font-style:normal !important; }

/* --- 4. Row-delete affordance: visible enough to be findable, still
   subordinate to the input cells. Hover reveals the destructive intent. */
#battery #bat-table .row-actions button{
  width:24px;
  height:24px;
  border-radius:4px;
  background:transparent;
  border:1px solid transparent;
  color:#9A968D;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  transition:background 140ms ease, color 140ms ease, border-color 140ms ease;
}
#battery #bat-table .row-actions button:hover{
  background:rgba(156,61,42,0.10);
  color:#9C3D2A;
  border-color:rgba(156,61,42,0.20);
}

/* --- 5. Constructive vs destructive action separation.
   "+ Add row" stays where it is. "Clear all rows" gets pushed to the
   FAR RIGHT with a divider and a slightly different visual treatment
   so the eye reads it as a destructive secondary action, not a peer
   of the primary "+ Add row" button. */
#battery .add-row-actions{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:14px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(20,15,5,0.06) !important;
}
#battery .add-row-actions .bat-add-wrap{
  flex:0 0 auto;
}
#battery .add-row-actions .bat-add-repeat{
  flex:0 0 auto;
}
#battery .add-row-actions .btn-clear{
  margin-left:auto !important;
  padding:6px 12px !important;
  font-size:11.5px !important;
  color:#9A968D !important;
  background:transparent !important;
  border:1px solid rgba(20,15,5,0.10) !important;
  border-radius:4px !important;
}
#battery .add-row-actions .btn-clear:hover{
  color:#9C3D2A !important;
  border-color:rgba(156,61,42,0.30) !important;
  background:rgba(156,61,42,0.04) !important;
}

/* --- 6. Empty-state message inside the table.
   When no rows are entered, a quiet prompt appears via a ::before
   pseudo on the empty tbody. Tells the user what to do without
   demanding visual weight. */
#battery #bat-table tbody:empty{
  position:relative;
}
#battery #bat-table tbody:empty::before{
  content:"No subtests yet. Use the search field above to autofill a test family, or click + Add row to enter manually.";
  display:block;
  padding:48px 24px;
  text-align:center;
  font-family:var(--sans);
  font-size:13px;
  font-style:italic;
  color:#9A968D;
  line-height:1.55;
  background:rgba(20,15,5,0.015);
  border-bottom:1px solid rgba(20,15,5,0.06);
}

