:root{
  --accent:#2f6f63;
  --accent-2:#24584f;
  --bg:#f4f6f2;
  --panel:#ffffff;
  --panel-soft:#f8faf7;
  --text:#17201c;
  --muted:#68736d;
  --line:#dfe5df;
  --sidebar:#252b2a;
  --sidebar-panel:#313b38;
  --danger:#b23a48;
  --success:#2f7d5c;
  --warning:#a9671a;
  --radius:12px;
  --shadow:0 8px 20px rgba(33,40,35,.08);
}
[data-theme="dark"]{
  --bg:#151918;
  --panel:#202624;
  --panel-soft:#1a201e;
  --text:#edf2ee;
  --muted:#a8b3ad;
  --line:#34403b;
  --sidebar:#111514;
  --sidebar-panel:#222b28;
  --shadow:0 10px 28px rgba(0,0,0,.32);
}
[data-compact="true"]{
  --radius:10px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.hidden{display:none!important}
.app-shell{display:flex;height:100vh}
.auth-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#252b2a,#2f6f63 58%,#8b6f47)}
.auth-shell{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,470px);gap:22px;align-items:stretch}
.auth-info-panel,.auth-card{border:1px solid rgba(255,255,255,.35);box-shadow:0 24px 60px rgba(0,0,0,.24)}
.auth-info-panel{display:grid;align-content:center;gap:16px;min-height:560px;padding:36px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));color:#fff;backdrop-filter:blur(10px)}
.auth-kicker{width:max-content;max-width:100%;padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(255,255,255,.12);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.auth-info-panel h2{max-width:13em;margin:0;font-size:clamp(30px,4vw,46px);line-height:1.03;letter-spacing:0}
.auth-info-panel p{max-width:36rem;margin:0;color:rgba(255,255,255,.84);font-size:16px;line-height:1.55}
.auth-feature-list{display:grid;gap:10px;margin-top:4px}
.auth-feature-list span{display:flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.12);font-weight:850}
.auth-card{width:100%;background:var(--panel);border-radius:22px;padding:30px;box-shadow:0 24px 60px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.35)}
.auth-logo{font-size:18px;font-weight:900;letter-spacing:0;width:62px;height:62px;border-radius:14px;background:color-mix(in srgb,var(--accent) 16%,var(--panel));display:grid;place-items:center;margin-bottom:10px;color:var(--accent)}
.auth-card h1{margin:0 0 4px}
.auth-subtitle{margin:0 0 18px;color:var(--muted);line-height:1.45}
.auth-guidance{margin:18px 0;padding:16px;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:0 14px 14px 0;background:var(--panel-soft)}
.auth-guidance strong{display:block;margin-bottom:8px;color:var(--text)}
.auth-guidance ol{display:grid;gap:6px;margin:0;padding-left:20px;color:var(--muted);font-size:13px;line-height:1.45}
.auth-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}
.auth-actions button{min-height:44px}
.auth-support-row{margin:20px 0 8px;padding-top:16px;border-top:1px solid var(--line);text-align:center}
.auth-support-row a{color:var(--accent);font-weight:850;text-decoration-thickness:2px;text-underline-offset:4px}
.auth-message{min-height:20px;margin:12px 0 0;text-align:center;line-height:1.4}
.sidebar{width:345px;background:var(--sidebar);color:#fff;display:flex;flex-direction:column;padding:18px;gap:14px}
.app-title{display:flex;gap:12px;align-items:center}
.badge{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#8b6f47);display:grid;place-items:center;font-weight:900;letter-spacing:0}
.app-title h1{margin:0;font-size:20px}.app-title p{margin:2px 0 0;color:#cbd5e1;font-size:12px}
.auth-logo,.badge{font-size:0}
.auth-logo::before,.badge::before{content:"CM";font-size:18px;font-weight:900;letter-spacing:0}
.auth-logo::before{color:var(--accent)}
.badge::before{color:#fff}
button,.restore-label{border:1px solid color-mix(in srgb,var(--line) 80%,transparent);border-radius:10px;padding:9px 12px;background:#e8ece7;color:#17201c;font-weight:750;cursor:pointer;text-align:center;transition:.15s transform,.15s opacity,.15s background,.15s border-color}
button:hover,.restore-label:hover{transform:translateY(-1px);opacity:.96;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.primary{background:var(--accent);color:white;border-color:var(--accent)}.danger{background:var(--danger);color:white;border-color:var(--danger)}
[data-theme="dark"] button,[data-theme="dark"] .restore-label{background:#303a36;color:var(--text);border-color:var(--line)}
[data-theme="dark"] .primary{background:var(--accent);color:#fff;border-color:var(--accent)}
[data-theme="dark"] .danger{background:var(--danger);color:#fff;border-color:var(--danger)}
.search-box input{width:100%;padding:11px;border-radius:12px;border:1px solid #374151;background:var(--sidebar-panel);color:#fff}
.client-list{overflow:auto;display:flex;flex-direction:column;gap:9px;padding-right:3px}
.client-card{width:100%;text-align:left;background:var(--sidebar-panel);color:#fff;border:1px solid rgba(255,255,255,.08);padding:12px}
.client-card.active{outline:2px solid color-mix(in srgb,var(--accent) 82%,white);background:#36544d}
.client-card strong,.client-card span,.client-card small{display:block}.client-card span{color:#cbd5e1;margin-top:4px}.client-card small{color:#94a3b8;margin-top:4px}
.risk-pill{display:inline-flex;align-items:center;gap:5px;margin-top:8px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}
.risk-red{background:#fee2e2;color:#991b1b}.risk-amber{background:#fef3c7;color:#92400e}.risk-green{background:#dcfce7;color:#166534}
.sidebar-footer{margin-top:auto;display:grid;gap:8px}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.topbar{padding:18px 24px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar h2{margin:0}.topbar p{margin:4px 0 0;color:var(--muted)}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap}
.empty-state{margin:30px;background:var(--panel);border-radius:var(--radius);padding:30px;border:1px solid var(--line);box-shadow:var(--shadow)}
.workspace{display:flex;flex-direction:column;min-height:0}
.tabs{display:flex;gap:18px;overflow:auto;padding:12px 20px;background:var(--panel-soft);border-bottom:1px solid var(--line);align-items:flex-start}
.nav-group{display:flex;flex-direction:column;gap:7px;flex:0 0 auto}
.nav-group-title{font-size:10px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.nav-group-items{display:flex;gap:6px}
.tabs button{white-space:nowrap;background:var(--panel);border:1px solid var(--line);color:var(--text);padding:7px 10px;border-radius:8px;font-size:13px;box-shadow:0 1px 2px rgba(33,40,35,.04)}
.tabs button.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 24%,transparent)}
.tab-content{padding:20px;overflow:auto}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
.panel h3{margin-top:0}
.grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(220px,1fr))}
.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:12px;font-weight:800;color:var(--muted)}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:11px;padding:10px;font:inherit;background:var(--panel);color:var(--text)}
.field textarea{min-height:82px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.summary-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:18px}
.metric{background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 88%,var(--accent)));border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}
.metric strong{font-size:30px;display:block}.metric span{color:var(--muted);font-weight:700}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:var(--panel)}
th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14px}th{background:#31413c;color:#fff;position:sticky;top:0;z-index:1}
tr:hover td{background:color-mix(in srgb,var(--panel) 80%,var(--accent))}
.rag-red{color:#ef4444;font-weight:800}.rag-amber{color:#f59e0b;font-weight:800}.rag-green{color:#22c55e;font-weight:800}.mini{font-size:12px;color:var(--muted)}
.row-actions{display:flex;gap:6px}.row-actions button{padding:6px 8px;border-radius:8px}
.notice{background:color-mix(in srgb,#fef3c7 78%,var(--panel));border:1px solid #fde68a;padding:12px;border-radius:12px;color:#78350f;margin-top:12px}
.kbd{font-family:monospace;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:2px 6px}.toast{position:fixed;right:18px;bottom:18px;background:var(--sidebar);color:#fff;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);z-index:999}
.color-row{display:flex;gap:10px;flex-wrap:wrap}.swatch{width:38px;height:38px;border-radius:50%;border:3px solid var(--panel);box-shadow:0 0 0 1px var(--line);cursor:pointer}
[data-compact="true"] .panel,[data-compact="true"] .metric{padding:12px}[data-compact="true"] th,[data-compact="true"] td{padding:7px}[data-compact="true"] .tab-content{padding:12px}
@media(max-width:1050px){.summary-cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.auth-shell{grid-template-columns:1fr}.auth-info-panel{min-height:auto}.auth-info-panel h2{font-size:32px}}
@media(max-width:760px){.auth-screen{padding:14px}.auth-card,.auth-info-panel{padding:22px;border-radius:18px}.auth-actions{grid-template-columns:1fr}.app-shell{flex-direction:column;height:auto}.sidebar{width:100%;height:auto}.grid,.grid.two,.summary-cards,.resource-toolbar{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.tabs{gap:12px;padding:10px 14px}.nav-group-items{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:6px}.tabs button{padding:7px 9px}}

.health-bar{height:18px;background:var(--bg);border:1px solid var(--line);border-radius:999px;overflow:hidden;margin:8px 0 12px}
.health-bar div{height:100%;background:linear-gradient(90deg,var(--danger),var(--warning),var(--success));border-radius:999px}
.calendar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.calendar-item{background:var(--panel-soft);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:12px;padding:12px}
.calendar-item strong,.calendar-item span,.calendar-item small{display:block}
.calendar-item span{font-size:12px;font-weight:800;color:var(--accent);margin-top:4px}
.calendar-item p{margin:8px 0 4px;font-weight:750}
.generator-output{width:100%;min-height:360px;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--panel);color:var(--text);font-family:ui-monospace,Consolas,monospace;white-space:pre-wrap}
.resource-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 190px;gap:12px;align-items:end}
.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.resource-card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.resource-card-head{display:grid;gap:5px}
.resource-card-head span{width:max-content;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800;color:var(--accent);background:var(--panel-soft)}
.resource-card-head strong{font-size:17px;line-height:1.25}
.resource-card p{margin:0}
.resource-card details{border-top:1px solid var(--line);padding-top:8px}
.resource-card summary{cursor:pointer;font-weight:800;color:var(--text)}
.resource-card ol{margin:8px 0 0;padding-left:20px}
.resource-card pre{white-space:pre-wrap;overflow:auto;max-height:240px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);padding:10px;font-size:12px}
.resource-tags{display:flex;flex-wrap:wrap;gap:6px}
.resource-tags span{border:1px solid var(--line);border-radius:999px;padding:3px 8px;font-size:12px;color:var(--muted);background:var(--panel-soft)}
.resource-mini-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
.resource-mini{border:1px solid var(--line);border-radius:10px;background:var(--panel-soft);padding:12px;display:grid;gap:6px;min-width:0}
.resource-mini span{font-size:12px;font-weight:800;color:var(--accent)}
.resource-mini p{margin:0;color:var(--muted)}

.upload-zone{border:2px dashed var(--line);border-radius:var(--radius);padding:18px;background:color-mix(in srgb,var(--panel) 88%,var(--accent));margin-bottom:10px}
.upload-zone strong{font-size:18px;display:block;margin-bottom:4px}
.upload-zone input[type=file]{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);width:100%}
button:disabled,input:disabled{opacity:.55;cursor:not-allowed}

/* Version 7 tooltip/focus improvements */
button[title], .restore-label[title] {
  position: relative;
}
button[title]:focus-visible, .restore-label[title]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 55%, white);
  outline-offset: 2px;
}
.help-note {
  font-size: 12px;
  color: var(--muted);
}

/* Version 8 custom tooltip system */
.custom-tooltip {
  position: fixed;
  z-index: 99999;
  max-width: 320px;
  padding: 10px 12px;
  border-radius: 12px;
  background: var(--sidebar);
  color: #ffffff;
  font-size: 13px;
  line-height: 1.35;
  box-shadow: 0 12px 30px rgba(0,0,0,.28);
  pointer-events: none;
  opacity: 1;
  transform: translateY(0);
}
.custom-tooltip::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -6px;
  transform: translateX(-50%);
  border-width: 6px 6px 0 6px;
  border-style: solid;
  border-color: var(--sidebar) transparent transparent transparent;
}
.custom-tooltip.hidden {
  display: none;
}
button[data-tooltip], .restore-label[data-tooltip] {
  cursor: help;
}

/* Version 9 visible help badges and popovers */
.help-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:7px;
  width:17px;
  height:17px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  color:inherit;
  font-size:0;
  font-weight:900;
  vertical-align:middle;
}
.help-badge::before{content:"i";font-size:12px}
.visible-help-box{
  position:fixed;
  z-index:2147483647;
  width:min(340px, calc(100vw - 20px));
  background:var(--sidebar);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  padding:12px 14px;
  box-shadow:0 20px 45px rgba(0,0,0,.35);
  pointer-events:none;
}
.visible-help-box strong{
  display:block;
  font-size:13px;
  margin-bottom:5px;
  color:#b9f3dc;
}
.visible-help-box p{
  margin:0;
  font-size:13px;
  line-height:1.38;
}
.visible-help-box.hidden{display:none}
button,.restore-label{overflow:visible}

/* Version 10 reliable section help panel */
.section-help-button{
  margin:0 0 14px 0;
  background:color-mix(in srgb, var(--accent) 12%, var(--panel));
  color:var(--text);
  border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));
}
.help-panel-overlay{
  position:fixed;
  inset:0;
  background:rgba(15,23,42,.62);
  z-index:2147483647;
  display:grid;
  place-items:center;
  padding:20px;
}
.help-panel-overlay.hidden{display:none}
.help-panel{
  width:min(720px,96vw);
  background:var(--panel);
  color:var(--text);
  border:1px solid var(--line);
  border-radius:22px;
  padding:22px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
}
.help-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  margin-bottom:14px;
  padding-bottom:12px;
}
.help-panel-header h2{margin:0}
.help-panel p{font-size:16px;line-height:1.5}
.help-panel li{margin:8px 0}

/* Version 11 Email Import */
.large-textarea{
  min-height:260px!important;
}
.email-suggestion-list{
  display:grid;
  gap:12px;
}
.email-suggestion{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  align-items:start;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
}
.email-suggestion strong,
.email-suggestion span{
  display:block;
}
.email-suggestion span{
  font-size:12px;
  color:var(--accent);
  font-weight:800;
  margin:3px 0 8px;
}
.email-suggestion pre{
  white-space:pre-wrap;
  overflow:auto;
  max-height:180px;
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:10px;
  padding:10px;
  font-size:12px;
}

/* Version 12 polished navigation */
.tabs{
  position:sticky;
  top:0;
  z-index:20;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:14px;
  overflow:visible;
  padding:12px 18px;
  background:color-mix(in srgb,var(--panel) 88%,var(--bg));
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(33,40,35,.05);
  align-items:stretch;
}
.nav-current{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:205px;
  padding:10px 12px;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:16px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 13%,var(--panel)),var(--panel));
  box-shadow:0 2px 10px rgba(33,40,35,.06);
}
.nav-current-icon{
  width:36px;
  height:36px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--accent);
  color:#fff;
  font-weight:900;
  flex:0 0 auto;
}
.nav-current strong,
.nav-current small{display:block;line-height:1.15}
.nav-current strong{font-size:14px;color:var(--text)}
.nav-current small{margin-top:3px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.nav-strip{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:1px 4px 8px 0;
  scrollbar-width:thin;
}
.nav-group{
  display:flex;
  flex-direction:column;
  gap:6px;
  flex:0 0 auto;
  padding:8px;
  border:1px solid transparent;
  border-radius:16px;
  background:transparent;
}
.nav-group.contains-active{
  background:color-mix(in srgb,var(--accent) 7%,var(--panel));
  border-color:color-mix(in srgb,var(--accent) 22%,var(--line));
}
.nav-group-title{
  padding:0 4px;
  font-size:10px;
  font-weight:950;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.11em;
}
.nav-group-items{display:flex;gap:5px;align-items:center}
.tabs button.nav-tab{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  white-space:nowrap;
  background:var(--panel);
  border:1px solid var(--line);
  color:var(--text);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  line-height:1;
  box-shadow:0 1px 2px rgba(33,40,35,.04);
}
.tabs button.nav-tab:hover{
  transform:translateY(-1px);
  background:color-mix(in srgb,var(--accent) 8%,var(--panel));
}
.tabs button.nav-tab.active{
  background:var(--accent);
  color:#fff;
  border-color:var(--accent);
  box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 26%,transparent);
}
.nav-icon{
  width:18px;
  height:18px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  background:color-mix(in srgb,var(--accent) 12%,var(--bg));
  color:var(--accent);
  font-size:11px;
  font-weight:950;
  flex:0 0 auto;
}
.tabs button.nav-tab.active .nav-icon{
  background:rgba(255,255,255,.2);
  color:#fff;
}
.nav-label{font-weight:850}
[data-theme="dark"] .tabs{
  background:color-mix(in srgb,var(--panel) 90%,#000);
  box-shadow:0 4px 20px rgba(0,0,0,.22);
}
[data-theme="dark"] .nav-current,
[data-theme="dark"] .tabs button.nav-tab{background:var(--panel)}
[data-theme="dark"] .nav-group.contains-active{background:color-mix(in srgb,var(--accent) 11%,var(--panel))}
@media(max-width:1120px){
  .tabs{grid-template-columns:1fr;gap:8px;padding:10px 14px}
  .nav-current{min-width:0;width:100%}
  .nav-strip{padding-bottom:6px}
}
@media(max-width:760px){
  .tabs{position:sticky;top:0;gap:8px;padding:10px}
  .nav-current{padding:9px 10px;border-radius:14px}
  .nav-current-icon{width:32px;height:32px;border-radius:10px}
  .nav-strip{gap:8px}
  .nav-group{padding:7px;border-radius:14px}
  .nav-group-items{display:flex;gap:5px}
  .tabs button.nav-tab{padding:7px 9px;min-height:32px}
}
@media(max-width:520px){
  .tabs button.nav-tab .nav-label{display:none}
  .tabs button.nav-tab{width:36px;justify-content:center;padding:7px}
  .nav-icon{background:transparent;width:18px}
}

/* Version 13 compact dropdown navigation */
.tabs{
  position:relative;
  z-index:20;
  display:flex;
  align-items:center;
  gap:10px;
  overflow:visible;
  padding:12px 18px;
  background:linear-gradient(180deg,var(--panel),var(--panel-soft));
  border-bottom:1px solid var(--line);
  box-shadow:0 8px 24px rgba(33,40,35,.06);
}
.nav-current,.nav-strip,.tabs .nav-group{display:none!important}
.nav-home{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:180px;
  padding:9px 12px!important;
  border-radius:16px!important;
  background:var(--panel)!important;
  color:var(--text)!important;
  border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line))!important;
  box-shadow:0 4px 14px rgba(33,40,35,.07)!important;
  text-align:left;
}
.nav-home strong,.nav-home small{display:block;line-height:1.12}
.nav-home strong{font-size:13px;font-weight:950}
.nav-home small{margin-top:3px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.nav-home.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.nav-home.active small{color:rgba(255,255,255,.78)}
.nav-dropdown-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.nav-dropdown{position:relative;flex:0 0 auto}
.nav-dropdown summary{
  list-style:none;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--text);
  cursor:pointer;
  box-shadow:0 1px 3px rgba(33,40,35,.05);
  user-select:none;
}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{content:"⌄";font-size:13px;color:var(--muted);font-weight:900;margin-left:2px}
.nav-dropdown summary span{font-size:13px;font-weight:950}
.nav-dropdown summary small{
  padding:2px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 9%,var(--bg));
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.nav-dropdown.contains-active summary{
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 11%,var(--panel));
}
.nav-dropdown.contains-active summary span{color:var(--accent)}
.nav-dropdown[open] summary{border-radius:18px 18px 8px 8px;box-shadow:0 8px 20px rgba(33,40,35,.10)}
.nav-dropdown[open] summary::after{content:"⌃"}
.nav-dropdown-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  z-index:9999;
  min-width:245px;
  display:grid;
  gap:6px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  box-shadow:0 22px 50px rgba(15,23,42,.22);
}
.nav-dropdown-item{
  width:100%;
  display:flex!important;
  align-items:center;
  gap:10px;
  padding:10px!important;
  border-radius:13px!important;
  background:transparent!important;
  color:var(--text)!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  text-align:left!important;
}
.nav-dropdown-item:hover{background:color-mix(in srgb,var(--accent) 9%,var(--panel))!important;border-color:color-mix(in srgb,var(--accent) 22%,var(--line))!important}
.nav-dropdown-item.active{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
.nav-dropdown-item strong,.nav-dropdown-item small{display:block;line-height:1.12}
.nav-dropdown-item strong{font-size:13px;font-weight:900}
.nav-dropdown-item small{margin-top:3px;font-size:11px;color:var(--muted);font-weight:800}
.nav-dropdown-item.active small{color:rgba(255,255,255,.76)}
.nav-icon{
  width:24px;
  height:24px;
  border-radius:9px;
  display:inline-grid;
  place-items:center;
  background:color-mix(in srgb,var(--accent) 12%,var(--bg));
  color:var(--accent);
  font-size:12px;
  font-weight:950;
  flex:0 0 auto;
}
.nav-home.active .nav-icon,.nav-dropdown-item.active .nav-icon{background:rgba(255,255,255,.2);color:#fff}
[data-theme="dark"] .tabs{background:linear-gradient(180deg,var(--panel),color-mix(in srgb,var(--panel) 88%,#000));box-shadow:0 8px 24px rgba(0,0,0,.24)}
[data-theme="dark"] .nav-dropdown-menu{box-shadow:0 22px 50px rgba(0,0,0,.44)}
@media(max-width:900px){
  .tabs{align-items:flex-start;flex-direction:column;gap:9px;padding:10px 12px}
  .nav-home{width:100%;min-width:0;justify-content:flex-start}
  .nav-dropdown-bar{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .nav-dropdown summary{justify-content:space-between;width:100%;border-radius:14px}
  .nav-dropdown-menu{position:absolute;left:0;right:auto;min-width:min(280px,calc(100vw - 28px))}
}
@media(max-width:520px){
  .nav-dropdown-bar{grid-template-columns:1fr}
  .nav-dropdown-menu{position:static;margin-top:7px;min-width:0;width:100%;box-shadow:0 12px 28px rgba(15,23,42,.18)}
}

/* V15 admin/security refinements */
.grid.three{grid-template-columns:repeat(3,minmax(180px,1fr))}
.panel .mini{color:var(--muted);font-size:12px;line-height:1.45}
[data-theme="dark"] .panel .mini{color:color-mix(in srgb,var(--muted) 85%,#fff)}
@media(max-width:760px){.grid.three{grid-template-columns:1fr}}


/* V16 navigation help tooltips and guided tour */
.nav-tour-button{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 12px!important;
  border-radius:16px!important;
  background:color-mix(in srgb,var(--accent) 10%,var(--panel))!important;
  color:var(--text)!important;
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))!important;
  box-shadow:0 4px 14px rgba(33,40,35,.06)!important;
  text-align:left;
}
.nav-tour-button strong,.nav-tour-button small{display:block;line-height:1.12}
.nav-tour-button strong{font-size:13px;font-weight:950}
.nav-tour-button small{margin-top:3px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:900}
.nav-home .help-badge,.nav-dropdown-item .help-badge,.nav-tour-button .help-badge{display:none!important}
.nav-dropdown summary[data-tooltip]{cursor:help}
.visible-help-box{
  width:min(420px, calc(100vw - 20px));
  background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 86%,#000));
}
.visible-help-box strong{color:#d8fff5;letter-spacing:.02em}
.guide-panel{max-height:88vh;overflow:auto}
.guide-panel h3{margin:18px 0 8px;color:var(--accent)}
.guide-list{margin:0;padding-left:20px;display:grid;gap:8px}
.guide-list li{line-height:1.42}
@media(max-width:900px){.nav-tour-button{width:100%;justify-content:flex-start}}

/* V16.1 header help menu */
.topbar-actions{align-items:center}
.header-help-menu{position:relative;display:inline-block}
.header-help-menu summary{
  list-style:none;
  cursor:pointer;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
  color:var(--text);
  border-radius:12px;
  padding:9px 12px;
  font-size:13px;
  font-weight:900;
  box-shadow:0 4px 14px rgba(33,40,35,.06);
}
.header-help-menu summary::-webkit-details-marker{display:none}
.header-help-menu[open] summary{background:var(--accent);color:#fff;border-color:var(--accent)}
.header-help-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:220px;
  z-index:80;
  display:grid;
  gap:6px;
  padding:9px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  box-shadow:0 18px 42px rgba(15,23,42,.2);
}
.header-help-dropdown button{
  width:100%;
  justify-content:flex-start;
  text-align:left;
  box-shadow:none;
}
.icon-header-button,.account-header-button{font-weight:900}
.nav-tour-button{display:none!important}
@media(max-width:760px){
  .topbar-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .header-help-menu{width:100%}
  .header-help-menu summary{width:100%;box-sizing:border-box;text-align:center}
  .header-help-dropdown{left:0;right:auto;min-width:min(280px,calc(100vw - 32px))}
}

/* V17 role-based case navigation */
.case-list-heading{display:flex;align-items:center;justify-content:space-between;padding:8px 2px 2px;color:#e2e8f0;font-size:13px;letter-spacing:.01em}
.case-list-heading span{color:#94a3b8;font-size:12px}
.case-list-empty{padding:12px;border:1px dashed rgba(255,255,255,.16);border-radius:12px;color:#cbd5e1;background:rgba(255,255,255,.04);font-size:13px;line-height:1.4}
.case-card-footer{display:flex;align-items:center;gap:7px;margin-top:8px;flex-wrap:wrap}
.access-pill{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;background:rgba(255,255,255,.12);color:#e2e8f0;border:1px solid rgba(255,255,255,.10)}

/* V19 - case owner flags in the left case list */
.case-owner-group{
  margin:10px 0;
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.55);
  overflow:hidden;
}
.case-owner-group > summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  font-size:.9rem;
}
.case-owner-group > summary::-webkit-details-marker{display:none;}
.case-owner-group > summary strong{display:block;}
.case-owner-group > summary small{display:block;color:var(--muted);font-size:.75rem;}
.owner-avatar,.mini-avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:999px;
  background:var(--accent);
  color:white;
  font-weight:800;
  letter-spacing:.02em;
}
.owner-avatar{width:30px;height:30px;font-size:.75rem;}
.mini-avatar{width:18px;height:18px;font-size:.58rem;margin-right:5px;}
.case-owner-group .client-card{
  margin:0 8px 8px;
  width:calc(100% - 16px);
}
.case-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.case-title-row strong{min-width:0;}
.case-owner-chip{
  display:inline-flex;
  align-items:center;
  max-width:48%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  border:1px solid var(--border);
  border-radius:999px;
  padding:2px 7px 2px 2px;
  font-size:.68rem;
  color:var(--text);
  background:rgba(255,255,255,.7);
}
[data-theme="dark"] .case-owner-group,
[data-theme="dark"] .case-owner-chip{background:rgba(15,23,42,.72);}

/* V19.2 - tidy case ownership sections and colour polish */
:root{
  --owner-section-bg:rgba(255,255,255,.075);
  --owner-section-border:rgba(255,255,255,.10);
  --owner-section-header:rgba(255,255,255,.055);
  --owner-chip-bg:rgba(255,255,255,.10);
  --owner-chip-border:rgba(255,255,255,.12);
}
[data-theme="dark"]{
  --owner-section-bg:rgba(255,255,255,.045);
  --owner-section-border:rgba(255,255,255,.085);
  --owner-section-header:rgba(255,255,255,.04);
  --owner-chip-bg:rgba(255,255,255,.08);
  --owner-chip-border:rgba(255,255,255,.10);
}
.sidebar{
  background:linear-gradient(180deg,var(--sidebar),color-mix(in srgb,var(--sidebar) 88%,#000));
}
.client-list{
  gap:10px;
  scrollbar-width:thin;
}
.case-list-heading{
  margin-top:2px;
  padding:10px 4px 4px;
  color:#f8fafc;
  font-weight:900;
}
.case-list-heading span{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.10);
  color:#d1d5db;
  border-radius:999px;
  padding:2px 8px;
  font-size:11px;
}
.case-owner-group{
  margin:4px 0 8px;
  border:1px solid var(--owner-section-border);
  border-radius:14px;
  background:var(--owner-section-bg);
  overflow:hidden;
  box-shadow:none;
}
.case-owner-group > summary{
  padding:10px 11px;
  background:var(--owner-section-header);
  color:#f8fafc;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.case-owner-group > summary:hover{
  background:rgba(255,255,255,.085);
}
.case-owner-group > summary::after{
  content:"⌄";
  margin-left:auto;
  color:#cbd5e1;
  font-weight:900;
  transform:rotate(0deg);
  transition:transform .15s ease;
}
.case-owner-group:not([open]) > summary::after{transform:rotate(-90deg);}
.case-owner-group > summary strong{
  color:#fff;
  font-size:13px;
  line-height:1.1;
}
.case-owner-group > summary small{
  color:#cbd5e1;
  font-size:11px;
  margin-top:3px;
}
.owner-avatar,.mini-avatar{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#fff),color-mix(in srgb,var(--accent-2) 82%,#000));
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
}
.owner-avatar{
  width:28px;
  height:28px;
  font-size:11px;
}
.mini-avatar{
  width:17px;
  height:17px;
  font-size:9px;
  margin-right:5px;
}
.case-owner-group .client-card{
  margin:8px;
  width:calc(100% - 16px);
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  padding:10px 11px;
}
.case-owner-group .client-card:hover{
  background:rgba(255,255,255,.105);
  border-color:rgba(255,255,255,.16);
}
.case-owner-group .client-card.active{
  outline:none;
  background:color-mix(in srgb,var(--accent) 42%,var(--sidebar-panel));
  border-color:color-mix(in srgb,var(--accent) 72%,white);
  box-shadow:0 0 0 2px rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.14);
}
.case-title-row{
  align-items:center;
}
.case-title-row strong{
  font-size:13px;
  line-height:1.25;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
}
.client-card span{
  font-size:12px;
  color:#cbd5e1;
}
.client-card small{
  color:#aeb8c3;
  font-size:11px;
}
.case-owner-chip{
  flex:0 0 auto;
  max-width:42%;
  border:1px solid var(--owner-chip-border);
  border-radius:999px;
  padding:2px 8px 2px 3px;
  font-size:10.5px;
  color:#e5e7eb;
  background:var(--owner-chip-bg);
}
.case-card-footer{
  margin-top:9px;
  gap:6px;
}
.risk-pill,.access-pill{
  border-radius:999px;
  padding:3px 8px;
  font-size:10.5px;
  font-weight:900;
  border:1px solid rgba(255,255,255,.12);
}
.access-pill{
  background:rgba(255,255,255,.085);
  color:#dbe4ea;
}
.risk-red{background:rgba(239,68,68,.16);color:#fecaca;border-color:rgba(239,68,68,.28)}
.risk-amber{background:rgba(245,158,11,.16);color:#fde68a;border-color:rgba(245,158,11,.28)}
.risk-green{background:rgba(34,197,94,.16);color:#bbf7d0;border-color:rgba(34,197,94,.28)}
.case-list-empty{
  background:rgba(255,255,255,.055);
  border-color:rgba(255,255,255,.12);
  color:#d1d5db;
}
[data-theme="dark"] .case-owner-group,
[data-theme="dark"] .case-owner-chip{
  background:var(--owner-section-bg);
}


/* V20.1 reliable navigation tooltip polish */
button[data-tooltip], summary[data-tooltip], .restore-label[data-tooltip], [data-tooltip] {
  cursor: pointer;
}
.nav-dropdown summary[data-tooltip]{cursor:pointer}
.visible-help-box{
  min-width:260px;
  animation: tooltipFadeIn .12s ease-out;
}
.visible-help-box strong::before{content:"";}
@keyframes tooltipFadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}


/* V20.2 tooltip cleanup: no repeated question marks/icons in popups */
.visible-help-box{
  max-width:300px;
  padding:12px 14px;
  border-radius:14px;
}
.visible-help-box strong{
  display:block;
  margin-bottom:4px;
  font-size:13px;
  letter-spacing:.01em;
}
.visible-help-box p{
  margin:0;
  font-size:13px;
  line-height:1.4;
}
.help-badge{display:none!important;}

.auth-logo img,.badge img{width:100%;height:100%;object-fit:contain;border-radius:12px}.auth-logo::before,.badge::before{content:none!important}


/* V20.4 CRS professional branding fix */
.auth-logo::before,
.badge::before{
  content:none!important;
  display:none!important;
}
.auth-logo img,
.badge img,
.brand-logo-full img,
.brand-logo-icon img{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
}
.auth-logo.brand-logo-full{
  width:220px!important;
  height:auto!important;
  min-height:120px!important;
  padding:0!important;
  margin:0 auto 14px!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.auth-logo.brand-logo-full img{
  width:100%!important;
  height:auto!important;
  max-height:150px!important;
  object-fit:contain!important;
  border-radius:0!important;
}
.badge.brand-logo-icon{
  width:56px!important;
  height:56px!important;
  padding:3px!important;
  border-radius:14px!important;
  background:#ffffff!important;
  border:1px solid rgba(212,175,55,.45)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  overflow:hidden!important;
}
.badge.brand-logo-icon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  border-radius:10px!important;
}
.app-title h1,
#authAppName{
  letter-spacing:.01em;
}


/* V21.4 sidebar client list tidy */
.client-card .case-title-row{align-items:center;gap:8px;}
.client-card .case-title-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.case-owner-chip.compact-owner{padding:2px;border-radius:999px;background:transparent;border:0;margin-left:auto;}
.case-owner-chip.compact-owner .mini-avatar{width:24px;height:24px;font-size:10px;}
.case-owner-group summary strong{max-width:150px;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;}
/* V21.5 assignment management polish */
.disabled-owner-avatar,.owner-disabled .mini-avatar{opacity:.65;filter:grayscale(1)}
.disabled-owner-pill,.status-badge.disabled{display:inline-flex;align-items:center;border:1px solid #f1b6b6;background:#fff1f1;color:#9d2020;border-radius:999px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:700;margin-left:6px;white-space:nowrap}.case-card-footer{gap:6px;flex-wrap:wrap}.table-wrap select{max-width:240px}

.version-tag{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center;}
.diagnostic-pre{white-space:pre-wrap;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px;font-size:12px;overflow:auto;}

/* v23 Case Archive */
.status-badge.archived, .access-pill.archived {
  border-color: rgba(245, 158, 11, .45);
  background: rgba(245, 158, 11, .12);
}
.status-badge.soft-deleted, .access-pill.soft-deleted {
  border-color: rgba(239, 68, 68, .45);
  background: rgba(239, 68, 68, .12);
}

/* v36 Admin Operate-as-User */
.operate-banner{padding:10px 16px;margin:0 0 12px 0;border:1px solid #f0b429;background:#fff8e1;color:#3b2f00;border-radius:12px;box-shadow:0 1px 6px rgba(0,0,0,.08)}
.operate-banner button{margin-left:12px}
.warn{border-left:4px solid #f0b429;padding:8px 10px;background:#fff8e1;border-radius:8px}

/* v40.1 CourtReady AI Workspace */
.courtready-ai-question{
  width:100%;
  min-height:260px!important;
  resize:vertical;
  line-height:1.45;
  font-size:15px;
}
.ai-workspace-hint{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 14px;
  background:var(--soft);
  margin:10px 0 14px;
  color:var(--muted);
}


/* v40.3 Activity Feed */
.activity-feed{display:flex;flex-direction:column;gap:.7rem;margin:.25rem 0 1rem;}
.activity-feed-item{display:grid;grid-template-columns:44px 1fr auto;gap:.75rem;align-items:center;padding:.8rem;border:1px solid var(--border,#d9e2ef);border-radius:14px;background:rgba(255,255,255,.72);box-shadow:0 1px 2px rgba(15,23,42,.04);}
.activity-feed-icon{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(15,23,42,.06);font-size:1.05rem;}
.activity-feed-main strong{display:inline-block;margin-right:.35rem;}
@media(max-width:720px){.activity-feed-item{grid-template-columns:36px 1fr}.activity-feed-item>div:last-child{grid-column:2}.activity-feed-item button{width:100%;}}

/* V41.1 First Case Setup Wizard */
.case-wizard-overlay{
  position:fixed;
  inset:0;
  z-index:1200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.58);
  backdrop-filter:blur(8px);
}
.case-wizard{
  width:min(940px,100%);
  max-height:92vh;
  overflow:auto;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 28px 80px rgba(0,0,0,.26);
}
.case-wizard-header{
  display:flex;
  gap:16px;
  justify-content:space-between;
  padding:22px 24px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel));
}
.case-wizard-header h2{margin:2px 0 6px;font-size:26px}
.case-wizard-header p{margin:0;color:var(--muted)}
.case-wizard-progress{height:8px;background:var(--panel-soft);overflow:hidden}
.case-wizard-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .18s ease}
.case-wizard-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--panel-soft)}
.case-wizard-steps span{min-height:38px;display:flex;align-items:center;justify-content:center;padding:8px;border:1px solid var(--line);border-radius:12px;font-size:12px;font-weight:900;text-align:center;color:var(--muted);background:var(--panel)}
.case-wizard-steps span.active{color:#fff;border-color:var(--accent);background:var(--accent)}
.case-wizard-steps span.done{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.case-wizard-body{padding:22px 24px}
.wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.wizard-wide{grid-column:1 / -1}
.wizard-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.wizard-check{display:flex;gap:9px;align-items:flex-start;min-height:44px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);font-weight:800}
.wizard-check input{margin-top:3px}
.wizard-review{display:grid;gap:7px;padding:16px;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:0 14px 14px 0;background:var(--panel-soft)}
.wizard-review h3,.wizard-review p{margin:0}
.wizard-template-note,.wizard-readiness,.wizard-urgency{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft);line-height:1.45}
.wizard-readiness ul,.wizard-urgency ul{margin:8px 0 0;padding-left:20px}
.wizard-readiness li,.wizard-urgency li{margin:4px 0}
.wizard-urgency{border-left:5px solid #ef4444;border-radius:0 14px 14px 0;background:color-mix(in srgb,#fee2e2 72%,var(--panel));color:#7f1d1d}
.wizard-template-note{border-left:5px solid var(--accent);border-radius:0 14px 14px 0}
.case-wizard-note{margin:0 24px 18px;padding:13px 14px;border:1px solid #fde68a;border-left:5px solid #f59e0b;border-radius:0 12px 12px 0;background:color-mix(in srgb,#fef3c7 80%,var(--panel));color:#7c2d12;font-size:13px;line-height:1.45}
.case-wizard-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid var(--line);background:var(--panel-soft)}
[data-theme="dark"] .case-wizard-note{color:#fde68a;background:rgba(120,53,15,.28)}
[data-theme="dark"] .wizard-urgency{color:#fecaca;background:rgba(127,29,29,.35)}
@media(max-width:760px){
  .case-wizard-overlay{align-items:flex-start;padding:10px}
  .case-wizard-header,.case-wizard-footer{flex-direction:column}
  .case-wizard-steps{grid-template-columns:1fr}
  .wizard-grid,.wizard-choice-grid{grid-template-columns:1fr}
  .case-wizard-footer button{width:100%}
}


/* Version 42.2 compact footer, footer links and legal centre */
.site-footer{
  background:var(--sidebar);
  color:#e5eee9;
  border-top:3px solid var(--accent);
  margin-top:auto;
}
.site-footer-compact{
  padding:12px clamp(16px,3vw,34px) 10px;
}
.site-footer-links{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:6px 14px;
  padding-bottom:8px;
}
.site-footer a{
  color:#d7e7df;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer-strip{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:8px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px 18px;
  flex-wrap:wrap;
  font-size:12px;
  color:#dcebe3;
  line-height:1.35;
}
.site-footer-strip a{display:inline;color:#fff;font-weight:850}
.site-footer-mini-status{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
  color:#cbd5d1;
  font-size:11px;
  font-weight:850;
}
.site-footer-mini-status span{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.07);
  border-radius:999px;
  padding:3px 8px;
}
.seo-footer-text{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.legal-page{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
}
.legal-shell{
  width:min(980px,92vw);
  margin:0 auto;
  padding:32px 0;
}
.legal-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  box-shadow:var(--shadow);
}
.legal-card h1{margin-top:0}
.legal-card h2{margin-top:24px}
.legal-card li{margin:7px 0}
.legal-back{display:inline-block;margin-bottom:16px;color:var(--accent);font-weight:800;text-decoration:none}
@media(max-width:760px){
  .site-footer-compact{padding:12px 14px 10px;}
  .site-footer-links{justify-content:flex-start;gap:7px 12px;}
  .site-footer-strip{display:grid;grid-template-columns:1fr;gap:6px;}
  .site-footer-mini-status{justify-content:flex-start;}
}

/* v42.7 admin link restored */
.guide-workflow-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:12px 0 18px;
}
.guide-workflow-grid > div{
  border:1px solid var(--border,#d6dde2);
  border-radius:12px;
  padding:12px;
  background:rgba(255,255,255,.72);
}
.guide-workflow-grid p{margin:6px 0 0;font-size:.92rem;line-height:1.4;}
.guide-list li span{display:block;margin-top:3px;line-height:1.35;}
@media(max-width:760px){.guide-workflow-grid{grid-template-columns:1fr;}}

/* v44.1: client accounts must not see local/system backup controls */
body.client-mode #backupBtn,
body.client-mode .restore-label {
  display: none !important;
}

/* v44.6 New User Welcome Path */
.welcome-path-overlay{
  position:fixed;
  inset:0;
  z-index:1150;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.52);
  backdrop-filter:blur(8px);
}
.welcome-path-card{
  width:min(760px,100%);
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  overflow:hidden;
}
.welcome-path-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:24px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,var(--panel)),var(--panel));
}
.welcome-path-header h2{margin:2px 0 8px;font-size:28px;line-height:1.08}
.welcome-path-header p{margin:0;color:var(--muted);line-height:1.45}
.welcome-path-actions{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:20px 24px;
}
.welcome-action{
  display:grid;
  gap:7px;
  align-content:start;
  min-height:132px;
  padding:16px;
  text-align:left;
  border-radius:16px;
  background:var(--panel-soft);
}
.welcome-action strong{font-size:16px;color:var(--text)}
.welcome-action span{font-size:13px;line-height:1.4;color:var(--muted);font-weight:650}
.welcome-action.primary-action{
  background:linear-gradient(180deg,var(--accent),var(--accent-2));
  color:#fff;
  border-color:var(--accent);
}
.welcome-action.primary-action strong,
.welcome-action.primary-action span{color:#fff}
.welcome-skip{
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 24px 22px;
  color:var(--muted);
  font-size:13px;
  font-weight:750;
}
@media(max-width:760px){
  .welcome-path-overlay{align-items:flex-start;padding:10px}
  .welcome-path-header{flex-direction:column}
  .welcome-path-actions{grid-template-columns:1fr}
  .welcome-action{min-height:auto}
}


/* v44.7 navigation/account polish */
.restore-label{display:inline-flex!important;align-items:center;justify-content:center;text-align:center;line-height:1.2;min-height:39px;box-sizing:border-box;}
.sidebar-footer .restore-label{width:100%;}
.account-details-table th{width:210px;text-align:left;background:color-mix(in srgb,var(--accent) 8%,transparent);}
.account-details-table td{word-break:break-word;}
.icon-header-button{min-width:44px;}
.site-footer-links a[data-footer-tab]{cursor:pointer;}

/* v45.6 Sample Case */
.sample-case-banner{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  padding:12px 14px;
  margin:0 0 14px 0;
  border:1px solid rgba(99,132,117,.28);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(99,132,117,.14), rgba(47,111,99,.08));
}
.sample-case-banner strong{font-size:1rem;}
.sample-case-banner span{flex:1; min-width:220px; color:var(--muted);}
.sample-case-banner button{white-space:nowrap;}

/* v45.7 Interactive Sample Case Tutorial */
.onboarding-wizard{display:flex;flex-direction:column;gap:14px;}
.onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;}
.onboarding-head h3{margin:2px 0 6px;}
.onboarding-head > strong{background:var(--accent);color:#fff;border-radius:999px;padding:10px 14px;min-width:54px;text-align:center;}
.onboarding-progress{height:10px;border-radius:999px;background:rgba(47,111,99,.14);overflow:hidden;}
.onboarding-progress span{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .25s ease;}
.onboarding-steps{display:grid;gap:10px;}
.onboarding-step{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;border:1px solid rgba(47,111,99,.18);border-radius:14px;padding:12px;background:rgba(255,255,255,.72);}
.onboarding-step.done{background:rgba(47,111,99,.08);border-color:rgba(47,111,99,.32);}
.onboarding-step-number{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:rgba(47,111,99,.12);font-weight:800;color:var(--accent);}
.onboarding-step.done .onboarding-step-number{background:var(--accent);color:#fff;}
.onboarding-step p{margin:4px 0 0;color:var(--muted);font-size:.92rem;}
@media(max-width:720px){.onboarding-step{grid-template-columns:auto 1fr;}.onboarding-step button{grid-column:1 / -1;width:100%;}.onboarding-head{flex-direction:column;}.onboarding-head > strong{align-self:flex-start;}}

/* v45.8 New User Experience Expansion */
.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin-top:.75rem}
.quick-action-grid button{width:100%;min-height:48px;text-align:center}
.v458-health-cards .metric strong{font-size:1.6rem}
.case-completion{display:flex;align-items:center;gap:1rem;margin:.5rem 0 1rem}.case-completion strong{font-size:2rem;color:var(--accent)}
.empty-state{padding:1rem;border:1px dashed rgba(100,116,139,.45);border-radius:14px;background:rgba(148,163,184,.08);text-align:center}.empty-state h3{margin-top:0}.empty-state button{margin-top:.5rem}
.feedback-fab{position:fixed;right:18px;bottom:82px;z-index:9999;border:0;border-radius:999px;padding:12px 16px;background:var(--accent);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.25);font-weight:700;cursor:pointer}.feedback-fab:hover{filter:brightness(.95)}
@media(max-width:700px){.feedback-fab{right:12px;bottom:72px;padding:10px 13px;font-size:.9rem}.quick-action-grid{grid-template-columns:1fr 1fr}}

/* v46.0 First Login Wizard hide control */
.onboarding-wizard{position:relative;}
.wizard-dismiss{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(15,23,42,.18);background:#fff;color:#0f172a;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.wizard-dismiss:hover{filter:brightness(.96);}
/* v46.1 AI feature control additions */
.ai-toggle-master{padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--soft);margin:10px 0 14px;}
.ai-toggle-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:12px 0;}
.ai-toggle-row{border:1px solid var(--border);border-radius:14px;padding:12px;background:var(--card);display:flex;flex-direction:column;gap:5px;}
.ai-toggle-row label,.ai-toggle-master label{display:flex;align-items:center;gap:8px;cursor:pointer;}
.ai-toggle-row small{color:var(--muted);line-height:1.35;}

/* v46.2 AI feature cards */
.ai-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0 18px;}
.ai-feature-card{border:1px solid rgba(47,111,99,.22);border-radius:14px;padding:14px;background:rgba(255,255,255,.72);box-shadow:0 8px 24px rgba(0,0,0,.05);}
.ai-feature-card h4{margin:0 0 8px;font-size:15px;}
.ai-feature-card p{margin:0 0 12px;font-size:13px;line-height:1.4;opacity:.85;}
.ai-feature-card button{width:100%;}

/* =========================================================
   McKenzieCMS v46.4 - Emerald AI Dashboard Theme
   Frontend-only visual redesign. Supabase SQL update: NO.
   ========================================================= */
:root{
  --emerald-950:#02130f;
  --emerald-925:#041b15;
  --emerald-900:#06251d;
  --emerald-850:#083126;
  --emerald-800:#064e3b;
  --emerald-700:#047857;
  --emerald-600:#059669;
  --emerald-500:#10b981;
  --emerald-400:#34d399;
  --emerald-300:#6ee7b7;
  --emerald-glow:rgba(16,185,129,.34);
  --gold:#f6c453;
  --bg:#03100d;
  --panel:rgba(7,31,25,.82);
  --panel-soft:rgba(10,44,35,.72);
  --text:#ecfdf5;
  --muted:#9bd8c3;
  --line:rgba(110,231,183,.18);
  --sidebar:rgba(2,19,15,.96);
  --sidebar-panel:rgba(7,39,31,.84);
  --accent:#10b981;
  --accent-2:#34d399;
  --danger:#fb7185;
  --success:#34d399;
  --warning:#f6c453;
  --radius:18px;
  --shadow:0 22px 60px rgba(0,0,0,.36), 0 0 42px rgba(16,185,129,.08);
}
[data-theme="dark"]{
  --bg:#03100d;
  --panel:rgba(7,31,25,.86);
  --panel-soft:rgba(10,44,35,.74);
  --text:#ecfdf5;
  --muted:#9bd8c3;
  --line:rgba(110,231,183,.20);
  --sidebar:#020f0c;
  --sidebar-panel:rgba(7,39,31,.9);
  --shadow:0 22px 60px rgba(0,0,0,.42), 0 0 46px rgba(16,185,129,.10);
}
html{background:var(--bg)}
body{
  background:
    radial-gradient(circle at 12% 10%, rgba(16,185,129,.20), transparent 34rem),
    radial-gradient(circle at 78% 0%, rgba(52,211,153,.12), transparent 30rem),
    radial-gradient(circle at 70% 88%, rgba(246,196,83,.08), transparent 30rem),
    linear-gradient(135deg,#020807 0%,#031712 46%,#04110e 100%);
  color:var(--text);
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.32;
  background-image:linear-gradient(rgba(110,231,183,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(110,231,183,.05) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(circle at 50% 20%,#000 0%,transparent 72%);
}
.auth-screen{
  background:
    radial-gradient(circle at top left, rgba(52,211,153,.32), transparent 34rem),
    radial-gradient(circle at bottom right, rgba(246,196,83,.13), transparent 28rem),
    linear-gradient(135deg,#020807,#063b2d 58%,#02130f);
}
.auth-info-panel,.auth-card,.panel,.metric,.empty-state,.resource-card,.resource-mini,.modal-card,.settings-card,.ai-card{
  background:linear-gradient(180deg,rgba(10,44,35,.88),rgba(3,16,13,.82));
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  backdrop-filter:blur(18px);
}
.auth-info-panel{position:relative;overflow:hidden}
.auth-info-panel::after{
  content:"AI Dashboard";position:absolute;right:-24px;bottom:20px;font-size:72px;font-weight:950;letter-spacing:-.06em;color:rgba(110,231,183,.08);line-height:1;
}
.auth-kicker,.resource-card-head span,.resource-mini span{
  color:var(--emerald-300);border-color:rgba(110,231,183,.28);background:rgba(16,185,129,.12);
}
.auth-card h1,.auth-info-panel h2,.topbar h2,.panel h3{letter-spacing:-.03em}
.auth-guidance,.notice,.upload-zone{
  background:rgba(16,185,129,.08);border-color:rgba(110,231,183,.20);border-left-color:var(--emerald-400);color:var(--text);
}
.auth-guidance ol,.auth-subtitle,.mini,.topbar p,.client-card small{color:var(--muted)}
.sidebar{
  background:linear-gradient(180deg,rgba(2,19,15,.98),rgba(3,31,24,.96));
  border-right:1px solid rgba(110,231,183,.18);
  box-shadow:18px 0 60px rgba(0,0,0,.28);
}
.badge,.auth-logo{
  background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));
  box-shadow:0 0 30px rgba(16,185,129,.38);
}
.auth-logo::before,.badge::before{color:#ecfdf5}
.brand-logo-full img,.brand-logo-icon img{filter:drop-shadow(0 0 16px rgba(52,211,153,.35))}
button,.restore-label{
  background:rgba(10,44,35,.78);color:var(--text);border-color:rgba(110,231,183,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 8px 22px rgba(0,0,0,.18);
}
button:hover,.restore-label:hover{border-color:rgba(110,231,183,.45);box-shadow:0 0 0 3px rgba(16,185,129,.08),0 14px 30px rgba(0,0,0,.28)}
.primary,.tabs button.active{
  background:linear-gradient(135deg,var(--emerald-500),var(--emerald-700));
  border-color:rgba(110,231,183,.62);color:#02130f;text-shadow:0 1px 0 rgba(255,255,255,.2);
  box-shadow:0 14px 34px rgba(16,185,129,.26), inset 0 1px 0 rgba(255,255,255,.18);
}
.danger{background:linear-gradient(135deg,#fb7185,#be123c);color:#fff;border-color:rgba(251,113,133,.55)}
.search-box input,.field input,.field select,.field textarea,.generator-output{
  background:rgba(2,19,15,.72);color:var(--text);border-color:rgba(110,231,183,.18);outline:none;
}
.search-box input:focus,.field input:focus,.field select:focus,.field textarea:focus{
  border-color:var(--emerald-400);box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.client-card{background:rgba(7,39,31,.74);border-color:rgba(110,231,183,.13)}
.client-card.active{background:linear-gradient(135deg,rgba(16,185,129,.24),rgba(7,39,31,.88));outline:2px solid rgba(52,211,153,.72)}
.topbar{
  background:rgba(3,16,13,.82);border-bottom:1px solid rgba(110,231,183,.16);backdrop-filter:blur(18px);
}
.tabs{
  background:rgba(2,19,15,.62);border-bottom:1px solid rgba(110,231,183,.14);backdrop-filter:blur(14px);
}
.tabs button{background:rgba(10,44,35,.66);color:var(--muted);border-color:rgba(110,231,183,.14)}
.nav-group-title{color:var(--emerald-300)}
.metric{position:relative;overflow:hidden}
.metric::after{content:"";position:absolute;inset:auto -20% -50% 35%;height:110px;background:radial-gradient(circle,rgba(52,211,153,.20),transparent 64%)}
.metric strong{color:#ecfdf5;text-shadow:0 0 20px rgba(52,211,153,.22)}
.metric span{color:var(--muted)}
.table-wrap{border-color:rgba(110,231,183,.18);box-shadow:var(--shadow)}
table{background:rgba(3,16,13,.62)}
th{background:linear-gradient(180deg,rgba(6,78,59,.98),rgba(4,40,31,.98));color:#ecfdf5;border-bottom-color:rgba(110,231,183,.24)}
td{border-bottom-color:rgba(110,231,183,.12)}
tr:hover td{background:rgba(16,185,129,.08)}
.site-footer,.site-footer-compact{background:rgba(2,19,15,.92)!important;border-top:1px solid rgba(110,231,183,.16)!important;color:var(--muted)!important}
a{color:var(--emerald-300)}
.health-bar{background:rgba(2,19,15,.9);border-color:rgba(110,231,183,.20)}
.health-bar div{background:linear-gradient(90deg,#fb7185,#f6c453,#10b981,#6ee7b7);box-shadow:0 0 18px rgba(16,185,129,.4)}
.feedback-fab,.toast,.visible-help-box,.custom-tooltip{background:linear-gradient(135deg,#064e3b,#02130f);border:1px solid rgba(110,231,183,.28);box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 30px rgba(16,185,129,.14)}
.legal-page{max-width:980px;margin:32px auto;padding:28px;background:linear-gradient(180deg,rgba(10,44,35,.88),rgba(3,16,13,.82));border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
@media(max-width:760px){.sidebar{border-right:0;border-bottom:1px solid rgba(110,231,183,.16)}.topbar{position:static}.auth-info-panel::after{font-size:42px}}


/* =========================================================
   McKenzieCMS v46.5 - Emerald Accessibility & Readability Fix
   Frontend-only visual update. Supabase SQL update: NO.
   Fixes pale/grey card backgrounds that inherited white text.
   ========================================================= */
:root{
  --card:rgba(3,16,13,.88);
  --soft:rgba(16,185,129,.08);
  --border:rgba(110,231,183,.22);
}
[data-theme="dark"]{
  --card:rgba(3,16,13,.9);
  --soft:rgba(16,185,129,.10);
  --border:rgba(110,231,183,.24);
}
.ai-feature-card,
.ai-toggle-master,
.ai-toggle-row,
.activity-feed-item,
.onboarding-step,
.welcome-action,
.case-owner-chip,
.diagnostic-pre,
.wizard-check,
.wizard-template-note,
.wizard-readiness,
.wizard-review,
.resource-mini,
.resource-card,
.upload-zone,
.notice{
  background:linear-gradient(180deg,rgba(6,78,59,.26),rgba(3,16,13,.82))!important;
  color:var(--text)!important;
  border:1px solid rgba(110,231,183,.24)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.045)!important;
}
.ai-feature-card h4,
.ai-feature-card p,
.ai-toggle-row small,
.activity-feed-main,
.activity-feed-main strong,
.onboarding-step p,
.welcome-action strong,
.welcome-action span,
.resource-mini p,
.resource-card p,
.wizard-template-note,
.wizard-readiness,
.wizard-review p{
  color:var(--text)!important;
  opacity:1!important;
}
.ai-feature-card p,
.ai-toggle-row small,
.onboarding-step p,
.resource-mini p,
.resource-card p,
.wizard-review p{
  color:var(--muted)!important;
}
.ai-feature-card button,
.ai-toggle-row button,
.activity-feed-item button,
.onboarding-step button,
.welcome-action button{
  background:rgba(16,185,129,.16)!important;
  color:#ecfdf5!important;
  border-color:rgba(110,231,183,.28)!important;
}
.metric,
.panel,
.empty-state,
.case-wizard,
.auth-card{
  background:linear-gradient(180deg,rgba(7,31,25,.94),rgba(2,19,15,.9))!important;
  color:var(--text)!important;
  border-color:rgba(110,231,183,.22)!important;
}
.metric strong{color:#ffffff!important;}
.metric span,.panel .mini,.empty-state p{color:var(--muted)!important;}
th{background:linear-gradient(180deg,#10b981,#047857)!important;color:#02130f!important;font-weight:900!important;}
td{color:var(--text)!important;}
tr:hover td{background:rgba(16,185,129,.12)!important;}
.field label{color:#b9f3dc!important;}
.field input,.field select,.field textarea,.search-box input,.generator-output{
  background:rgba(1,12,9,.84)!important;
  color:#f0fdf4!important;
  border-color:rgba(110,231,183,.26)!important;
}
.field input::placeholder,.field textarea::placeholder,.search-box input::placeholder{color:rgba(236,253,245,.58)!important;}
.kbd,
.activity-feed-icon,
.onboarding-step-number{
  background:rgba(16,185,129,.14)!important;
  color:#ecfdf5!important;
  border-color:rgba(110,231,183,.22)!important;
}
.operate-banner,.warn,.case-wizard-note{
  background:rgba(246,196,83,.13)!important;
  color:#fde68a!important;
  border-color:rgba(246,196,83,.42)!important;
}
.risk-red,.risk-amber,.risk-green,
.disabled-owner-pill,.status-badge.disabled{
  color:#111827!important;
}

/* v46.6 Light / Dark My Portal controls */
.portal-theme-card{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(180deg,var(--panel-soft),var(--panel));padding:14px}
.portal-theme-card strong{display:block;font-size:18px;margin-bottom:4px}
.portal-theme-card p{margin:0}
.theme-choice-row{display:flex;gap:8px;flex-wrap:wrap}
.theme-choice{min-width:106px;background:var(--panel);color:var(--text);border:1px solid var(--line)}
.theme-choice.active{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 8px 18px color-mix(in srgb,var(--accent) 25%,transparent)}
[data-theme="dark"] .portal-theme-card{background:linear-gradient(180deg,#1f2925,#171d1b);border-color:#405047}
[data-theme="dark"] .metric{background:linear-gradient(180deg,#202a26,#17201d);border-color:#405047}
[data-theme="dark"] th{background:#17382f;color:#ecfdf5}
@media(max-width:760px){.portal-theme-card{align-items:stretch;flex-direction:column}.theme-choice-row{display:grid;grid-template-columns:1fr 1fr}}


/* v46.7 Dual Theme Professional Edition
   Light mode is now a separate bright SaaS-style visual system.
   Dark mode preserves the Emerald AI Dashboard aesthetic. */
:root,
html[data-theme="light"]{
  --accent:#059669;
  --accent-2:#047857;
  --emerald-soft:#d1fae5;
  --emerald-tint:#ecfdf5;
  --bg:#f6f8fb;
  --panel:#ffffff;
  --panel-soft:#f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#64748b;
  --line:#e2e8f0;
  --sidebar:#ffffff;
  --sidebar-panel:#f8fafc;
  --danger:#dc2626;
  --success:#059669;
  --warning:#b45309;
  --shadow:0 12px 32px rgba(15,23,42,.08);
}
html[data-theme="light"] body{
  background:
    radial-gradient(circle at top left,rgba(16,185,129,.10),transparent 32%),
    linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%);
  color:var(--text);
}
html[data-theme="light"] .sidebar{
  background:#ffffff;
  color:#0f172a;
  border-right:1px solid var(--line);
  box-shadow:12px 0 30px rgba(15,23,42,.05);
}
html[data-theme="light"] .sidebar .app-title p,
html[data-theme="light"] .client-card span,
html[data-theme="light"] .client-card small{color:#64748b;}
html[data-theme="light"] .badge{background:linear-gradient(135deg,#059669,#34d399);box-shadow:0 12px 24px rgba(5,150,105,.22);}
html[data-theme="light"] .search-box input{
  background:#ffffff;
  color:#0f172a;
  border:1px solid var(--line);
}
html[data-theme="light"] .client-card{
  background:#ffffff;
  color:#0f172a;
  border:1px solid var(--line);
  box-shadow:0 4px 12px rgba(15,23,42,.04);
}
html[data-theme="light"] .client-card.active{
  background:#ecfdf5;
  outline:2px solid #10b981;
  border-color:#10b981;
}
html[data-theme="light"] .topbar,
html[data-theme="light"] .tabs,
html[data-theme="light"] .panel,
html[data-theme="light"] .metric,
html[data-theme="light"] .calendar-item,
html[data-theme="light"] .portal-theme-card,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] table{
  background:#ffffff;
  color:#0f172a;
  border-color:var(--line);
}
html[data-theme="light"] .topbar{box-shadow:0 6px 20px rgba(15,23,42,.04);}
html[data-theme="light"] .tabs{background:#f8fafc;}
html[data-theme="light"] .tabs button,
html[data-theme="light"] button,
html[data-theme="light"] .restore-label,
html[data-theme="light"] .theme-choice{
  background:#ffffff;
  color:#0f172a;
  border:1px solid #cbd5e1;
  box-shadow:0 2px 6px rgba(15,23,42,.05);
}
html[data-theme="light"] .tabs button.active,
html[data-theme="light"] .primary,
html[data-theme="light"] .theme-choice.active{
  background:#059669;
  color:#ffffff;
  border-color:#059669;
  box-shadow:0 10px 22px rgba(5,150,105,.22);
}
html[data-theme="light"] .panel{
  box-shadow:0 10px 26px rgba(15,23,42,.07);
}
html[data-theme="light"] .panel h3,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4{color:#0f172a;}
html[data-theme="light"] .metric{
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
  border:1px solid #bbf7d0;
  box-shadow:0 10px 24px rgba(15,23,42,.07);
}
html[data-theme="light"] .summary-cards .metric:nth-child(1){background:linear-gradient(180deg,#ffffff,#ecfdf5);border-color:#bbf7d0;}
html[data-theme="light"] .summary-cards .metric:nth-child(2){background:linear-gradient(180deg,#ffffff,#eff6ff);border-color:#b9f3dc;}
html[data-theme="light"] .summary-cards .metric:nth-child(3){background:linear-gradient(180deg,#ffffff,#fffbeb);border-color:#fde68a;}
html[data-theme="light"] .summary-cards .metric:nth-child(4){background:linear-gradient(180deg,#ffffff,#f5f3ff);border-color:#ddd6fe;}
html[data-theme="light"] .summary-cards .metric:nth-child(5){background:linear-gradient(180deg,#ffffff,#f0fdfa);border-color:#99f6e4;}
html[data-theme="light"] .metric strong{color:#064e3b;}
html[data-theme="light"] .metric span,
html[data-theme="light"] .mini,
html[data-theme="light"] .field label{color:#64748b;}
html[data-theme="light"] th{
  background:#059669;
  color:#ffffff;
  border-bottom:1px solid #047857;
}
html[data-theme="light"] td{background:#ffffff;color:#0f172a;}
html[data-theme="light"] tr:hover td{background:#ecfdf5;}
html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .generator-output{
  background:#ffffff;
  color:#0f172a;
  border:1px solid #cbd5e1;
}
html[data-theme="light"] .notice,
html[data-theme="light"] .auth-guidance{
  background:#fffbeb;
  color:#78350f;
  border-color:#fde68a;
}
html[data-theme="light"] .portal-theme-card{
  background:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%);
  border:1px solid #a7f3d0;
}
html[data-theme="light"] .toast{background:#064e3b;color:#ffffff;}
html[data-theme="dark"]{
  --accent:#10b981;
  --accent-2:#059669;
  --bg:#030814;
  --panel:rgba(13,28,52,.92);
  --panel-soft:rgba(7,20,40,.92);
  --text:#f5f8ff;
  --muted:#9fb3cf;
  --line:rgba(80,160,255,.20);
  --sidebar:#071428;
  --sidebar-panel:rgba(13,28,52,.88);
  --shadow:0 18px 46px rgba(0,0,0,.35);
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left,rgba(16,185,129,.18),transparent 30%),
    radial-gradient(circle at top right,rgba(25,213,255,.08),transparent 28%),
    #030814;
}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric,
html[data-theme="dark"] .portal-theme-card{
  background:linear-gradient(180deg,rgba(13,28,52,.94),rgba(7,20,40,.94));
  border-color:rgba(16,185,129,.26);
}
html[data-theme="dark"] .metric strong{color:#ecfdf5;}
html[data-theme="dark"] th{background:#064e3b;color:#ecfdf5;}


/* v46.8 Light Theme Rebuild - high contrast professional SaaS mode
   This final override deliberately neutralises older dark Emerald card styles while html[data-theme="light"] is active. */
html[data-theme="light"]{
  color-scheme: light;
  --accent:#047857;
  --accent-2:#059669;
  --bg:#f4f7fb;
  --panel:#ffffff;
  --panel-soft:#f8fafc;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#d7dee8;
  --sidebar:#ffffff;
  --sidebar-panel:#f8fafc;
  --danger:#b91c1c;
  --success:#047857;
  --warning:#92400e;
  --shadow:0 8px 24px rgba(15,23,42,.07);
}
html[data-theme="light"] body,
html[data-theme="light"] .app-shell,
html[data-theme="light"] .main,
html[data-theme="light"] .workspace,
html[data-theme="light"] .tab-content{
  background:#f4f7fb !important;
  color:#0f172a !important;
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,#f8fafc 0%,#eef4f8 100%) !important;
}
html[data-theme="light"] .sidebar,
html[data-theme="light"] .topbar,
html[data-theme="light"] .tabs,
html[data-theme="light"] .panel,
html[data-theme="light"] .metric,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .calendar-item,
html[data-theme="light"] .portal-theme-card,
html[data-theme="light"] .case-card,
html[data-theme="light"] .case-list-empty,
html[data-theme="light"] .activity-feed-item,
html[data-theme="light"] .onboarding-step,
html[data-theme="light"] .ai-feature-card,
html[data-theme="light"] .resource-card,
html[data-theme="light"] .resource-mini,
html[data-theme="light"] .upload-zone,
html[data-theme="light"] .generator-output,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] table,
html[data-theme="light"] tbody,
html[data-theme="light"] td,
html[data-theme="light"] .welcome-action,
html[data-theme="light"] .header-help-menu summary,
html[data-theme="light"] .nav-dropdown-panel,
html[data-theme="light"] .nav-group,
html[data-theme="light"] .modal,
html[data-theme="light"] .dialog,
html[data-theme="light"] .card{
  background:#ffffff !important;
  color:#0f172a !important;
  border-color:#d7dee8 !important;
  box-shadow:0 8px 22px rgba(15,23,42,.06) !important;
  text-shadow:none !important;
  backdrop-filter:none !important;
}
html[data-theme="light"] .tabs{background:#edf3f8 !important;box-shadow:none !important;}
html[data-theme="light"] .sidebar{border-right:1px solid #d7dee8 !important;}
html[data-theme="light"] .app-title h1,
html[data-theme="light"] .app-title p,
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6,
html[data-theme="light"] p,
html[data-theme="light"] span,
html[data-theme="light"] label,
html[data-theme="light"] strong,
html[data-theme="light"] small,
html[data-theme="light"] li,
html[data-theme="light"] td,
html[data-theme="light"] .mini,
html[data-theme="light"] .muted,
html[data-theme="light"] .resource-mini p,
html[data-theme="light"] .client-card span,
html[data-theme="light"] .client-card small,
html[data-theme="light"] .topbar p,
html[data-theme="light"] .nav-group-title{
  color:#0f172a !important;
  text-shadow:none !important;
}
html[data-theme="light"] .mini,
html[data-theme="light"] .muted,
html[data-theme="light"] .field label,
html[data-theme="light"] .topbar p,
html[data-theme="light"] .client-card span,
html[data-theme="light"] .client-card small,
html[data-theme="light"] .resource-tags span,
html[data-theme="light"] .nav-group-title{
  color:#475569 !important;
}
html[data-theme="light"] button,
html[data-theme="light"] .restore-label,
html[data-theme="light"] .tabs button,
html[data-theme="light"] .theme-choice,
html[data-theme="light"] .nav-home,
html[data-theme="light"] .nav-dropdown-toggle,
html[data-theme="light"] .nav-dropdown-item,
html[data-theme="light"] .row-actions button{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:0 2px 6px rgba(15,23,42,.05) !important;
}
html[data-theme="light"] button:hover,
html[data-theme="light"] .tabs button:hover,
html[data-theme="light"] .nav-home:hover,
html[data-theme="light"] .nav-dropdown-item:hover{
  background:#ecfdf5 !important;
  color:#064e3b !important;
  border-color:#10b981 !important;
}
html[data-theme="light"] .primary,
html[data-theme="light"] button.primary,
html[data-theme="light"] .tabs button.active,
html[data-theme="light"] .theme-choice.active,
html[data-theme="light"] .nav-home.active,
html[data-theme="light"] .nav-dropdown-item.active,
html[data-theme="light"] .case-wizard-steps span.active,
html[data-theme="light"] .feedback-fab{
  background:#047857 !important;
  color:#ffffff !important;
  border-color:#047857 !important;
  box-shadow:0 8px 18px rgba(4,120,87,.22) !important;
}
html[data-theme="light"] .danger,
html[data-theme="light"] button.danger{
  background:#dc2626 !important;
  color:#ffffff !important;
  border-color:#dc2626 !important;
}
html[data-theme="light"] .search-box input,
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .field input,
html[data-theme="light"] .field select,
html[data-theme="light"] .field textarea,
html[data-theme="light"] .upload-zone input[type=file]{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:none !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{color:#64748b !important;opacity:1 !important;}
html[data-theme="light"] .client-card{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #d7dee8 !important;
}
html[data-theme="light"] .client-card.active{
  background:#dcfce7 !important;
  border-color:#10b981 !important;
  outline:2px solid #10b981 !important;
}
html[data-theme="light"] .summary-cards .metric,
html[data-theme="light"] .metric{
  background:#ffffff !important;
  border:1px solid #d7dee8 !important;
}
html[data-theme="light"] .summary-cards .metric:nth-child(1){background:linear-gradient(180deg,#ffffff,#ecfdf5) !important;border-color:#a7f3d0 !important;}
html[data-theme="light"] .summary-cards .metric:nth-child(2){background:linear-gradient(180deg,#ffffff,#ecfdf5) !important;border-color:#bbf7d0 !important;}
html[data-theme="light"] .summary-cards .metric:nth-child(3){background:linear-gradient(180deg,#ffffff,#fffbeb) !important;border-color:#fde68a !important;}
html[data-theme="light"] .summary-cards .metric:nth-child(4){background:linear-gradient(180deg,#ffffff,#f5f3ff) !important;border-color:#ddd6fe !important;}
html[data-theme="light"] .summary-cards .metric:nth-child(5){background:linear-gradient(180deg,#ffffff,#f0fdfa) !important;border-color:#99f6e4 !important;}
html[data-theme="light"] .metric strong{color:#064e3b !important;text-shadow:none !important;}
html[data-theme="light"] th{
  background:#047857 !important;
  color:#ffffff !important;
  border-bottom:1px solid #065f46 !important;
}
html[data-theme="light"] td{background:#ffffff !important;color:#0f172a !important;}
html[data-theme="light"] tr:nth-child(even) td{background:#f8fafc !important;}
html[data-theme="light"] tr:hover td{background:#ecfdf5 !important;color:#0f172a !important;}
html[data-theme="light"] .notice,
html[data-theme="light"] .operate-banner,
html[data-theme="light"] .warn,
html[data-theme="light"] .case-wizard-note,
html[data-theme="light"] .auth-guidance{
  background:#fffbeb !important;
  color:#713f12 !important;
  border-color:#facc15 !important;
}
html[data-theme="light"] .ai-feature-card,
html[data-theme="light"] .upload-zone,
html[data-theme="light"] .onboarding-step.done,
html[data-theme="light"] .portal-theme-card{
  background:#ecfdf5 !important;
  color:#0f172a !important;
  border-color:#a7f3d0 !important;
}
html[data-theme="light"] .activity-feed-icon,
html[data-theme="light"] .onboarding-step-number,
html[data-theme="light"] .kbd,
html[data-theme="light"] .resource-tags span{
  background:#e2e8f0 !important;
  color:#0f172a !important;
  border-color:#cbd5e1 !important;
}
html[data-theme="light"] .risk-red{background:#fee2e2 !important;color:#991b1b !important;border-color:#fecaca !important;}
html[data-theme="light"] .risk-amber{background:#fef3c7 !important;color:#92400e !important;border-color:#fde68a !important;}
html[data-theme="light"] .risk-green{background:#dcfce7 !important;color:#166534 !important;border-color:#bbf7d0 !important;}
html[data-theme="light"] .disabled-owner-pill,
html[data-theme="light"] .status-badge.disabled,
html[data-theme="light"] .access-pill{
  background:#f1f5f9 !important;
  color:#334155 !important;
  border-color:#cbd5e1 !important;
}
html[data-theme="light"] .site-footer,
html[data-theme="light"] .site-footer-compact,
html[data-theme="light"] .site-footer-strip{
  background:#ffffff !important;
  color:#334155 !important;
  border-top:1px solid #d7dee8 !important;
}
html[data-theme="light"] .site-footer a,
html[data-theme="light"] .site-footer-strip a{color:#047857 !important;}
html[data-theme="light"] .visible-help-box,
html[data-theme="light"] .custom-tooltip,
html[data-theme="light"] .toast{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #10b981 !important;
  box-shadow:0 16px 38px rgba(15,23,42,.18) !important;
}
html[data-theme="light"] .custom-tooltip::after{border-color:#ffffff transparent transparent transparent !important;}
html[data-theme="light"] .badge,
html[data-theme="light"] .auth-logo{
  background:linear-gradient(135deg,#047857,#10b981) !important;
  color:#ffffff !important;
}
html[data-theme="light"] .auth-logo::before,
html[data-theme="light"] .badge::before{color:#ffffff !important;}
html[data-theme="light"] a{color:#047857;}
html[data-theme="light"] *{text-shadow:none !important;}


/* v47.1 Compliance & Trust Edition */
.legal-page{min-height:100vh;padding:32px;background:var(--bg,#f5f7fb);color:var(--text,#0f172a);}
.legal-card{max-width:980px;margin:0 auto;background:var(--panel,#fff);border:1px solid var(--border,#e2e8f0);border-radius:22px;padding:28px;box-shadow:0 16px 40px rgba(15,23,42,.08);}
.legal-card h1{margin-top:0}.legal-card h2{margin-top:24px}.legal-card table{width:100%;border-collapse:collapse;margin:16px 0}.legal-card th,.legal-card td{border:1px solid var(--border,#e2e8f0);padding:10px;text-align:left}.legal-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:18px}.legal-link-grid a,.button-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:12px;border:1px solid rgba(16,185,129,.25);background:rgba(16,185,129,.09);color:var(--text,#0f172a);text-decoration:none;font-weight:700}.auth-consent{display:block;margin:12px 0;padding:12px;border-radius:12px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);font-size:13px;line-height:1.4}.auth-consent input{margin-right:8px}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;z-index:9999;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 18px;border-radius:18px;background:var(--panel,#fff);color:var(--text,#0f172a);border:1px solid rgba(16,185,129,.35);box-shadow:0 20px 60px rgba(0,0,0,.22)}.cookie-banner p{margin:.25rem 0 0}.cookie-banner.hidden{display:none!important}@media(max-width:760px){.cookie-banner{flex-direction:column;align-items:stretch}.legal-page{padding:14px}.legal-card{padding:18px}}

/* v47.5 Operate as User permission controls */
.checkbox-line{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:14px;background:rgba(16,185,129,.08);font-weight:700;color:var(--text)}
.checkbox-line input{margin-top:.2rem;transform:scale(1.15)}
select option:disabled{color:#9ca3af;background:#f3f4f6}

/* v47.7 Login readability and contrast repair */
.auth-screen{
  background:linear-gradient(135deg,#f8fafc 0%,#ecfdf5 48%,#d1fae5 100%) !important;
  color:#0f172a !important;
}
.auth-shell{align-items:stretch !important;}
.auth-info-panel{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:0 24px 70px rgba(15,23,42,.16) !important;
  backdrop-filter:none !important;
}
.auth-info-panel::after{display:none !important;}
.auth-info-panel h2,
.auth-card h1,
#authAppName{
  color:#064e3b !important;
  text-shadow:none !important;
}
.auth-info-panel p,
.auth-subtitle,
.auth-message,
.auth-info-panel .mini{
  color:#334155 !important;
  text-shadow:none !important;
}
.auth-kicker{
  background:#ecfdf5 !important;
  color:#047857 !important;
  border:1px solid #a7f3d0 !important;
  text-shadow:none !important;
}
.auth-feature-list span{
  background:#f8fafc !important;
  color:#0f172a !important;
  border:1px solid #d7dee8 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.auth-card{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:0 24px 70px rgba(15,23,42,.18) !important;
}
.auth-guidance{
  background:#f0fdf4 !important;
  color:#0f172a !important;
  border:1px solid #a7f3d0 !important;
  border-left:5px solid #10b981 !important;
}
.auth-guidance strong{color:#064e3b !important;}
.auth-guidance ol,
.auth-guidance li{color:#334155 !important;}
.auth-card .field label{color:#334155 !important;}
.auth-card .field input,
.auth-card .field select,
.auth-card .field textarea,
#authEmail,
#authPassword{
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #94a3b8 !important;
  box-shadow:none !important;
}
.auth-card .field input::placeholder,
#authEmail::placeholder,
#authPassword::placeholder{color:#64748b !important;opacity:1 !important;}
.auth-card .field input:focus,
#authEmail:focus,
#authPassword:focus{
  border-color:#059669 !important;
  box-shadow:0 0 0 4px rgba(16,185,129,.16) !important;
}
.auth-consent{
  background:#f8fafc !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
}
.auth-consent a,
.auth-support-row a{color:#047857 !important;font-weight:900 !important;}
.auth-actions button{
  background:#ffffff !important;
  color:#064e3b !important;
  border:1px solid #10b981 !important;
  box-shadow:none !important;
  text-shadow:none !important;
}
.auth-actions .primary,
#signInBtn.primary{
  background:linear-gradient(135deg,#059669,#10b981) !important;
  color:#ffffff !important;
  border-color:#047857 !important;
}
.auth-logo.brand-logo-full{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.auth-support-row{border-top:1px solid #e2e8f0 !important;}
html[data-theme="dark"] .auth-screen{
  background:linear-gradient(135deg,#020617 0%,#052e2b 52%,#064e3b 100%) !important;
}
html[data-theme="dark"] .auth-info-panel,
html[data-theme="dark"] .auth-card{
  background:linear-gradient(180deg,rgba(7,31,25,.96),rgba(2,19,15,.94)) !important;
  color:#f0fdf4 !important;
  border-color:rgba(110,231,183,.28) !important;
}
html[data-theme="dark"] .auth-info-panel h2,
html[data-theme="dark"] .auth-card h1,
html[data-theme="dark"] #authAppName{color:#ecfdf5 !important;}
html[data-theme="dark"] .auth-info-panel p,
html[data-theme="dark"] .auth-subtitle{color:#bbf7d0 !important;}
html[data-theme="dark"] .auth-feature-list span,
html[data-theme="dark"] .auth-consent,
html[data-theme="dark"] .auth-guidance{
  background:rgba(16,185,129,.12) !important;
  color:#ecfdf5 !important;
  border-color:rgba(110,231,183,.28) !important;
}
html[data-theme="dark"] .auth-guidance strong{color:#ffffff !important;}
html[data-theme="dark"] .auth-guidance ol,
html[data-theme="dark"] .auth-guidance li{color:#bbf7d0 !important;}
html[data-theme="dark"] #authEmail,
html[data-theme="dark"] #authPassword{
  background:#020617 !important;
  color:#f8fafc !important;
  border-color:rgba(110,231,183,.38) !important;
}

/* v47.9 Live Notification Centre */
.icon-header-button .notify-badge,
.notify-badge{
  display:inline-flex;
  min-width:1.35rem;
  height:1.35rem;
  padding:0 .35rem;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#ef4444;
  color:#fff;
  font-size:.75rem;
  font-weight:800;
  margin-left:.25rem;
  box-shadow:0 0 0 2px rgba(255,255,255,.85);
}
.check-row{
  display:flex!important;
  align-items:center;
  gap:.6rem;
  padding:.85rem 1rem;
  border:1px solid var(--border, #d7dee8);
  border-radius:14px;
  background:var(--panel, #fff);
  color:var(--text, #111827);
  font-weight:700;
}
.check-row input{ width:1.1rem; height:1.1rem; accent-color:var(--accent, #10b981); }
.status-badge.warning{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:.15rem .45rem;
  background:#fef3c7;
  color:#92400e;
  font-weight:800;
  font-size:.72rem;
  margin-left:.35rem;
}
body.light .icon-header-button .notify-badge{ box-shadow:0 0 0 2px #fff; }
body.dark .check-row{ background:rgba(15,23,42,.84); color:#f8fafc; border-color:rgba(16,185,129,.28); }

/* v48.0 Visible Notification Centre Fix */
.notification-header-button{
  display:inline-flex!important;
  align-items:center!important;
  gap:.35rem!important;
  border:1px solid rgba(16,185,129,.45)!important;
  background:rgba(16,185,129,.12)!important;
  color:var(--text,#0f172a)!important;
  min-width:auto!important;
  padding:.65rem .85rem!important;
}
.notification-button-text{font-weight:800;font-size:.88rem;}
.notification-dashboard-card{
  border:1px solid rgba(16,185,129,.28);
  background:linear-gradient(135deg,rgba(16,185,129,.12),rgba(255,255,255,.04));
  border-radius:18px;
  padding:1rem;
}
.notification-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;}
.notification-dashboard-head p{margin:.2rem 0 0;color:var(--muted,#64748b);font-size:.9rem;}
.notification-preview-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem;}
.notification-preview-list li{
  padding:.75rem .85rem;
  border:1px solid var(--border,#e2e8f0);
  border-radius:14px;
  background:var(--panel,#fff);
}
.notification-preview-list span{color:var(--text,#0f172a);}
.notification-preview-list small{display:block;margin-top:.25rem;color:var(--muted,#64748b);font-size:.78rem;}
body.dark .notification-header-button{color:#f8fafc!important;background:rgba(16,185,129,.16)!important;}
body.dark .notification-preview-list li{background:rgba(15,23,42,.82);}
@media(max-width:760px){.notification-button-text{display:none}.notification-dashboard-head{align-items:flex-start;flex-direction:column}}


/* v48.2 Notification Bell & Alerts Fix */
.notification-header-button.has-unread{
  position:relative;
  border-color:#ef4444!important;
  background:rgba(239,68,68,.12)!important;
  box-shadow:0 0 0 0 rgba(239,68,68,.42);
  animation:mckNotifyPulse 1.8s ease-in-out infinite;
}
@keyframes mckNotifyPulse{
  0%{box-shadow:0 0 0 0 rgba(239,68,68,.42)}
  70%{box-shadow:0 0 0 9px rgba(239,68,68,0)}
  100%{box-shadow:0 0 0 0 rgba(239,68,68,0)}
}
/* v64.1 - Notification toast spacing/readability polish */
.notification-toast{
  position:fixed;
  right:1.25rem;
  top:5.2rem;
  z-index:9999;
  width:min(390px, calc(100vw - 2rem));
  padding:1.05rem 1.15rem 1.1rem;
  border-radius:18px;
  border:1px solid rgba(99,132,117,.35);
  background:var(--panel,#ffffff);
  color:var(--text,#0f172a);
  box-shadow:0 18px 45px rgba(2,6,23,.22);
  opacity:0;
  transform:translateY(-12px) scale(.98);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  display:grid;
  gap:.42rem;
  line-height:1.45;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.notification-toast.show{opacity:1;transform:translateY(0) scale(1);}
.notification-toast strong,
.notification-toast span,
.notification-toast small{
  display:block;
  margin:0;
  max-width:100%;
}
.notification-toast strong{
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.01em;
  line-height:1.3;
  color:var(--primary,#638475);
}
.notification-toast span{
  font-size:.96rem;
  font-weight:850;
  line-height:1.38;
  color:var(--text,#0f172a);
}
.notification-toast small{
  color:var(--muted,#64748b);
  font-size:.84rem;
  line-height:1.5;
}
body.dark .notification-toast{background:#071428;color:#f8fafc;border-color:rgba(99,132,117,.45);}
@media(max-width:760px){
  .notification-toast{
    right:1rem;
    left:1rem;
    top:4.5rem;
    width:auto;
    padding:1rem;
  }
}


/* v48.3 - Guided Tour footer + legal policy readability rebuild */
.site-footer a#footerGuidedTourLink,
.site-footer a[data-action="start-guided-tour"]{
  font-weight:900;
  color:#34d399 !important;
}
.site-footer a#footerGuidedTourLink::before,
.site-footer a[data-action="start-guided-tour"]::before{
  content:"🎯 ";
}
body.legal-page,
main.legal-page{
  min-height:100vh !important;
  margin:0 auto !important;
  padding:34px 18px !important;
  background:#f5f7fb !important;
  color:#0f172a !important;
  line-height:1.75 !important;
  font-size:16px !important;
}
body.legal-page main.legal-shell,
.legal-shell{
  max-width:1100px !important;
  margin:0 auto !important;
}
.legal-card,
main.legal-page > section.legal-card,
body.legal-page .legal-card{
  max-width:1040px !important;
  margin:0 auto !important;
  padding:34px !important;
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #dbe4ef !important;
  border-radius:22px !important;
  box-shadow:0 18px 45px rgba(15,23,42,.10) !important;
}
.legal-card h1{
  color:#064e3b !important;
  font-size:clamp(30px,4vw,44px) !important;
  line-height:1.12 !important;
  margin:0 0 14px !important;
}
.legal-card h2, .legal-card h3{
  color:#065f46 !important;
  margin-top:28px !important;
  margin-bottom:10px !important;
}
.legal-card p, .legal-card li, .legal-card td, .legal-card th{
  color:#111827 !important;
}
.legal-card .mini, .legal-card small{
  color:#475569 !important;
}
.legal-card a, .legal-back{
  color:#047857 !important;
  font-weight:800 !important;
}
.legal-card table{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
  border:1px solid #dbe4ef !important;
  border-radius:14px !important;
  background:#ffffff !important;
}
.legal-card th{
  background:#d1fae5 !important;
  color:#064e3b !important;
  font-weight:900 !important;
}
.legal-card td, .legal-card th{
  border-bottom:1px solid #e5e7eb !important;
  padding:13px 14px !important;
  vertical-align:top !important;
}
.legal-card tr:last-child td{border-bottom:0 !important;}
.legal-card .notice{
  background:#ecfdf5 !important;
  color:#064e3b !important;
  border:1px solid #a7f3d0 !important;
  border-radius:14px !important;
  padding:14px 16px !important;
}
.legal-link-grid a, .button-link{
  background:#ecfdf5 !important;
  color:#065f46 !important;
  border:1px solid #a7f3d0 !important;
}
html[data-theme="dark"] body.legal-page,
html[data-theme="dark"] main.legal-page{
  background:#020617 !important;
  color:#f8fafc !important;
}
html[data-theme="dark"] .legal-card{
  background:#0f172a !important;
  color:#f8fafc !important;
  border-color:rgba(110,231,183,.28) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.45) !important;
}
html[data-theme="dark"] .legal-card h1,
html[data-theme="dark"] .legal-card h2,
html[data-theme="dark"] .legal-card h3{
  color:#6ee7b7 !important;
}
html[data-theme="dark"] .legal-card p,
html[data-theme="dark"] .legal-card li,
html[data-theme="dark"] .legal-card td,
html[data-theme="dark"] .legal-card th{
  color:#f8fafc !important;
}
html[data-theme="dark"] .legal-card .mini,
html[data-theme="dark"] .legal-card small{
  color:#cbd5e1 !important;
}
html[data-theme="dark"] .legal-card a,
html[data-theme="dark"] .legal-back{
  color:#34d399 !important;
}
html[data-theme="dark"] .legal-card table{
  background:#111827 !important;
  border-color:rgba(110,231,183,.30) !important;
}
html[data-theme="dark"] .legal-card th{
  background:#064e3b !important;
  color:#ecfdf5 !important;
}
html[data-theme="dark"] .legal-card td,
html[data-theme="dark"] .legal-card th{
  border-bottom-color:rgba(148,163,184,.28) !important;
}
@media(max-width:760px){
  .legal-card{padding:22px !important;}
  body.legal-page, main.legal-page{padding:18px 10px !important;}
}

/* v48.4 AI Court Bundle Builder */
.bundle-builder-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:start}
.bundle-drop-zone{min-height:150px;border:1px dashed rgba(16,185,129,.45);border-radius:18px;padding:14px;background:rgba(16,185,129,.06);transition:.18s ease}
.bundle-drop-zone.drag-over{background:rgba(16,185,129,.16);border-color:#10b981;transform:translateY(-2px)}
.bundle-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px;color:var(--text)}
.bundle-section-head span{font-size:.82rem;color:var(--muted)}
.bundle-document-list,.bundle-source-bank{display:grid;gap:10px}
.bundle-doc-card{cursor:grab;border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:var(--panel);box-shadow:0 10px 20px rgba(15,23,42,.07);display:grid;gap:3px;color:var(--text)}
.bundle-doc-card:active{cursor:grabbing}
.bundle-doc-card strong{color:var(--accent,#10b981)}
.bundle-doc-card span{font-weight:700}
.bundle-doc-card small{color:var(--muted)}
body.light .bundle-drop-zone{background:#f0fdf4;border-color:#86efac}
body.light .bundle-doc-card{background:#ffffff;color:#0f172a;border-color:#d1fae5}
body.light .bundle-section-head{color:#0f172a}


/* v48.6 Trust Centre consolidation */
.trust-centre-page .legal-card{max-width:1120px;}
.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0;}
.trust-card{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:18px;text-decoration:none;background:#ffffff;color:#111827;border:1px solid #dbe4ee;box-shadow:0 10px 28px rgba(15,23,42,.08);}
.trust-card strong{font-size:1.05rem;color:#064e3b;}
.trust-card span{color:#475569;line-height:1.55;}
.trust-card:hover{transform:translateY(-2px);border-color:#10b981;box-shadow:0 16px 36px rgba(16,185,129,.16);}
body.theme-dark .trust-card,.theme-dark .trust-card{background:#0f172a;color:#f8fafc;border-color:rgba(16,185,129,.28);}
body.theme-dark .trust-card strong,.theme-dark .trust-card strong{color:#6ee7b7;}
body.theme-dark .trust-card span,.theme-dark .trust-card span{color:#cbd5e1;}
.site-footer-compact .site-footer-links{gap:12px 18px;}

/* v50.0 Case Readiness Dashboard */
.readiness-row{display:grid;grid-template-columns:220px 1fr 70px;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border, rgba(148,163,184,.25));}
.readiness-row div:first-child{display:flex;flex-direction:column;gap:3px;}
.readiness-row div:first-child span{font-size:.85rem;color:var(--muted,#64748b);}
.readiness-meter{height:12px;border-radius:999px;background:rgba(148,163,184,.22);overflow:hidden;border:1px solid rgba(148,163,184,.18);}
.readiness-meter div{height:100%;border-radius:999px;background:linear-gradient(90deg,#10b981,#22c55e);}
@media(max-width:760px){.readiness-row{grid-template-columns:1fr;gap:8px;}.readiness-row>strong{text-align:left;}}

/* v51.3 Professional Child Arrangements Module */
.child-summary-cards .metric strong{font-size:1.35rem;}
.child-tool-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));}
.child-tool-grid .resource-card{border-top:4px solid var(--accent,#10b981);}
.child-tool-grid .resource-card-head span{background:rgba(16,185,129,.12);color:var(--accent,#10b981);border-radius:999px;padding:3px 8px;font-weight:800;font-size:.75rem;}
body.theme-dark .child-tool-grid .resource-card-head span,.theme-dark .child-tool-grid .resource-card-head span{background:rgba(16,185,129,.2);}

/* v52.0 Child Arrangements Centre */
.child-tool-grid .resource-card,
.resource-grid.child-tool-grid .resource-card{
  border:1px solid rgba(47,111,99,.22);
  box-shadow:0 10px 24px rgba(12,31,29,.08);
}
.child-summary-cards .metric strong{
  color:var(--accent,#2f6f63);
}

/* v53.1 Better Children Quick Start Wizard / Guided Intake */
.child-intake-shell{display:grid;gap:16px;margin-top:2px}
.child-intake-hero{display:flex;justify-content:space-between;gap:18px;align-items:stretch;padding:22px;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:22px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 10%,var(--panel)),var(--panel));box-shadow:var(--shadow)}
.child-intake-kicker{display:inline-flex;width:max-content;max-width:100%;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:999px;color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel));font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.child-intake-hero h3{margin:10px 0 8px;font-size:clamp(23px,3vw,34px);line-height:1.08;letter-spacing:-.02em}
.child-intake-hero p{max-width:760px;margin:0;color:var(--muted);font-size:15px;line-height:1.55}
.child-intake-score{min-width:170px;display:grid;place-items:center;text-align:center;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel);box-shadow:0 10px 24px rgba(33,40,35,.08)}
.child-intake-score strong{font-size:42px;line-height:1;color:var(--accent)}
.child-intake-score span{font-weight:950;color:var(--text)}
.child-intake-score small{color:var(--muted);font-weight:800}
.child-intake-progress{height:10px;border-radius:999px;overflow:hidden;background:var(--panel-soft);border:1px solid var(--line)}
.child-intake-progress i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .2s ease}
.child-intake-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.child-intake-steps span{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);color:var(--muted);font-size:12px;font-weight:900;box-shadow:0 1px 2px rgba(33,40,35,.05)}
.child-intake-steps b{display:grid;place-items:center;min-width:28px;height:28px;border-radius:50%;background:var(--panel-soft);color:var(--muted);font-size:11px}
.child-intake-steps span.done{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));color:var(--text);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
.child-intake-steps span.done b{background:var(--accent);color:#fff}
.child-intake-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.child-intake-main{display:grid;gap:14px}
.child-intake-card,.child-intake-side-card{border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:17px;box-shadow:var(--shadow)}
.child-intake-card h4,.child-intake-side-card h4{margin:0 0 7px;font-size:16px}
.child-intake-card p,.child-intake-side-card p{margin:0 0 14px;color:var(--muted);line-height:1.5}
.child-intake-fields{display:grid;gap:12px}.child-intake-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.child-intake-field{display:flex;flex-direction:column;gap:6px;min-width:0}.child-intake-field.wide{min-height:100%}
.child-intake-field span{font-size:13px;font-weight:950;color:var(--text)}
.child-intake-field small{min-height:30px;color:var(--muted);font-size:12px;line-height:1.35}
.child-intake-field input,.child-intake-field textarea{width:100%;border:1px solid var(--line);border-radius:13px;padding:12px;font:inherit;background:var(--panel-soft);color:var(--text);outline:none;transition:border-color .15s, box-shadow .15s, background .15s}
.child-intake-field textarea{min-height:118px;resize:vertical}
.child-intake-field input:focus,.child-intake-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 13%,transparent);background:var(--panel)}
.child-intake-side{position:sticky;top:14px;display:grid;gap:14px}
.child-intake-side-card ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:8px}.child-intake-side-card.highlight{border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.child-intake-checklist{list-style:none!important;padding-left:0!important}.child-intake-checklist li{display:flex;align-items:center;gap:8px;font-weight:850;color:var(--muted)}
.child-intake-checklist li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--panel-soft);font-size:12px}.child-intake-checklist li.complete{color:var(--text)}.child-intake-checklist li.complete span{background:var(--accent);border-color:var(--accent);color:#fff}
.child-intake-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--panel-soft)}
.child-intake-actions button{min-height:42px}
[data-theme="dark"] .child-intake-score,[data-theme="dark"] .child-intake-card,[data-theme="dark"] .child-intake-side-card{box-shadow:0 10px 28px rgba(0,0,0,.22)}
@media(max-width:1100px){.child-intake-layout{grid-template-columns:1fr}.child-intake-side{position:static;grid-template-columns:repeat(3,minmax(0,1fr))}.child-intake-fields.two{grid-template-columns:1fr}}
@media(max-width:760px){.child-intake-hero{flex-direction:column;padding:18px}.child-intake-score{width:100%}.child-intake-steps,.child-intake-side{grid-template-columns:1fr}.child-intake-actions{display:grid;grid-template-columns:1fr}.child-intake-actions button{width:100%}}

/* =========================================================
   McKenzieCMS v54.4 - New Client Case Modal Readability Fix
   Frontend-only visual update. Supabase SQL update: NO.
   Makes the first case setup wizard easier to read in both light
   and dark/emerald themes.
   ========================================================= */
.case-wizard-overlay{
  background:rgba(2,8,23,.72)!important;
  backdrop-filter:blur(10px)!important;
}
.case-wizard{
  width:min(1040px,calc(100vw - 28px))!important;
  max-height:calc(100vh - 32px)!important;
  background:linear-gradient(180deg,#ffffff,#f8fafc)!important;
  color:#0f172a!important;
  border:1px solid rgba(15,23,42,.14)!important;
  box-shadow:0 32px 100px rgba(0,0,0,.42)!important;
}
.case-wizard-header{
  background:linear-gradient(135deg,#064e3b,#047857)!important;
  color:#ffffff!important;
  border-bottom:0!important;
}
.case-wizard-header h2,
.case-wizard-header p,
.case-wizard-header .mini{
  color:#ffffff!important;
  opacity:1!important;
}
.case-wizard-header p{color:#d1fae5!important;font-size:15px!important;line-height:1.5!important;}
.case-wizard-progress{background:#d1fae5!important;}
.case-wizard-progress span{background:linear-gradient(90deg,#f6c453,#6ee7b7)!important;}
.case-wizard-steps{
  background:#f1f5f9!important;
  border-bottom:1px solid #dbe5ef!important;
}
.case-wizard-steps span{
  background:#ffffff!important;
  color:#334155!important;
  border-color:#cbd5e1!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
.case-wizard-steps span.active{
  background:#047857!important;
  color:#ffffff!important;
  border-color:#047857!important;
  box-shadow:0 8px 18px rgba(4,120,87,.22)!important;
}
.case-wizard-steps span.done{
  background:#ecfdf5!important;
  color:#065f46!important;
  border-color:#6ee7b7!important;
}
.case-wizard-body{
  background:#ffffff!important;
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1.5!important;
}
.case-wizard .field label{
  color:#0f513d!important;
  font-size:13px!important;
  font-weight:950!important;
  margin-bottom:6px!important;
}
.case-wizard .field input,
.case-wizard .field select,
.case-wizard .field textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #94a3b8!important;
  border-radius:12px!important;
  min-height:44px!important;
  font-size:15px!important;
  box-shadow:0 1px 2px rgba(15,23,42,.06)!important;
}
.case-wizard .field textarea{min-height:118px!important;}
.case-wizard .field input::placeholder,
.case-wizard .field textarea::placeholder{color:#64748b!important;}
.case-wizard .field input:focus,
.case-wizard .field select:focus,
.case-wizard .field textarea:focus{
  border-color:#047857!important;
  box-shadow:0 0 0 4px rgba(4,120,87,.14)!important;
  outline:none!important;
}
.case-wizard .wizard-template-note,
.case-wizard .wizard-readiness,
.case-wizard .wizard-review{
  background:#f8fafc!important;
  color:#0f172a!important;
  border-color:#cbd5e1!important;
  border-left-color:#047857!important;
  box-shadow:none!important;
}
.case-wizard .wizard-template-note strong,
.case-wizard .wizard-readiness strong,
.case-wizard .wizard-review h3{
  color:#064e3b!important;
}
.case-wizard .wizard-review p,
.case-wizard .wizard-readiness li,
.case-wizard .wizard-template-note{
  color:#334155!important;
}
.case-wizard .wizard-check{
  background:#ffffff!important;
  color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05)!important;
}
.case-wizard .wizard-check span{color:#0f172a!important;}
.case-wizard .wizard-check input{accent-color:#047857!important;}
.case-wizard .wizard-urgency{
  background:#fff7ed!important;
  color:#7c2d12!important;
  border-color:#fed7aa!important;
  border-left-color:#ea580c!important;
}
.case-wizard .wizard-urgency strong,
.case-wizard .wizard-urgency li{color:#7c2d12!important;}
.case-wizard-note{
  background:#fffbeb!important;
  color:#713f12!important;
  border-color:#fde68a!important;
  border-left-color:#f59e0b!important;
}
.case-wizard-footer{
  background:#f8fafc!important;
  border-top:1px solid #dbe5ef!important;
}
.case-wizard-footer button{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#cbd5e1!important;
}
.case-wizard-footer button.primary,
.case-wizard-footer .primary{
  background:linear-gradient(135deg,#10b981,#047857)!important;
  color:#022c22!important;
  border-color:#059669!important;
  font-weight:950!important;
}
.case-wizard-footer button.danger,
.case-wizard-footer .danger{
  background:linear-gradient(135deg,#fb7185,#be123c)!important;
  color:#ffffff!important;
  border-color:#be123c!important;
}
@media(max-width:760px){
  .case-wizard{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;border-radius:16px!important;}
  .case-wizard-body{padding:16px!important;}
  .case-wizard-steps{gap:6px;padding:10px!important;}
}

/* McKenzieCMS v55.0 - Children Dashboard Consolidation */
.children-master-dashboard,
.children-case-dashboard{
  display:block;
}
.children-dashboard-hero{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:stretch;
  padding:24px;
  border:1px solid rgba(37,211,102,.25);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(8,24,18,.96), rgba(5,14,24,.94));
  box-shadow:0 18px 48px rgba(0,0,0,.28);
  margin-bottom:18px;
}
.children-dashboard-hero.compact{padding:20px;}
.children-dashboard-hero h3{margin:.2rem 0 .4rem;font-size:1.55rem;color:#f7fff9;}
.children-dashboard-hero p{margin:0;color:#c8d8d1;max-width:880px;line-height:1.55;}
.children-dashboard-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0 18px;
}
.children-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.children-dashboard-card{
  border:1px solid rgba(148,163,184,.2);
  border-radius:18px;
  padding:16px;
  background:rgba(8,20,31,.72);
  min-height:150px;
}
.children-dashboard-card h4,
.children-library-tabs h4{margin:0 0 10px;color:#f5f8ff;}
.children-dashboard-card ul,
.children-dashboard-card ol{margin:0;padding-left:20px;color:#d9e6df;line-height:1.55;}
.children-dashboard-card p{color:#d9e6df;line-height:1.55;}
.children-library-tabs{display:grid;gap:18px;}
.actions.stacked{display:grid;gap:9px;}
.actions.stacked button{width:100%;justify-content:center;}
@media(max-width:900px){
  .children-dashboard-hero{flex-direction:column;}
  .children-dashboard-grid{grid-template-columns:1fr;}
}

/* McKenzieCMS v55.1 - Children Pages Readability Repair
   Fixes low contrast introduced in v55 dashboard/card pages. */
.children-master-dashboard,
.children-case-dashboard,
.children-library-tabs,
.child-arrangements-centre,
.child-arrangements-workspace,
.guided-child-intake,
.children-dashboard-grid,
.children-dashboard-card,
.resource-card,
.tool-card,
.case-card,
.panel,
.card {
  color: #f8fafc !important;
}

.children-master-dashboard *,
.children-case-dashboard *,
.children-library-tabs *,
.child-arrangements-centre *,
.child-arrangements-workspace *,
.guided-child-intake * {
  text-shadow: none !important;
}

.children-dashboard-hero,
.children-dashboard-card,
.children-library-tabs section,
.children-library-tabs article,
.child-arrangements-centre .resource-card,
.child-arrangements-workspace .resource-card,
.guided-child-intake .resource-card,
.children-master-dashboard .resource-card,
.children-case-dashboard .resource-card,
.children-master-dashboard .card,
.children-case-dashboard .card,
.children-master-dashboard .panel,
.children-case-dashboard .panel {
  background: #0f1f18 !important;
  background-image: linear-gradient(180deg, #10251d 0%, #0b1713 100%) !important;
  border: 1px solid rgba(134, 239, 172, .35) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.35) !important;
}

.children-dashboard-hero h1,
.children-dashboard-hero h2,
.children-dashboard-hero h3,
.children-dashboard-card h1,
.children-dashboard-card h2,
.children-dashboard-card h3,
.children-dashboard-card h4,
.children-library-tabs h1,
.children-library-tabs h2,
.children-library-tabs h3,
.children-library-tabs h4,
.child-arrangements-centre h1,
.child-arrangements-centre h2,
.child-arrangements-centre h3,
.child-arrangements-centre h4,
.child-arrangements-workspace h1,
.child-arrangements-workspace h2,
.child-arrangements-workspace h3,
.child-arrangements-workspace h4,
.guided-child-intake h1,
.guided-child-intake h2,
.guided-child-intake h3,
.guided-child-intake h4 {
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
}

.children-dashboard-hero p,
.children-dashboard-card p,
.children-dashboard-card li,
.children-dashboard-card span,
.children-library-tabs p,
.children-library-tabs li,
.children-library-tabs span,
.child-arrangements-centre p,
.child-arrangements-centre li,
.child-arrangements-centre span,
.child-arrangements-workspace p,
.child-arrangements-workspace li,
.child-arrangements-workspace span,
.guided-child-intake p,
.guided-child-intake li,
.guided-child-intake span {
  color: #e5f7ec !important;
}

.children-master-dashboard small,
.children-case-dashboard small,
.child-arrangements-centre small,
.child-arrangements-workspace small,
.guided-child-intake small,
.children-master-dashboard .muted,
.children-case-dashboard .muted,
.child-arrangements-centre .muted,
.child-arrangements-workspace .muted,
.guided-child-intake .muted {
  color: #bee8cc !important;
}

.children-master-dashboard label,
.children-case-dashboard label,
.child-arrangements-centre label,
.child-arrangements-workspace label,
.guided-child-intake label {
  color: #f8fafc !important;
  font-weight: 800 !important;
}

.children-master-dashboard input,
.children-master-dashboard textarea,
.children-master-dashboard select,
.children-case-dashboard input,
.children-case-dashboard textarea,
.children-case-dashboard select,
.child-arrangements-centre input,
.child-arrangements-centre textarea,
.child-arrangements-centre select,
.child-arrangements-workspace input,
.child-arrangements-workspace textarea,
.child-arrangements-workspace select,
.guided-child-intake input,
.guided-child-intake textarea,
.guided-child-intake select {
  background: #ffffff !important;
  color: #07130f !important;
  border: 2px solid #94a3b8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

.children-master-dashboard input::placeholder,
.children-master-dashboard textarea::placeholder,
.children-case-dashboard input::placeholder,
.children-case-dashboard textarea::placeholder,
.child-arrangements-centre input::placeholder,
.child-arrangements-centre textarea::placeholder,
.child-arrangements-workspace input::placeholder,
.child-arrangements-workspace textarea::placeholder,
.guided-child-intake input::placeholder,
.guided-child-intake textarea::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
}

.children-master-dashboard button,
.children-case-dashboard button,
.child-arrangements-centre button,
.child-arrangements-workspace button,
.guided-child-intake button,
.children-dashboard-actions button,
.actions.stacked button {
  background: linear-gradient(135deg, #16a34a, #15803d) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  font-weight: 900 !important;
  text-shadow: none !important;
}

.children-master-dashboard button.secondary,
.children-case-dashboard button.secondary,
.child-arrangements-centre button.secondary,
.child-arrangements-workspace button.secondary,
.guided-child-intake button.secondary {
  background: #f8fafc !important;
  color: #0f172a !important;
  border: 1px solid #94a3b8 !important;
}

.children-master-dashboard table,
.children-case-dashboard table,
.child-arrangements-centre table,
.child-arrangements-workspace table,
.guided-child-intake table {
  background: #ffffff !important;
  color: #0f172a !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.children-master-dashboard th,
.children-case-dashboard th,
.child-arrangements-centre th,
.child-arrangements-workspace th,
.guided-child-intake th {
  background: #dcfce7 !important;
  color: #052e16 !important;
}

.children-master-dashboard td,
.children-case-dashboard td,
.child-arrangements-centre td,
.child-arrangements-workspace td,
.guided-child-intake td {
  color: #0f172a !important;
  border-color: #dbe5ef !important;
}

.children-dashboard-grid,
.children-library-tabs {
  margin-top: 16px !important;
}

@media(max-width: 900px){
  .children-dashboard-hero,
  .children-dashboard-card,
  .children-library-tabs section,
  .children-library-tabs article {
    padding: 16px !important;
    border-radius: 18px !important;
  }
}

/* McKenzieCMS v55.2 - Children Theme-Safe Readability Rebuild
   Replaces the v55.1 dark-only override with explicit light and dark palettes.
   Scope: Children Dashboard, Child Arrangements Centre, Case Workspace, Guided Intake, tool cards and related modals/forms. */

/* Shared structure */
.children-master-dashboard,
.children-case-dashboard,
.children-library-tabs,
.child-arrangements-centre,
.child-arrangements-workspace,
.guided-child-intake {
  text-shadow:none !important;
  line-height:1.55 !important;
}
.children-master-dashboard *,
.children-case-dashboard *,
.children-library-tabs *,
.child-arrangements-centre *,
.child-arrangements-workspace *,
.guided-child-intake * {
  text-shadow:none !important;
}
.children-dashboard-hero,
.children-dashboard-card,
.children-library-tabs > div,
.children-library-tabs section,
.children-library-tabs article,
.child-arrangements-centre .resource-card,
.child-arrangements-workspace .resource-card,
.guided-child-intake .resource-card,
.children-master-dashboard .resource-card,
.children-case-dashboard .resource-card,
.children-master-dashboard .card,
.children-case-dashboard .card,
.children-master-dashboard .panel,
.children-case-dashboard .panel,
.child-intake-step,
.child-intake-summary,
.child-intake-panel {
  border-radius:18px !important;
}
.children-dashboard-hero h1,
.children-dashboard-hero h2,
.children-dashboard-hero h3,
.children-dashboard-card h1,
.children-dashboard-card h2,
.children-dashboard-card h3,
.children-dashboard-card h4,
.children-library-tabs h1,
.children-library-tabs h2,
.children-library-tabs h3,
.children-library-tabs h4,
.child-arrangements-centre h1,
.child-arrangements-centre h2,
.child-arrangements-centre h3,
.child-arrangements-centre h4,
.child-arrangements-workspace h1,
.child-arrangements-workspace h2,
.child-arrangements-workspace h3,
.child-arrangements-workspace h4,
.guided-child-intake h1,
.guided-child-intake h2,
.guided-child-intake h3,
.guided-child-intake h4 {
  font-weight:900 !important;
  letter-spacing:-.015em !important;
}
.children-master-dashboard input,
.children-master-dashboard textarea,
.children-master-dashboard select,
.children-case-dashboard input,
.children-case-dashboard textarea,
.children-case-dashboard select,
.child-arrangements-centre input,
.child-arrangements-centre textarea,
.child-arrangements-centre select,
.child-arrangements-workspace input,
.child-arrangements-workspace textarea,
.child-arrangements-workspace select,
.guided-child-intake input,
.guided-child-intake textarea,
.guided-child-intake select {
  border-radius:12px !important;
  min-height:42px !important;
  box-shadow:none !important;
}
.children-master-dashboard textarea,
.children-case-dashboard textarea,
.child-arrangements-centre textarea,
.child-arrangements-workspace textarea,
.guided-child-intake textarea { min-height:110px !important; }
.children-master-dashboard button,
.children-case-dashboard button,
.child-arrangements-centre button,
.child-arrangements-workspace button,
.guided-child-intake button,
.children-dashboard-actions button,
.actions.stacked button {
  font-weight:850 !important;
  border-radius:12px !important;
}
.children-master-dashboard table,
.children-case-dashboard table,
.child-arrangements-centre table,
.child-arrangements-workspace table,
.guided-child-intake table {
  border-collapse:separate !important;
  border-spacing:0 !important;
  width:100% !important;
  overflow:hidden !important;
}
.children-master-dashboard th,
.children-case-dashboard th,
.child-arrangements-centre th,
.child-arrangements-workspace th,
.guided-child-intake th,
.children-master-dashboard td,
.children-case-dashboard td,
.child-arrangements-centre td,
.child-arrangements-workspace td,
.guided-child-intake td {
  padding:10px 12px !important;
  vertical-align:top !important;
}

/* LIGHT MODE - bright, high contrast, court-office feel */
html[data-theme="light"] .children-master-dashboard,
html[data-theme="light"] .children-case-dashboard,
html[data-theme="light"] .children-library-tabs,
html[data-theme="light"] .child-arrangements-centre,
html[data-theme="light"] .child-arrangements-workspace,
html[data-theme="light"] .guided-child-intake {
  color:#0f172a !important;
}
html[data-theme="light"] .children-dashboard-hero,
html[data-theme="light"] .children-dashboard-card,
html[data-theme="light"] .children-library-tabs > div,
html[data-theme="light"] .children-library-tabs section,
html[data-theme="light"] .children-library-tabs article,
html[data-theme="light"] .child-arrangements-centre .resource-card,
html[data-theme="light"] .child-arrangements-workspace .resource-card,
html[data-theme="light"] .guided-child-intake .resource-card,
html[data-theme="light"] .children-master-dashboard .resource-card,
html[data-theme="light"] .children-case-dashboard .resource-card,
html[data-theme="light"] .children-master-dashboard .card,
html[data-theme="light"] .children-case-dashboard .card,
html[data-theme="light"] .children-master-dashboard .panel,
html[data-theme="light"] .children-case-dashboard .panel,
html[data-theme="light"] .child-intake-step,
html[data-theme="light"] .child-intake-summary,
html[data-theme="light"] .child-intake-panel {
  background:#ffffff !important;
  background-image:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%) !important;
  color:#0f172a !important;
  border:1px solid #d7dee8 !important;
  box-shadow:0 10px 28px rgba(15,23,42,.08) !important;
}
html[data-theme="light"] .children-dashboard-hero {
  background-image:linear-gradient(135deg,#ffffff 0%,#ecfdf5 100%) !important;
  border-color:#a7f3d0 !important;
}
html[data-theme="light"] .children-dashboard-hero h1,
html[data-theme="light"] .children-dashboard-hero h2,
html[data-theme="light"] .children-dashboard-hero h3,
html[data-theme="light"] .children-dashboard-card h1,
html[data-theme="light"] .children-dashboard-card h2,
html[data-theme="light"] .children-dashboard-card h3,
html[data-theme="light"] .children-dashboard-card h4,
html[data-theme="light"] .children-library-tabs h1,
html[data-theme="light"] .children-library-tabs h2,
html[data-theme="light"] .children-library-tabs h3,
html[data-theme="light"] .children-library-tabs h4,
html[data-theme="light"] .child-arrangements-centre h1,
html[data-theme="light"] .child-arrangements-centre h2,
html[data-theme="light"] .child-arrangements-centre h3,
html[data-theme="light"] .child-arrangements-centre h4,
html[data-theme="light"] .child-arrangements-workspace h1,
html[data-theme="light"] .child-arrangements-workspace h2,
html[data-theme="light"] .child-arrangements-workspace h3,
html[data-theme="light"] .child-arrangements-workspace h4,
html[data-theme="light"] .guided-child-intake h1,
html[data-theme="light"] .guided-child-intake h2,
html[data-theme="light"] .guided-child-intake h3,
html[data-theme="light"] .guided-child-intake h4 {
  color:#0f172a !important;
}
html[data-theme="light"] .children-dashboard-hero p,
html[data-theme="light"] .children-dashboard-card p,
html[data-theme="light"] .children-dashboard-card li,
html[data-theme="light"] .children-dashboard-card span,
html[data-theme="light"] .children-library-tabs p,
html[data-theme="light"] .children-library-tabs li,
html[data-theme="light"] .children-library-tabs span,
html[data-theme="light"] .child-arrangements-centre p,
html[data-theme="light"] .child-arrangements-centre li,
html[data-theme="light"] .child-arrangements-centre span,
html[data-theme="light"] .child-arrangements-workspace p,
html[data-theme="light"] .child-arrangements-workspace li,
html[data-theme="light"] .child-arrangements-workspace span,
html[data-theme="light"] .guided-child-intake p,
html[data-theme="light"] .guided-child-intake li,
html[data-theme="light"] .guided-child-intake span {
  color:#334155 !important;
}
html[data-theme="light"] .children-master-dashboard small,
html[data-theme="light"] .children-case-dashboard small,
html[data-theme="light"] .child-arrangements-centre small,
html[data-theme="light"] .child-arrangements-workspace small,
html[data-theme="light"] .guided-child-intake small,
html[data-theme="light"] .children-master-dashboard .muted,
html[data-theme="light"] .children-case-dashboard .muted,
html[data-theme="light"] .child-arrangements-centre .muted,
html[data-theme="light"] .child-arrangements-workspace .muted,
html[data-theme="light"] .guided-child-intake .muted,
html[data-theme="light"] .mini {
  color:#64748b !important;
}
html[data-theme="light"] .children-master-dashboard label,
html[data-theme="light"] .children-case-dashboard label,
html[data-theme="light"] .child-arrangements-centre label,
html[data-theme="light"] .child-arrangements-workspace label,
html[data-theme="light"] .guided-child-intake label {
  color:#0f172a !important;
  font-weight:800 !important;
}
html[data-theme="light"] .children-master-dashboard input,
html[data-theme="light"] .children-master-dashboard textarea,
html[data-theme="light"] .children-master-dashboard select,
html[data-theme="light"] .children-case-dashboard input,
html[data-theme="light"] .children-case-dashboard textarea,
html[data-theme="light"] .children-case-dashboard select,
html[data-theme="light"] .child-arrangements-centre input,
html[data-theme="light"] .child-arrangements-centre textarea,
html[data-theme="light"] .child-arrangements-centre select,
html[data-theme="light"] .child-arrangements-workspace input,
html[data-theme="light"] .child-arrangements-workspace textarea,
html[data-theme="light"] .child-arrangements-workspace select,
html[data-theme="light"] .guided-child-intake input,
html[data-theme="light"] .guided-child-intake textarea,
html[data-theme="light"] .guided-child-intake select {
  background:#ffffff !important;
  color:#0f172a !important;
  border:2px solid #cbd5e1 !important;
}
html[data-theme="light"] .children-master-dashboard input::placeholder,
html[data-theme="light"] .children-master-dashboard textarea::placeholder,
html[data-theme="light"] .children-case-dashboard input::placeholder,
html[data-theme="light"] .children-case-dashboard textarea::placeholder,
html[data-theme="light"] .child-arrangements-centre input::placeholder,
html[data-theme="light"] .child-arrangements-centre textarea::placeholder,
html[data-theme="light"] .child-arrangements-workspace input::placeholder,
html[data-theme="light"] .child-arrangements-workspace textarea::placeholder,
html[data-theme="light"] .guided-child-intake input::placeholder,
html[data-theme="light"] .guided-child-intake textarea::placeholder {
  color:#64748b !important;
  opacity:1 !important;
}
html[data-theme="light"] .children-master-dashboard button,
html[data-theme="light"] .children-case-dashboard button,
html[data-theme="light"] .child-arrangements-centre button,
html[data-theme="light"] .child-arrangements-workspace button,
html[data-theme="light"] .guided-child-intake button,
html[data-theme="light"] .children-dashboard-actions button,
html[data-theme="light"] .actions.stacked button {
  background:#ffffff !important;
  color:#0f172a !important;
  border:1px solid #cbd5e1 !important;
  box-shadow:0 3px 10px rgba(15,23,42,.06) !important;
}
html[data-theme="light"] .children-master-dashboard button.primary,
html[data-theme="light"] .children-case-dashboard button.primary,
html[data-theme="light"] .child-arrangements-centre button.primary,
html[data-theme="light"] .child-arrangements-workspace button.primary,
html[data-theme="light"] .guided-child-intake button.primary,
html[data-theme="light"] .children-dashboard-actions button.primary {
  background:#047857 !important;
  color:#ffffff !important;
  border-color:#047857 !important;
}
html[data-theme="light"] .children-master-dashboard th,
html[data-theme="light"] .children-case-dashboard th,
html[data-theme="light"] .child-arrangements-centre th,
html[data-theme="light"] .child-arrangements-workspace th,
html[data-theme="light"] .guided-child-intake th {
  background:#ecfdf5 !important;
  color:#064e3b !important;
  border-bottom:1px solid #a7f3d0 !important;
}
html[data-theme="light"] .children-master-dashboard td,
html[data-theme="light"] .children-case-dashboard td,
html[data-theme="light"] .child-arrangements-centre td,
html[data-theme="light"] .child-arrangements-workspace td,
html[data-theme="light"] .guided-child-intake td {
  background:#ffffff !important;
  color:#0f172a !important;
  border-bottom:1px solid #e2e8f0 !important;
}
html[data-theme="light"] .child-intake-score,
html[data-theme="light"] .readiness-score,
html[data-theme="light"] .score-card {
  background:#064e3b !important;
  color:#ffffff !important;
  border:1px solid #047857 !important;
}
html[data-theme="light"] .child-intake-score strong,
html[data-theme="light"] .child-intake-score span,
html[data-theme="light"] .child-intake-score small {
  color:#ffffff !important;
}

/* DARK MODE - dark panels with deliberately bright text and soft borders */
html[data-theme="dark"] .children-master-dashboard,
html[data-theme="dark"] .children-case-dashboard,
html[data-theme="dark"] .children-library-tabs,
html[data-theme="dark"] .child-arrangements-centre,
html[data-theme="dark"] .child-arrangements-workspace,
html[data-theme="dark"] .guided-child-intake {
  color:#f8fafc !important;
}
html[data-theme="dark"] .children-dashboard-hero,
html[data-theme="dark"] .children-dashboard-card,
html[data-theme="dark"] .children-library-tabs > div,
html[data-theme="dark"] .children-library-tabs section,
html[data-theme="dark"] .children-library-tabs article,
html[data-theme="dark"] .child-arrangements-centre .resource-card,
html[data-theme="dark"] .child-arrangements-workspace .resource-card,
html[data-theme="dark"] .guided-child-intake .resource-card,
html[data-theme="dark"] .children-master-dashboard .resource-card,
html[data-theme="dark"] .children-case-dashboard .resource-card,
html[data-theme="dark"] .children-master-dashboard .card,
html[data-theme="dark"] .children-case-dashboard .card,
html[data-theme="dark"] .children-master-dashboard .panel,
html[data-theme="dark"] .children-case-dashboard .panel,
html[data-theme="dark"] .child-intake-step,
html[data-theme="dark"] .child-intake-summary,
html[data-theme="dark"] .child-intake-panel {
  background:#0f1f18 !important;
  background-image:linear-gradient(180deg,#10251d 0%,#0b1713 100%) !important;
  color:#f8fafc !important;
  border:1px solid rgba(134,239,172,.32) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.36) !important;
}
html[data-theme="dark"] .children-dashboard-hero h1,
html[data-theme="dark"] .children-dashboard-hero h2,
html[data-theme="dark"] .children-dashboard-hero h3,
html[data-theme="dark"] .children-dashboard-card h1,
html[data-theme="dark"] .children-dashboard-card h2,
html[data-theme="dark"] .children-dashboard-card h3,
html[data-theme="dark"] .children-dashboard-card h4,
html[data-theme="dark"] .children-library-tabs h1,
html[data-theme="dark"] .children-library-tabs h2,
html[data-theme="dark"] .children-library-tabs h3,
html[data-theme="dark"] .children-library-tabs h4,
html[data-theme="dark"] .child-arrangements-centre h1,
html[data-theme="dark"] .child-arrangements-centre h2,
html[data-theme="dark"] .child-arrangements-centre h3,
html[data-theme="dark"] .child-arrangements-centre h4,
html[data-theme="dark"] .child-arrangements-workspace h1,
html[data-theme="dark"] .child-arrangements-workspace h2,
html[data-theme="dark"] .child-arrangements-workspace h3,
html[data-theme="dark"] .child-arrangements-workspace h4,
html[data-theme="dark"] .guided-child-intake h1,
html[data-theme="dark"] .guided-child-intake h2,
html[data-theme="dark"] .guided-child-intake h3,
html[data-theme="dark"] .guided-child-intake h4 {
  color:#ffffff !important;
}
html[data-theme="dark"] .children-dashboard-hero p,
html[data-theme="dark"] .children-dashboard-card p,
html[data-theme="dark"] .children-dashboard-card li,
html[data-theme="dark"] .children-dashboard-card span,
html[data-theme="dark"] .children-library-tabs p,
html[data-theme="dark"] .children-library-tabs li,
html[data-theme="dark"] .children-library-tabs span,
html[data-theme="dark"] .child-arrangements-centre p,
html[data-theme="dark"] .child-arrangements-centre li,
html[data-theme="dark"] .child-arrangements-centre span,
html[data-theme="dark"] .child-arrangements-workspace p,
html[data-theme="dark"] .child-arrangements-workspace li,
html[data-theme="dark"] .child-arrangements-workspace span,
html[data-theme="dark"] .guided-child-intake p,
html[data-theme="dark"] .guided-child-intake li,
html[data-theme="dark"] .guided-child-intake span {
  color:#e5f7ec !important;
}
html[data-theme="dark"] .children-master-dashboard small,
html[data-theme="dark"] .children-case-dashboard small,
html[data-theme="dark"] .child-arrangements-centre small,
html[data-theme="dark"] .child-arrangements-workspace small,
html[data-theme="dark"] .guided-child-intake small,
html[data-theme="dark"] .children-master-dashboard .muted,
html[data-theme="dark"] .children-case-dashboard .muted,
html[data-theme="dark"] .child-arrangements-centre .muted,
html[data-theme="dark"] .child-arrangements-workspace .muted,
html[data-theme="dark"] .guided-child-intake .muted,
html[data-theme="dark"] .mini {
  color:#bee8cc !important;
}
html[data-theme="dark"] .children-master-dashboard label,
html[data-theme="dark"] .children-case-dashboard label,
html[data-theme="dark"] .child-arrangements-centre label,
html[data-theme="dark"] .child-arrangements-workspace label,
html[data-theme="dark"] .guided-child-intake label {
  color:#f8fafc !important;
  font-weight:800 !important;
}
html[data-theme="dark"] .children-master-dashboard input,
html[data-theme="dark"] .children-master-dashboard textarea,
html[data-theme="dark"] .children-master-dashboard select,
html[data-theme="dark"] .children-case-dashboard input,
html[data-theme="dark"] .children-case-dashboard textarea,
html[data-theme="dark"] .children-case-dashboard select,
html[data-theme="dark"] .child-arrangements-centre input,
html[data-theme="dark"] .child-arrangements-centre textarea,
html[data-theme="dark"] .child-arrangements-centre select,
html[data-theme="dark"] .child-arrangements-workspace input,
html[data-theme="dark"] .child-arrangements-workspace textarea,
html[data-theme="dark"] .child-arrangements-workspace select,
html[data-theme="dark"] .guided-child-intake input,
html[data-theme="dark"] .guided-child-intake textarea,
html[data-theme="dark"] .guided-child-intake select {
  background:#ffffff !important;
  color:#07130f !important;
  border:2px solid #94a3b8 !important;
}
html[data-theme="dark"] .children-master-dashboard input::placeholder,
html[data-theme="dark"] .children-master-dashboard textarea::placeholder,
html[data-theme="dark"] .children-case-dashboard input::placeholder,
html[data-theme="dark"] .children-case-dashboard textarea::placeholder,
html[data-theme="dark"] .child-arrangements-centre input::placeholder,
html[data-theme="dark"] .child-arrangements-centre textarea::placeholder,
html[data-theme="dark"] .child-arrangements-workspace input::placeholder,
html[data-theme="dark"] .child-arrangements-workspace textarea::placeholder,
html[data-theme="dark"] .guided-child-intake input::placeholder,
html[data-theme="dark"] .guided-child-intake textarea::placeholder {
  color:#64748b !important;
  opacity:1 !important;
}
html[data-theme="dark"] .children-master-dashboard button,
html[data-theme="dark"] .children-case-dashboard button,
html[data-theme="dark"] .child-arrangements-centre button,
html[data-theme="dark"] .child-arrangements-workspace button,
html[data-theme="dark"] .guided-child-intake button,
html[data-theme="dark"] .children-dashboard-actions button,
html[data-theme="dark"] .actions.stacked button {
  background:linear-gradient(135deg,#16a34a,#15803d) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.28) !important;
}
html[data-theme="dark"] .children-master-dashboard button.secondary,
html[data-theme="dark"] .children-case-dashboard button.secondary,
html[data-theme="dark"] .child-arrangements-centre button.secondary,
html[data-theme="dark"] .child-arrangements-workspace button.secondary,
html[data-theme="dark"] .guided-child-intake button.secondary {
  background:#f8fafc !important;
  color:#0f172a !important;
  border:1px solid #94a3b8 !important;
}
html[data-theme="dark"] .children-master-dashboard th,
html[data-theme="dark"] .children-case-dashboard th,
html[data-theme="dark"] .child-arrangements-centre th,
html[data-theme="dark"] .child-arrangements-workspace th,
html[data-theme="dark"] .guided-child-intake th {
  background:#dcfce7 !important;
  color:#052e16 !important;
}
html[data-theme="dark"] .children-master-dashboard td,
html[data-theme="dark"] .children-case-dashboard td,
html[data-theme="dark"] .child-arrangements-centre td,
html[data-theme="dark"] .child-arrangements-workspace td,
html[data-theme="dark"] .guided-child-intake td {
  background:#ffffff !important;
  color:#0f172a !important;
  border-bottom:1px solid #dbe5ef !important;
}
html[data-theme="dark"] .child-intake-score,
html[data-theme="dark"] .readiness-score,
html[data-theme="dark"] .score-card {
  background:#dcfce7 !important;
  color:#052e16 !important;
  border:1px solid #86efac !important;
}
html[data-theme="dark"] .child-intake-score strong,
html[data-theme="dark"] .child-intake-score span,
html[data-theme="dark"] .child-intake-score small {
  color:#052e16 !important;
}

@media(max-width:900px){
  .children-dashboard-hero,
  .children-dashboard-card,
  .children-library-tabs > div,
  .children-library-tabs section,
  .children-library-tabs article,
  .child-intake-step,
  .child-intake-summary,
  .child-intake-panel {
    padding:16px !important;
    border-radius:16px !important;
  }
  .children-dashboard-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
}

/* v55.3 My Portal routing/readability recovery */
.portal-readable-shell{display:block;width:100%;color:var(--text, #102033);}
.portal-readable-hero{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin:0 0 1rem;padding:1.25rem;border:1px solid var(--border, rgba(60,80,120,.22));border-radius:18px;background:var(--panel, #ffffff);box-shadow:0 12px 30px rgba(0,0,0,.08);color:var(--text, #102033);}
.portal-readable-hero h2{margin:.15rem 0 .4rem;color:var(--text, #102033);font-size:1.65rem;line-height:1.1;}
.portal-readable-hero p{margin:.2rem 0;color:var(--muted, #52677f);max-width:68ch;}
.portal-readable-hero .eyebrow{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--accent, #059669);}
.portal-readable-status{min-width:180px;border:1px solid var(--border, rgba(60,80,120,.22));border-radius:14px;padding:.8rem;background:var(--bg, #f7f9fc);color:var(--text, #102033);}
.portal-readable-status strong,.portal-readable-status span{display:block;color:var(--text, #102033);}
.portal-readable-shell input,.portal-readable-shell select,.portal-readable-shell textarea{background:var(--input-bg, #fff)!important;color:var(--input-text, #102033)!important;border:1px solid var(--input-border, rgba(60,80,120,.35))!important;}
.portal-readable-shell label,.portal-readable-shell th,.portal-readable-shell td,.portal-readable-shell strong{color:var(--text, #102033);}
body.dark .portal-readable-shell{color:var(--text, #f5f8ff);}
body.dark .portal-readable-hero{background:var(--panel, #101a2d);color:var(--text, #f5f8ff);border-color:var(--border, rgba(130,170,255,.28));box-shadow:0 14px 34px rgba(0,0,0,.35);}
body.dark .portal-readable-hero h2,body.dark .portal-readable-status strong,body.dark .portal-readable-status span,body.dark .portal-readable-shell label,body.dark .portal-readable-shell th,body.dark .portal-readable-shell td,body.dark .portal-readable-shell strong{color:var(--text, #f5f8ff);}
body.dark .portal-readable-hero p{color:var(--muted, #b9c8da);}
body.dark .portal-readable-status{background:var(--bg, #071428);border-color:var(--border, rgba(130,170,255,.28));color:var(--text, #f5f8ff);}
body.dark .portal-readable-shell input,body.dark .portal-readable-shell select,body.dark .portal-readable-shell textarea{background:#0b1424!important;color:#f5f8ff!important;border-color:rgba(148,178,255,.38)!important;}
@media(max-width:760px){.portal-readable-hero{flex-direction:column}.portal-readable-status{width:100%;min-width:0}}



/* V55.6 Compact navigation width repair
   Keep the main menu inside the app width. Priority groups remain visible; lower-priority groups are in More. */
html,body{max-width:100%;overflow-x:hidden;}
.app-shell,.app-main,.workspace,.tabs{max-width:100%;box-sizing:border-box;}
.tabs{
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  overflow:visible!important;
}
.nav-home{
  flex:0 1 174px!important;
  min-width:148px!important;
  max-width:190px!important;
}
.nav-dropdown-bar.compact-nav-bar,
.nav-dropdown-bar{
  flex:1 1 420px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  padding-bottom:0!important;
}
.nav-dropdown{
  flex:0 1 auto!important;
  min-width:0!important;
  max-width:100%!important;
}
.nav-dropdown summary{
  min-width:0!important;
  max-width:160px!important;
  padding:8px 10px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.nav-dropdown summary span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.nav-dropdown summary small{
  display:none!important;
}
.nav-dropdown-menu{
  max-width:min(340px,calc(100vw - 32px))!important;
  width:max-content!important;
}
.nav-dropdown-item{
  white-space:normal!important;
}
@media(max-width:1100px){
  .tabs{align-items:flex-start!important;}
  .nav-home{flex:1 1 100%!important;max-width:none!important;width:100%!important;}
  .nav-dropdown-bar.compact-nav-bar,.nav-dropdown-bar{flex:1 1 100%!important;width:100%!important;}
}
@media(max-width:700px){
  .nav-dropdown-bar.compact-nav-bar,.nav-dropdown-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}
  .nav-dropdown summary{width:100%!important;max-width:none!important;justify-content:center!important;border-radius:14px!important;}
  .nav-dropdown-menu{position:absolute!important;left:0!important;right:auto!important;min-width:min(280px,calc(100vw - 28px))!important;}
}
@media(max-width:460px){
  .nav-dropdown-bar.compact-nav-bar,.nav-dropdown-bar{grid-template-columns:1fr!important;}
  .nav-dropdown-menu{position:static!important;width:100%!important;min-width:0!important;max-width:100%!important;}
}

/* =========================================================
   McKenzieCMS v55.9 - Admin AI Controls readability tidy-up
   Frontend-only. Supabase SQL update: NO.
   ========================================================= */
.ai-admin-control-panel,
.ai-admin-control-panel *{box-sizing:border-box;}
.ai-admin-control-panel{display:grid;gap:18px;color:var(--text)!important;}
.ai-admin-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,260px);gap:18px;align-items:stretch;padding:20px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--panel)),var(--panel-soft));box-shadow:var(--shadow);}
.ai-admin-kicker{display:inline-flex;width:max-content;max-width:100%;margin-bottom:8px;padding:5px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--text);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.ai-admin-hero h3{margin:0 0 6px;font-size:clamp(22px,2.6vw,32px);line-height:1.05;color:var(--text)!important;}
.ai-admin-hero p,.ai-admin-master-row p,.ai-admin-card p{margin:0;color:var(--muted)!important;line-height:1.5;opacity:1!important;}
.ai-admin-status{display:grid;align-content:center;justify-items:start;gap:6px;padding:18px;border-radius:18px;border:1px solid var(--line);background:var(--panel);color:var(--text)!important;}
.ai-admin-status strong{font-size:24px;color:var(--text)!important;}
.ai-admin-status span{color:var(--muted)!important;}
.ai-admin-status.enabled{border-color:color-mix(in srgb,var(--success) 45%,var(--line));background:color-mix(in srgb,var(--success) 10%,var(--panel));}
.ai-admin-status.disabled{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:color-mix(in srgb,var(--danger) 10%,var(--panel));}
.ai-admin-master-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 8px 24px rgba(0,0,0,.08);}
.ai-admin-master-row strong{display:block;margin-bottom:3px;font-size:16px;color:var(--text)!important;}
.ai-admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:14px;}
.ai-admin-card{display:grid;gap:10px;min-height:164px;padding:16px;border:1px solid var(--line)!important;border-radius:18px;background:var(--panel)!important;color:var(--text)!important;box-shadow:0 8px 22px rgba(0,0,0,.08)!important;}
.ai-admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ai-admin-card-head span{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,var(--panel-soft));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));color:var(--text)!important;font-size:11px;font-weight:900;}
.ai-admin-card h4{margin:0;color:var(--text)!important;font-size:16px;line-height:1.22;}
.ai-admin-actions{padding-top:2px;}
.ai-admin-note{padding:10px 12px;border:1px dashed var(--line);border-radius:14px;background:var(--panel-soft);color:var(--muted)!important;}
.ai-switch{position:relative;display:inline-flex;align-items:center;width:48px;height:28px;flex:0 0 auto;cursor:pointer;}
.ai-switch.large{width:62px;height:34px;}
.ai-switch input{position:absolute;opacity:0;pointer-events:none;}
.ai-switch em{display:block;width:100%;height:100%;border-radius:999px;border:1px solid var(--line);background:color-mix(in srgb,var(--muted) 22%,var(--panel));transition:.18s ease;box-shadow:inset 0 1px 2px rgba(0,0,0,.18);}
.ai-switch em::after{content:"";position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:999px;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.25);transition:.18s ease;}
.ai-switch.large em::after{width:26px;height:26px;}
.ai-switch input:checked + em{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:color-mix(in srgb,var(--accent) 60%,var(--line));}
.ai-switch input:checked + em::after{transform:translateX(20px);}
.ai-switch.large input:checked + em::after{transform:translateX(28px);}
[data-theme="light"] .ai-admin-hero,
[data-theme="light"] .ai-admin-master-row,
[data-theme="light"] .ai-admin-card,
[data-theme="light"] .ai-admin-status,
[data-theme="light"] .ai-admin-note{background:#ffffff!important;color:#17201c!important;border-color:#d6ded8!important;box-shadow:0 8px 22px rgba(33,40,35,.08)!important;}
[data-theme="light"] .ai-admin-hero{background:linear-gradient(135deg,#ffffff,#f4faf6)!important;}
[data-theme="light"] .ai-admin-kicker,
[data-theme="light"] .ai-admin-card-head span{color:#15362f!important;background:#eaf7f1!important;border-color:#bfdfd2!important;}
[data-theme="light"] .ai-admin-hero h3,
[data-theme="light"] .ai-admin-master-row strong,
[data-theme="light"] .ai-admin-card h4,
[data-theme="light"] .ai-admin-status strong{color:#17201c!important;}
[data-theme="light"] .ai-admin-hero p,
[data-theme="light"] .ai-admin-master-row p,
[data-theme="light"] .ai-admin-card p,
[data-theme="light"] .ai-admin-status span,
[data-theme="light"] .ai-admin-note{color:#5f6f68!important;}
[data-theme="dark"] .ai-admin-hero,
[data-theme="dark"] .ai-admin-master-row,
[data-theme="dark"] .ai-admin-card,
[data-theme="dark"] .ai-admin-status,
[data-theme="dark"] .ai-admin-note{background:linear-gradient(180deg,rgba(9,38,31,.96),rgba(3,16,13,.94))!important;color:#ecfdf5!important;border-color:rgba(110,231,183,.24)!important;}
[data-theme="dark"] .ai-admin-hero h3,
[data-theme="dark"] .ai-admin-master-row strong,
[data-theme="dark"] .ai-admin-card h4,
[data-theme="dark"] .ai-admin-status strong{color:#ecfdf5!important;}
[data-theme="dark"] .ai-admin-hero p,
[data-theme="dark"] .ai-admin-master-row p,
[data-theme="dark"] .ai-admin-card p,
[data-theme="dark"] .ai-admin-status span,
[data-theme="dark"] .ai-admin-note{color:#b9d8cc!important;}
@media(max-width:720px){.ai-admin-hero{grid-template-columns:1fr;}.ai-admin-master-row{align-items:flex-start;}.ai-admin-grid{grid-template-columns:1fr;}}

/* v56 System Health / feature wiring audit */
.v56-health-hero{display:flex;justify-content:space-between;gap:1.25rem;align-items:stretch;margin:0 0 1rem;padding:1.25rem;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:var(--shadow,0 12px 28px rgba(0,0,0,.12));}
.v56-health-hero h3{margin:.2rem 0 .45rem;color:var(--text);}
.v56-health-hero p{margin:0;color:var(--muted);max-width:760px;}
.v56-health-score{min-width:150px;border-radius:16px;border:1px solid var(--border);background:var(--card,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;color:var(--text);}
.v56-health-score strong{font-size:2rem;line-height:1;color:var(--text);}
.v56-health-score span{font-size:.82rem;color:var(--muted);text-align:center;margin-top:.35rem;}
.v56-health-pill{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.25rem .55rem;font-weight:700;font-size:.78rem;border:1px solid var(--border);white-space:nowrap;}
.v56-health-pill.ok{background:rgba(34,197,94,.12);color:#166534;border-color:rgba(34,197,94,.35);}
.v56-health-pill.warn{background:rgba(245,158,11,.14);color:#92400e;border-color:rgba(245,158,11,.35);}
body.dark .v56-health-pill.ok,[data-theme="dark"] .v56-health-pill.ok{color:#bbf7d0;background:rgba(34,197,94,.18);}
body.dark .v56-health-pill.warn,[data-theme="dark"] .v56-health-pill.warn{color:#fde68a;background:rgba(245,158,11,.2);}
@media(max-width:760px){.v56-health-hero{flex-direction:column}.v56-health-score{min-width:0;width:100%;}}


/* v56.1 Admin diagnostics visibility and version footer */
.diagnostics-launch-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:18px;background:var(--panel-soft, rgba(255,255,255,.06));color:var(--text)}
.diagnostics-launch-card p{margin:.35rem 0 0;color:var(--muted)}
.v56-version-badge{position:fixed;right:12px;bottom:10px;z-index:80;padding:.4rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:.78rem;box-shadow:0 10px 25px rgba(0,0,0,.18)}
body.light .diagnostics-launch-card{background:#ffffff;color:#102033;border-color:#d8e2ef}
body.light .diagnostics-launch-card p{color:#54657a}
@media(max-width:760px){.diagnostics-launch-card{align-items:flex-start;flex-direction:column}.v56-version-badge{position:static;margin:10px auto;display:block;width:max-content}}

/* v57.0 Universal Search + Feature Finder */
.nav-search-trigger{
  border:1px solid var(--border, rgba(148,163,184,.35));
  background:var(--panel, rgba(255,255,255,.86));
  color:var(--text, #0f172a);
  border-radius:14px;
  padding:.58rem .74rem;
  display:inline-flex;
  align-items:center;
  gap:.48rem;
  min-width:112px;
  white-space:nowrap;
  box-shadow:0 8px 22px rgba(15,23,42,.08);
}
.nav-search-trigger span:last-child{display:flex;flex-direction:column;align-items:flex-start;line-height:1.05;}
.nav-search-trigger strong{font-size:.86rem;}
.nav-search-trigger small{font-size:.68rem;color:var(--muted,#64748b);}
.nav-search-trigger.active{outline:2px solid var(--accent,#2f6f63);}
.v57-search-hero{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  padding:1.1rem;
  border:1px solid var(--border,rgba(148,163,184,.35));
  border-radius:18px;
  background:linear-gradient(135deg, rgba(47,111,99,.12), rgba(99,132,117,.10));
  margin-bottom:1rem;
}
.v57-search-hero h3{margin:.15rem 0 .35rem;font-size:1.45rem;color:var(--text,#0f172a);}
.v57-search-hero p{margin:.1rem 0;color:var(--muted,#64748b);}
.v57-shortcut{display:flex;align-items:center;gap:.35rem;color:var(--text,#0f172a);}
.v57-shortcut strong{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:.42rem .55rem;border-radius:10px;border:1px solid var(--border,rgba(148,163,184,.35));background:var(--panel,#fff);box-shadow:0 8px 18px rgba(15,23,42,.08);}
.v57-search-box{display:grid;gap:.65rem;margin:1rem 0;}
.v57-search-box label{font-weight:800;color:var(--text,#0f172a);}
.v57-search-box input,
#v57CommandInput{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--border,rgba(148,163,184,.35));
  background:var(--input-bg,#fff);
  color:var(--text,#0f172a);
  border-radius:14px;
  padding:.92rem 1rem;
  font-size:1rem;
  outline:none;
}
.v57-search-box input:focus,#v57CommandInput:focus{border-color:var(--accent,#2f6f63);box-shadow:0 0 0 3px rgba(47,111,99,.18);}
.v57-search-filters{display:flex;flex-wrap:wrap;gap:.45rem;}
.v57-search-filters button{border:1px solid var(--border,rgba(148,163,184,.35));background:var(--panel,#fff);color:var(--text,#0f172a);border-radius:999px;padding:.45rem .7rem;font-weight:700;}
.v57-search-filters button.active{background:var(--accent,#2f6f63);color:#fff;border-color:var(--accent,#2f6f63);}
.v57-result-group{margin:1rem 0;}
.v57-result-group h3{display:flex;align-items:center;gap:.5rem;margin:.2rem 0 .55rem;color:var(--text,#0f172a);}
.v57-result-group h3 span{font-size:.78rem;border-radius:999px;padding:.15rem .45rem;background:rgba(47,111,99,.14);color:var(--text,#0f172a);}
.v57-result-card{
  width:100%;
  border:1px solid var(--border,rgba(148,163,184,.35));
  background:var(--panel,#fff);
  color:var(--text,#0f172a);
  border-radius:16px;
  padding:.75rem;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.75rem;
  align-items:center;
  text-align:left;
  margin:.45rem 0;
  cursor:pointer;
}
.v57-result-card:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.12);}
.v57-result-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:rgba(47,111,99,.12);}
.v57-result-main{display:grid;gap:.18rem;min-width:0;}
.v57-result-main strong{font-size:.96rem;color:var(--text,#0f172a);}
.v57-result-main small{color:var(--muted,#64748b);font-weight:700;}
.v57-result-main em{font-style:normal;color:var(--muted,#64748b);font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v57-result-type{border-radius:999px;background:rgba(148,163,184,.16);padding:.25rem .5rem;font-size:.76rem;font-weight:800;color:var(--text,#0f172a);}
.v57-command-overlay{position:fixed;inset:0;background:rgba(2,6,23,.62);z-index:99999;display:flex;align-items:flex-start;justify-content:center;padding:8vh 1rem 1rem;}
.v57-command-overlay.hidden{display:none;}
.v57-command-panel{width:min(760px,100%);max-height:82vh;overflow:auto;border-radius:20px;border:1px solid var(--border,rgba(148,163,184,.35));background:var(--bg,#fff);color:var(--text,#0f172a);box-shadow:0 30px 70px rgba(0,0,0,.32);padding:1rem;}
.v57-command-head{display:flex;align-items:center;gap:.7rem;justify-content:space-between;margin-bottom:.75rem;}
.v57-command-head strong{font-size:1.05rem;}
.v57-command-head span{margin-right:auto;border:1px solid var(--border,rgba(148,163,184,.35));border-radius:999px;padding:.2rem .5rem;color:var(--muted,#64748b);font-weight:800;font-size:.75rem;}
.v57-command-head button{border:1px solid var(--border,rgba(148,163,184,.35));background:var(--panel,#fff);color:var(--text,#0f172a);border-radius:10px;padding:.4rem .6rem;}
.v57-command-results{display:grid;gap:.45rem;margin-top:.75rem;}
.v57-command-result{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.45rem .75rem;align-items:center;text-align:left;border:1px solid var(--border,rgba(148,163,184,.35));background:var(--panel,#fff);color:var(--text,#0f172a);border-radius:14px;padding:.65rem;}
.v57-command-result span{grid-row:1/3;display:inline-flex;width:34px;height:34px;border-radius:11px;align-items:center;justify-content:center;background:rgba(47,111,99,.12);}
.v57-command-result strong{color:var(--text,#0f172a);}
.v57-command-result small{color:var(--muted,#64748b);}
@media (max-width:760px){
  .v57-search-hero{align-items:flex-start;flex-direction:column;}
  .v57-result-card{grid-template-columns:auto 1fr;}
  .v57-result-type{grid-column:2;justify-self:start;}
  .nav-search-trigger{min-width:auto;}
}

/* v58 Business Protection & Compliance Suite */
.v58-hero{display:flex;justify-content:space-between;gap:1rem;align-items:stretch;padding:1rem;border:1px solid var(--border,rgba(148,163,184,.35));border-radius:18px;background:linear-gradient(135deg,rgba(47,111,99,.16),rgba(245,183,53,.10));color:var(--text,#0f172a);margin-bottom:1rem;}
.v58-hero h3{margin:.15rem 0;color:var(--text,#0f172a);font-size:1.25rem;}
.v58-hero p{margin:.2rem 0;color:var(--muted,#64748b);max-width:760px;}
.v58-score{min-width:130px;border:1px solid var(--border,rgba(148,163,184,.35));border-radius:16px;background:var(--panel,#fff);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.85rem;color:var(--text,#0f172a);}
.v58-score strong{font-size:1.45rem;line-height:1;}
.v58-score span{font-size:.78rem;color:var(--muted,#64748b);font-weight:800;text-align:center;}
.v58-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.8rem;margin:1rem 0;}
.v58-card{border:1px solid var(--border,rgba(148,163,184,.35));background:var(--panel,#fff);color:var(--text,#0f172a);border-radius:16px;padding:.9rem;text-align:left;box-shadow:0 8px 22px rgba(15,23,42,.07);display:block;min-height:120px;}
button.v58-card{cursor:pointer;width:100%;font:inherit;}
button.v58-card:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(15,23,42,.12);}
.v58-card strong{display:block;margin-bottom:.25rem;color:var(--text,#0f172a);font-size:1rem;}
.v58-card p{margin:.2rem 0 .65rem;color:var(--muted,#64748b);font-size:.9rem;}
.v58-status{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.24rem .55rem;font-size:.76rem;font-weight:900;border:1px solid var(--border,rgba(148,163,184,.35));}
.v58-status.ok{background:rgba(34,197,94,.14);color:#166534;}
.v58-status.warn{background:rgba(245,158,11,.16);color:#92400e;}
body.dark .v58-status.ok,[data-theme="dark"] .v58-status.ok{color:#bbf7d0;}
body.dark .v58-status.warn,[data-theme="dark"] .v58-status.warn{color:#fde68a;}
@media(max-width:760px){.v58-hero{flex-direction:column}.v58-score{width:100%;box-sizing:border-box}.v58-grid{grid-template-columns:1fr}}

/* v58.1 Legal Hold detection/readability fix */
.v58-inline-ok,.v58-inline-warn{margin:14px 0;padding:14px 16px;border-radius:14px;line-height:1.45;font-weight:600}
.v58-inline-ok{background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.35);color:var(--text,#102018)}
.v58-inline-warn{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.45);color:var(--text,#102018)}
button.danger{background:#b91c1c;color:#fff;border-color:#991b1b}
[data-theme="dark"] .v58-inline-ok,[data-theme="dark"] .v58-inline-warn{color:#f8fafc}


/* ================================
   v59.0 UX Refresh - theme-safe polish
   ================================ */
:root{
  --v59-bg: var(--bg, #f6f8f7);
  --v59-panel: var(--panel, #ffffff);
  --v59-text: var(--text, #17211d);
  --v59-muted: var(--muted, #5c6b63);
  --v59-border: rgba(47,111,99,.18);
  --v59-primary: var(--accent, #2f6f63);
  --v59-soft: rgba(47,111,99,.10);
  --v59-danger: #b42318;
  --v59-warning: #b7791f;
}
[data-theme="dark"], body.dark, .dark-mode{
  --v59-bg:#101716;
  --v59-panel:#17211f;
  --v59-text:#f3faf7;
  --v59-muted:#bad0c7;
  --v59-border:rgba(143,210,188,.22);
  --v59-soft:rgba(143,210,188,.12);
}
.main{max-width:100%;overflow-x:hidden;background:var(--v59-bg);}
.topbar{gap:16px;align-items:flex-start;flex-wrap:wrap;border-bottom:1px solid var(--v59-border);}
.topbar-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;max-width:100%;}
.v59-header-search-slot{flex:1 1 280px;min-width:240px;max-width:460px;}
.v59-top-search{display:flex;align-items:center;gap:6px;background:var(--v59-panel);border:1px solid var(--v59-border);border-radius:999px;padding:6px 8px;box-shadow:0 8px 24px rgba(0,0,0,.06);}
.v59-top-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--v59-text);outline:0;padding:7px 8px;}
.v59-top-search button{border-radius:999px;padding:7px 10px;}
.v59-top-search small{color:var(--v59-muted);white-space:nowrap;font-size:.75rem;padding-right:6px;}
.v59-command-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:20px;align-items:center;padding:24px;border:1px solid var(--v59-border);border-radius:24px;background:linear-gradient(135deg,var(--v59-panel),var(--v59-soft));color:var(--v59-text);margin-bottom:18px;box-shadow:0 18px 40px rgba(0,0,0,.08);}
.v59-command-hero h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:.2rem 0;color:var(--v59-text);}
.v59-command-hero p{color:var(--v59-muted);max-width:760px;}
.v59-hero-search{background:var(--v59-panel);border:1px solid var(--v59-border);border-radius:18px;padding:14px;display:grid;gap:8px;}
.v59-hero-search label{font-weight:700;color:var(--v59-text);}
.v59-hero-search input{width:100%;box-sizing:border-box;background:var(--v59-bg);color:var(--v59-text);border:1px solid var(--v59-border);border-radius:12px;padding:12px;}
.v59-command-stats{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:12px;margin:16px 0;}
.v59-command-stats div,.v59-status-grid div{background:var(--v59-panel);border:1px solid var(--v59-border);border-radius:18px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.05);}
.v59-command-stats strong,.v59-status-grid strong{display:block;font-size:1.55rem;color:var(--v59-text);}
.v59-command-stats span,.v59-status-grid span{color:var(--v59-muted);font-size:.9rem;}
.v59-quick-actions{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0;}
.v59-action-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;background:var(--v59-panel);border:1px solid var(--v59-border);border-radius:20px;padding:16px;box-shadow:0 14px 30px rgba(0,0,0,.06);}
.v59-card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--v59-soft);font-size:1.4rem;}
.v59-action-card h4,.v59-module-polish h4{margin:0 0 5px;color:var(--v59-text);}
.v59-action-card p,.v59-module-polish p,.v59-empty p{margin:0 0 10px;color:var(--v59-muted);}
.v59-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0;}
.panel{background:var(--v59-panel);border:1px solid var(--v59-border);border-radius:20px;box-shadow:0 10px 28px rgba(0,0,0,.055);color:var(--v59-text);}
.panel h3{color:var(--v59-text);}
.v59-list{display:grid;gap:8px;}
.v59-list button{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;text-align:left;background:var(--v59-bg);color:var(--v59-text);border:1px solid var(--v59-border);border-radius:14px;padding:12px;}
.v59-list span{color:var(--v59-muted);font-size:.88rem;}
.v59-empty{border:1px dashed var(--v59-border);border-radius:18px;padding:18px;background:var(--v59-soft);}
.v59-module-polish{padding:6px 0;}
.v59-section-title{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,var(--v59-panel),var(--v59-soft));border:1px solid var(--v59-border);border-radius:22px;padding:18px;margin-bottom:14px;}
.v59-section-title>span{font-size:2rem;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--v59-soft);}
.v59-section-title h3{margin:0;color:var(--v59-text);font-size:1.4rem;}
.v59-section-title p{margin:4px 0 0;color:var(--v59-muted);}
.v59-status-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;margin-bottom:14px;}
.v59-version-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.v59-version-strip span{background:var(--v59-soft);border:1px solid var(--v59-border);border-radius:999px;padding:6px 10px;color:var(--v59-text);}
.nav-dropdown-bar{max-width:100%;overflow:visible;}
.nav-dropdown summary{white-space:nowrap;}
.tab-content{max-width:1280px;margin:0 auto;width:100%;box-sizing:border-box;}
input,select,textarea{max-width:100%;}
.site-footer-mini-status span{background:var(--v59-soft);border:1px solid var(--v59-border);color:var(--v59-text);}
@media(max-width:1100px){.v59-command-hero,.v59-dashboard-grid{grid-template-columns:1fr}.v59-command-stats{grid-template-columns:repeat(3,1fr)}.v59-quick-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.v59-header-search-slot{order:5;flex-basis:100%;max-width:none}.v59-command-stats,.v59-quick-actions,.v59-status-grid{grid-template-columns:1fr}.v59-action-card{grid-template-columns:1fr}.topbar-actions{justify-content:stretch}.topbar-actions>*{max-width:100%}.v59-command-hero{padding:18px;border-radius:18px}.panel{border-radius:16px}}


/* v61.5 actionable recommendation rows */
.v615-action-list{display:grid;gap:10px;margin:10px 0 0;padding:0;}
.v615-action-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--v59-border,var(--border,#d7dde8));border-radius:14px;padding:12px;background:linear-gradient(135deg,rgba(22,163,74,.08),rgba(127,127,127,.035));box-shadow:0 8px 18px rgba(0,0,0,.035);}
.v615-action-index{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:800;background:var(--primary,#16a34a);color:#fff;}
.v615-action-copy{min-width:0;display:grid;gap:3px;}
.v615-action-copy strong{color:var(--v59-text,var(--text,#0f172a));line-height:1.25;}
.v615-action-copy small{color:var(--v59-muted,var(--muted,#667085));line-height:1.25;}
.v615-action-button{border:0;border-radius:999px;padding:8px 12px;font-weight:800;cursor:pointer;background:var(--primary,#16a34a);color:#fff;white-space:nowrap;}
.v615-action-button:hover{filter:brightness(.95);transform:translateY(-1px);}
@media(max-width:720px){.v615-action-row{grid-template-columns:auto 1fr}.v615-action-button{grid-column:1/-1;width:100%;}}


/* =========================================================
   McKenzieCMS v61.9 - Dark Emerald AI Theme Rebuild
   Frontend-only visual update. Supabase SQL update: NO.
   Removes remaining blue/cyan dark-theme accents and improves contrast.
   ========================================================= */
html[data-theme="dark"],
[data-theme="dark"],
body.dark,
.dark-mode{
  --bg:#020f0c!important;
  --panel:rgba(6,31,25,.94)!important;
  --panel-soft:rgba(8,47,37,.86)!important;
  --card:rgba(5,35,28,.94)!important;
  --soft:rgba(16,185,129,.12)!important;
  --border:rgba(110,231,183,.28)!important;
  --line:rgba(110,231,183,.24)!important;
  --text:#f0fdf4!important;
  --muted:#b7ead6!important;
  --sidebar:#020b09!important;
  --sidebar-panel:rgba(5,46,36,.94)!important;
  --accent:#10b981!important;
  --accent-2:#34d399!important;
  --primary:#10b981!important;
  --success:#34d399!important;
  --warning:#f6c453!important;
  --v59-bg:#020f0c!important;
  --v59-panel:rgba(6,31,25,.96)!important;
  --v59-text:#f0fdf4!important;
  --v59-muted:#b7ead6!important;
  --v59-border:rgba(110,231,183,.30)!important;
  --v59-primary:#10b981!important;
  --v59-soft:rgba(16,185,129,.14)!important;
}
html[data-theme="dark"] body,
body.dark,
.dark-mode{
  background:
    radial-gradient(circle at 10% 8%, rgba(16,185,129,.24), transparent 34rem),
    radial-gradient(circle at 86% 2%, rgba(52,211,153,.16), transparent 30rem),
    radial-gradient(circle at 72% 88%, rgba(246,196,83,.08), transparent 30rem),
    linear-gradient(135deg,#010806 0%,#031712 48%,#02130f 100%)!important;
  color:#f0fdf4!important;
}
html[data-theme="dark"] .main,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .tabs,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .ai-card,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .resource-mini,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .v59-top-search,
html[data-theme="dark"] .v59-command-hero,
html[data-theme="dark"] .v59-hero-search,
html[data-theme="dark"] .v59-command-stats div,
html[data-theme="dark"] .v59-status-grid div,
html[data-theme="dark"] .v59-action-card,
html[data-theme="dark"] .v615-action-row,
html[data-theme="dark"] .v611-readiness-actions,
html[data-theme="dark"] .v611-readiness-card{
  background:linear-gradient(180deg,rgba(8,47,37,.92),rgba(2,15,12,.94))!important;
  color:#f0fdf4!important;
  border-color:rgba(110,231,183,.30)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 34px rgba(16,185,129,.10)!important;
}
html[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,#020b09,#032018)!important;
  border-right:1px solid rgba(110,231,183,.24)!important;
}
html[data-theme="dark"] button,
html[data-theme="dark"] .restore-label,
html[data-theme="dark"] .v59-list button,
html[data-theme="dark"] .v615-action-button,
html[data-theme="dark"] .v611-gap-link{
  background:linear-gradient(135deg,#10b981,#047857)!important;
  color:#02130f!important;
  border-color:rgba(110,231,183,.58)!important;
  font-weight:900!important;
}
html[data-theme="dark"] button:not(.primary):not(.danger):hover,
html[data-theme="dark"] .restore-label:hover{
  filter:brightness(1.07)!important;
  box-shadow:0 0 0 3px rgba(16,185,129,.14),0 16px 34px rgba(0,0,0,.30)!important;
}
html[data-theme="dark"] .primary,
html[data-theme="dark"] .tabs button.active,
html[data-theme="dark"] .nav-home.active,
html[data-theme="dark"] .nav-dropdown-item.active,
html[data-theme="dark"] .theme-choice.active{
  background:linear-gradient(135deg,#34d399,#10b981)!important;
  color:#02130f!important;
  border-color:rgba(110,231,183,.70)!important;
}
html[data-theme="dark"] .danger{background:linear-gradient(135deg,#fb7185,#be123c)!important;color:#fff!important;}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .search-box input,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .generator-output{
  background:#010c09!important;
  color:#f0fdf4!important;
  border-color:rgba(110,231,183,.34)!important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:rgba(240,253,244,.62)!important;}
html[data-theme="dark"] .mini,
html[data-theme="dark"] .topbar p,
html[data-theme="dark"] .metric span,
html[data-theme="dark"] .panel .mini,
html[data-theme="dark"] .client-card span,
html[data-theme="dark"] .client-card small,
html[data-theme="dark"] .v59-command-hero p,
html[data-theme="dark"] .v59-action-card p,
html[data-theme="dark"] .v59-list span,
html[data-theme="dark"] .v615-action-copy small{
  color:#b7ead6!important;
}
html[data-theme="dark"] a,
html[data-theme="dark"] .nav-group-title,
html[data-theme="dark"] .auth-kicker,
html[data-theme="dark"] .portal-readable-hero .eyebrow{
  color:#6ee7b7!important;
}
html[data-theme="dark"] th{
  background:linear-gradient(180deg,#34d399,#059669)!important;
  color:#02130f!important;
  border-bottom-color:rgba(110,231,183,.42)!important;
}
html[data-theme="dark"] td{color:#f0fdf4!important;border-bottom-color:rgba(110,231,183,.16)!important;}
html[data-theme="dark"] tr:hover td{background:rgba(16,185,129,.12)!important;}
html[data-theme="dark"] .notice,
html[data-theme="dark"] .upload-zone,
html[data-theme="dark"] .wizard-readiness,
html[data-theme="dark"] .wizard-review,
html[data-theme="dark"] .ai-feature-card,
html[data-theme="dark"] .ai-toggle-row,
html[data-theme="dark"] .activity-feed-item,
html[data-theme="dark"] .onboarding-step,
html[data-theme="dark"] .welcome-action{
  background:linear-gradient(180deg,rgba(6,78,59,.30),rgba(2,15,12,.90))!important;
  color:#f0fdf4!important;
  border-color:rgba(110,231,183,.30)!important;
}
html[data-theme="dark"] .rag-blue,
html[data-theme="dark"] .case-business,
html[data-theme="dark"] .status-business{
  color:#6ee7b7!important;
}


/* =========================================================
   McKenzieCMS v62.0 - Sage AI Theme Refresh
   Frontend-only visual update. Supabase SQL update: NO.
   Primary theme colour: #638475.
   ========================================================= */
:root{
  --sage-primary:#638475;
  --sage-hover:#739687;
  --sage-dark:#4f6a5d;
  --sage-deep:#263a33;
  --sage-ink:#07100d;
  --sage-soft:rgba(99,132,117,.16);
  --sage-border:rgba(99,132,117,.34);
  --sage-glow:rgba(99,132,117,.22);
}
html[data-theme="dark"],
[data-theme="dark"],
body.dark,
.dark-mode{
  --bg:#0b1110!important;
  --panel:rgba(17,25,23,.94)!important;
  --panel-soft:rgba(22,32,29,.88)!important;
  --card:rgba(18,30,27,.94)!important;
  --soft:rgba(99,132,117,.16)!important;
  --border:rgba(99,132,117,.36)!important;
  --line:rgba(99,132,117,.30)!important;
  --text:#f5f8f7!important;
  --muted:#c2d0ca!important;
  --sidebar:#08100e!important;
  --sidebar-panel:rgba(24,38,34,.94)!important;
  --accent:#638475!important;
  --accent-2:#88a497!important;
  --primary:#638475!important;
  --success:#88a497!important;
  --v59-bg:#0b1110!important;
  --v59-panel:rgba(17,25,23,.96)!important;
  --v59-text:#f5f8f7!important;
  --v59-muted:#c2d0ca!important;
  --v59-border:rgba(99,132,117,.36)!important;
  --v59-primary:#638475!important;
  --v59-soft:rgba(99,132,117,.16)!important;
}
html[data-theme="dark"] body,
body.dark,
.dark-mode{
  background:
    radial-gradient(circle at 10% 8%, rgba(99,132,117,.24), transparent 34rem),
    radial-gradient(circle at 86% 2%, rgba(136,164,151,.15), transparent 30rem),
    radial-gradient(circle at 72% 88%, rgba(246,196,83,.07), transparent 30rem),
    linear-gradient(135deg,#050a09 0%,#0b1512 48%,#09110f 100%)!important;
  color:#f5f8f7!important;
}
html[data-theme="dark"] .main,
html[data-theme="dark"] .topbar,
html[data-theme="dark"] .tabs,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .ai-card,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .resource-mini,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .v59-top-search,
html[data-theme="dark"] .v59-command-hero,
html[data-theme="dark"] .v59-hero-search,
html[data-theme="dark"] .v59-command-stats div,
html[data-theme="dark"] .v59-status-grid div,
html[data-theme="dark"] .v59-action-card,
html[data-theme="dark"] .v615-action-row,
html[data-theme="dark"] .v611-readiness-actions,
html[data-theme="dark"] .v611-readiness-card{
  background:linear-gradient(180deg,rgba(22,32,29,.94),rgba(8,16,14,.96))!important;
  color:#f5f8f7!important;
  border-color:rgba(99,132,117,.36)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 34px rgba(99,132,117,.13)!important;
}
html[data-theme="dark"] .sidebar{
  background:linear-gradient(180deg,#08100e,#111c18)!important;
  border-right:1px solid rgba(99,132,117,.32)!important;
}
html[data-theme="dark"] button,
html[data-theme="dark"] .restore-label,
html[data-theme="dark"] .v59-list button,
html[data-theme="dark"] .v615-action-button,
html[data-theme="dark"] .v611-gap-link{
  background:linear-gradient(135deg,#638475,#4f6a5d)!important;
  color:#ffffff!important;
  border-color:rgba(136,164,151,.62)!important;
  font-weight:900!important;
}
html[data-theme="dark"] button:not(.primary):not(.danger):hover,
html[data-theme="dark"] .restore-label:hover{
  filter:brightness(1.08)!important;
  box-shadow:0 0 0 3px rgba(99,132,117,.18),0 16px 34px rgba(0,0,0,.30)!important;
}
html[data-theme="dark"] .primary,
html[data-theme="dark"] .tabs button.active,
html[data-theme="dark"] .nav-home.active,
html[data-theme="dark"] .nav-dropdown-item.active,
html[data-theme="dark"] .theme-choice.active,
html[data-theme="dark"] .badge,
html[data-theme="dark"] .auth-logo{
  background:linear-gradient(135deg,#88a497,#638475)!important;
  color:#07100d!important;
  border-color:rgba(136,164,151,.75)!important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .search-box input,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field select,
html[data-theme="dark"] .field textarea,
html[data-theme="dark"] .generator-output{
  background:#070d0b!important;
  color:#f5f8f7!important;
  border-color:rgba(99,132,117,.42)!important;
}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] .field input:focus,
html[data-theme="dark"] .field select:focus,
html[data-theme="dark"] .field textarea:focus{
  border-color:#88a497!important;
  box-shadow:0 0 0 3px rgba(99,132,117,.22)!important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:rgba(245,248,247,.62)!important;}
html[data-theme="dark"] .mini,
html[data-theme="dark"] .topbar p,
html[data-theme="dark"] .metric span,
html[data-theme="dark"] .panel .mini,
html[data-theme="dark"] .client-card span,
html[data-theme="dark"] .client-card small,
html[data-theme="dark"] .v59-command-hero p,
html[data-theme="dark"] .v59-action-card p,
html[data-theme="dark"] .v59-list span,
html[data-theme="dark"] .v615-action-copy small{
  color:#c2d0ca!important;
}
html[data-theme="dark"] a,
html[data-theme="dark"] .nav-group-title,
html[data-theme="dark"] .auth-kicker,
html[data-theme="dark"] .portal-readable-hero .eyebrow,
html[data-theme="dark"] .rag-blue,
html[data-theme="dark"] .case-business,
html[data-theme="dark"] .status-business{
  color:#b3c6bd!important;
}
html[data-theme="dark"] th{
  background:linear-gradient(180deg,#88a497,#638475)!important;
  color:#07100d!important;
  border-bottom-color:rgba(136,164,151,.45)!important;
}
html[data-theme="dark"] td{color:#f5f8f7!important;border-bottom-color:rgba(99,132,117,.18)!important;}
html[data-theme="dark"] tr:hover td{background:rgba(99,132,117,.14)!important;}
html[data-theme="dark"] .notice,
html[data-theme="dark"] .upload-zone,
html[data-theme="dark"] .wizard-readiness,
html[data-theme="dark"] .wizard-review,
html[data-theme="dark"] .ai-feature-card,
html[data-theme="dark"] .ai-toggle-row,
html[data-theme="dark"] .activity-feed-item,
html[data-theme="dark"] .onboarding-step,
html[data-theme="dark"] .welcome-action{
  background:linear-gradient(180deg,rgba(99,132,117,.22),rgba(8,16,14,.92))!important;
  color:#f5f8f7!important;
  border-color:rgba(99,132,117,.36)!important;
}
html[data-theme="dark"] .health-bar div,
html[data-theme="dark"] .readiness-meter div{
  background:linear-gradient(90deg,#f6c453,#88a497,#638475)!important;
  box-shadow:0 0 18px rgba(99,132,117,.32)!important;
}
html[data-theme="dark"] .feedback-fab,
html[data-theme="dark"] .toast,
html[data-theme="dark"] .visible-help-box,
html[data-theme="dark"] .custom-tooltip{
  background:linear-gradient(135deg,#263a33,#08100e)!important;
  border:1px solid rgba(99,132,117,.38)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.42),0 0 30px rgba(99,132,117,.16)!important;
}
html[data-theme="dark"] .bundle-drop-zone.drag-over,
html[data-theme="dark"] .trust-card:hover{
  border-color:#638475!important;
  box-shadow:0 16px 36px rgba(99,132,117,.18)!important;
}

/* v63.0 usability upgrade */
.v63-stage-tracker{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0 4px}.v63-stage-tracker button{border:1px solid rgba(99,132,117,.28);background:#fff;border-radius:14px;padding:10px;text-align:left;color:#24332e;cursor:pointer;box-shadow:0 5px 14px rgba(20,40,35,.06)}.v63-stage-tracker button span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;margin-right:8px;background:#eef5f1;color:#638475;font-weight:800}.v63-stage-tracker button.done{background:#f0f7f3;border-color:rgba(99,132,117,.45)}.v63-stage-tracker button.current{background:#638475;color:#fff;border-color:#638475}.v63-stage-tracker button.current span{background:#fff;color:#638475}.v63-fab{position:fixed;right:24px;bottom:102px;z-index:9999;border:0;border-radius:999px;background:#638475;color:#fff;padding:13px 18px;font-weight:800;box-shadow:0 12px 28px rgba(33,54,47,.28);cursor:pointer}.v63-fab:hover{filter:brightness(.96);transform:translateY(-1px)}.v63-modal{display:none;position:fixed;inset:0;z-index:100000;background:rgba(13,22,19,.38);align-items:center;justify-content:center;padding:20px}.v63-modal.show{display:flex}.v63-modal-card{width:min(560px,96vw);background:#fff;border-radius:20px;border:1px solid rgba(99,132,117,.22);padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.24);position:relative}.v63-close{position:absolute;right:14px;top:14px;border:0;background:#eef5f1;border-radius:999px;width:34px;height:34px;font-size:22px;cursor:pointer}.v63-quick-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-top:16px}.v63-quick-grid button{border:1px solid rgba(99,132,117,.3);border-radius:14px;background:#f8fbf9;color:#24332e;padding:14px;font-weight:750;cursor:pointer}.v63-recent-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.v63-recent-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(99,132,117,.18);border-radius:12px;padding:10px 12px;background:#fff}.v63-recent-list button{white-space:nowrap}


/* v63.1 Floating button layout cleanup
   Separates Quick Add, Feedback and WhatsApp controls into a clear vertical stack. */
#v63QuickAddFab.v63-fab,
.v63-fab{
  right:24px!important;
  bottom:174px!important;
  z-index:99970!important;
}
#v458FeedbackButton.feedback-fab,
.feedback-fab{
  right:24px!important;
  bottom:96px!important;
  z-index:99960!important;
}
.floating-whatsapp-button{
  right:22px!important;
  bottom:22px!important;
  z-index:99950!important;
}
@media(max-width:700px){
  #v63QuickAddFab.v63-fab,
  .v63-fab{
    right:14px!important;
    bottom:152px!important;
    padding:11px 14px!important;
    font-size:.9rem!important;
  }
  #v458FeedbackButton.feedback-fab,
  .feedback-fab{
    right:14px!important;
    bottom:82px!important;
    padding:10px 12px!important;
    font-size:.86rem!important;
  }
  .floating-whatsapp-button{
    right:14px!important;
    bottom:14px!important;
    width:56px!important;
    height:56px!important;
  }
}
@media(max-width:380px){
  #v63QuickAddFab.v63-fab,
  .v63-fab{bottom:144px!important;}
  #v458FeedbackButton.feedback-fab,
  .feedback-fab{bottom:78px!important;}
}


/* v65.0 Child Arrangements Suite */
.v65-child-summary .metric strong.rag-red{color:#b42318}.v65-child-summary .metric strong.rag-amber{color:#b54708}.v65-child-summary .metric strong.rag-green{color:#067647}
.v65-child-next{margin:12px 0;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:rgba(47,111,99,.08)}
.child-tool-grid .resource-card button{margin-top:10px}

/* v67.0 Dynamic Case Modules */
.module-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.65rem;margin-top:.5rem}
.module-toggle{align-items:flex-start;border:1px solid var(--border);border-radius:14px;padding:.7rem;background:rgba(255,255,255,.04)}
.module-toggle span{display:flex;flex-direction:column;gap:.15rem}
.module-toggle small{color:var(--muted);line-height:1.35}
.field.full{grid-column:1/-1}

/* v67.3 Case Mission Control clarity */
.mission-control-actions{gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}
.mission-control-actions button{white-space:normal;text-align:left;line-height:1.2;min-height:42px}
.mission-control-hint{margin-top:8px;opacity:.85}

/* v68.1 Case Modules / Visible Toolsets manager */
.module-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}
.module-summary-card{border:1px solid var(--border);border-radius:14px;padding:12px;background:rgba(255,255,255,.04)}
.module-summary-card strong{display:block;margin-bottom:6px}
.module-summary-card small{display:block;color:var(--muted);line-height:1.35}
.module-summary-card.active{box-shadow:0 0 0 1px rgba(34,197,94,.35) inset}
.module-summary-card.inactive{opacity:.72}
.module-toggle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:8px}
.module-toggle{align-items:flex-start;border:1px solid var(--border);border-radius:14px;padding:10px;background:rgba(255,255,255,.04)}
.module-toggle span{display:flex;flex-direction:column;gap:4px}.module-toggle small{color:var(--muted);line-height:1.3}

/* v68.4 Launch Readiness */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1rem 0}.price-card{border:1px solid var(--border);border-radius:18px;background:var(--panel);padding:1rem;box-shadow:0 12px 28px rgba(0,0,0,.18)}.price-card.featured{outline:2px solid var(--gold)}.price-card h2,.price-card h3{margin:.2rem 0}.price-card .price{font-size:1.7rem;font-weight:800;margin:.4rem 0}.price-card .price span{font-size:.9rem;color:var(--muted);font-weight:500}.price-card ul{padding-left:1.1rem}.price-card li{margin:.3rem 0}.checklist{display:grid;gap:.7rem}.checklist label{display:block;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.04)}.help-topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.pricing-page{max-width:1200px;margin:auto;padding:2rem}


/* v68.5 public pricing/navigation */
.public-launch-nav{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(1120px,calc(100% - 32px));display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(3,8,20,.72);backdrop-filter:blur(14px);z-index:20;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.public-launch-nav a{color:#f5f8ff;text-decoration:none;font-weight:700;margin:0 .45rem;font-size:.95rem}.public-launch-nav a:hover{text-decoration:underline}.public-brand{font-size:1.05rem!important;color:#19d5ff!important}.public-cta{display:inline-flex;align-items:center;padding:.48rem .8rem;border-radius:999px;background:linear-gradient(135deg,#19d5ff,#f5b735);color:#071428!important;text-decoration:none!important}.public-auth-links a{color:var(--cyan,#19d5ff);font-weight:700}.public-launch-nav-page{position:sticky;top:16px;transform:none;margin:16px auto 0}.pricing-public-body{min-height:100vh;background:radial-gradient(circle at top left,rgba(25,213,255,.18),transparent 34%),radial-gradient(circle at top right,rgba(245,183,53,.14),transparent 28%),#030814;color:#f5f8ff}.public-pricing-shell{max-width:1180px;margin:0 auto;padding:48px 20px}.public-pricing-hero{text-align:center;max-width:820px;margin:28px auto 32px}.public-pricing-hero h1{font-size:clamp(2.1rem,5vw,4.2rem);margin:.2rem 0}.public-pricing-hero p{color:#c7d5ea;font-size:1.1rem}.public-pricing-grid .price-card{position:relative}.plan-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#f5b735;color:#071428;font-weight:900;font-size:.8rem;margin-bottom:.4rem}.button-link{display:inline-flex;justify-content:center;align-items:center;margin-top:.7rem;padding:.7rem .95rem;border-radius:12px;border:1px solid var(--border);text-decoration:none;color:#f5f8ff;font-weight:800;background:rgba(255,255,255,.06)}.button-link.primary{border:0;background:linear-gradient(135deg,#19d5ff,#f5b735);color:#071428}.founding-member-card{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1rem 0;padding:1.25rem;border-radius:22px;border:1px solid rgba(245,183,53,.45);background:rgba(245,183,53,.09)}.founding-member-card h2{margin:.25rem 0}.public-pricing-notes,.public-pricing-footer{text-align:center;color:#c7d5ea}.public-pricing-footer{padding:24px;display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.public-pricing-footer a{color:#f5f8ff;font-weight:700}@media(max-width:720px){.public-launch-nav{position:relative;top:auto;left:auto;transform:none;margin:12px auto;border-radius:20px;flex-direction:column}.public-launch-nav div{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem}.founding-member-card{flex-direction:column;align-items:flex-start}.public-pricing-shell{padding-top:18px}}

/* v68.6 - Public pricing page website styling/readability fix */
body.pricing-public-body{
  min-height:100vh;
  margin:0;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,111,99,.24), transparent 34%),
    radial-gradient(circle at 88% 5%, rgba(139,111,71,.20), transparent 30%),
    linear-gradient(135deg,#f4f6f2 0%,#eef3ef 48%,#e8eee9 100%);
  color:var(--text);
}
.pricing-public-body .public-launch-nav{
  background:rgba(255,255,255,.90);
  border:1px solid rgba(47,111,99,.18);
  box-shadow:0 16px 42px rgba(33,40,35,.12);
  backdrop-filter:blur(14px);
}
.pricing-public-body .public-launch-nav a{color:#17201c!important;text-decoration:none}
.pricing-public-body .public-launch-nav a:hover{color:var(--accent)!important;text-decoration:none}
.pricing-public-body .public-brand{color:var(--accent)!important;font-weight:950}
.pricing-public-body .public-cta{
  background:linear-gradient(135deg,var(--accent),#8b6f47)!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(47,111,99,.20);
}
.public-pricing-shell{max-width:1220px;margin:0 auto;padding:58px 22px 34px}
.public-pricing-hero{
  text-align:center;
  max-width:860px;
  margin:38px auto 34px;
  padding:34px 24px;
  border:1px solid rgba(47,111,99,.16);
  border-radius:28px;
  background:rgba(255,255,255,.70);
  box-shadow:var(--shadow);
}
.public-pricing-hero .auth-kicker{
  margin:0 auto 12px;
  color:var(--accent);
  border-color:rgba(47,111,99,.24);
  background:rgba(47,111,99,.08);
}
.public-pricing-hero h1{color:#17201c;font-weight:950;letter-spacing:-.04em}
.public-pricing-hero p{color:#4f5b55;line-height:1.6}
.public-pricing-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:18px;align-items:stretch}
.public-pricing-grid .price-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:24px;
  border:1px solid rgba(47,111,99,.16);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  color:#17201c;
  box-shadow:0 16px 38px rgba(33,40,35,.10);
}
.public-pricing-grid .price-card.featured{
  outline:none;
  border:2px solid var(--accent);
  transform:translateY(-6px);
  box-shadow:0 24px 54px rgba(47,111,99,.20);
}
.public-pricing-grid .price-card h2{font-size:1.25rem;color:#17201c;margin:.15rem 0 .4rem}
.public-pricing-grid .price-card .price{font-size:2.15rem;color:var(--accent);letter-spacing:-.03em;margin:.35rem 0 .5rem}
.public-pricing-grid .price-card .price span{color:#68736d;font-size:.95rem}
.public-pricing-grid .price-card p{color:#56615b;line-height:1.45}
.public-pricing-grid .price-card ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:9px;color:#24302a}
.public-pricing-grid .price-card li{margin:0;line-height:1.38}
.public-pricing-grid .price-card .button-link{margin-top:auto;width:100%}
.plan-badge{background:#8b6f47;color:#fff;border:1px solid rgba(255,255,255,.4)}
.button-link{
  border:1px solid rgba(47,111,99,.22);
  color:#17201c;
  background:#eef3ef;
  min-height:44px;
}
.button-link.primary{background:linear-gradient(135deg,var(--accent),#8b6f47);color:#fff!important;border:0}
.founding-member-card{
  margin:24px 0;
  padding:24px;
  border-radius:26px;
  border:1px solid rgba(139,111,71,.32);
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(139,111,71,.10));
  color:#17201c;
  box-shadow:var(--shadow);
}
.founding-member-card .auth-kicker{color:#8b6f47;border-color:rgba(139,111,71,.28);background:rgba(139,111,71,.08)}
.founding-member-card p{color:#56615b;line-height:1.55}
.public-pricing-notes{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(47,111,99,.14);
  border-radius:22px;
  padding:22px;
  color:#56615b;
  box-shadow:var(--shadow);
}
.public-pricing-notes h2{color:#17201c;margin-top:0}
.public-pricing-footer{background:#252b2a;color:#f5f8ff;margin-top:28px}
.public-pricing-footer a{color:#f5f8ff!important;text-decoration:none}
.public-pricing-footer a:hover{text-decoration:underline}
@media(max-width:1080px){.public-pricing-grid{grid-template-columns:repeat(2,minmax(240px,1fr))}.public-pricing-grid .price-card.featured{transform:none}}
@media(max-width:640px){.public-pricing-grid{grid-template-columns:1fr}.public-pricing-shell{padding:24px 14px}.public-pricing-hero{margin-top:18px;padding:24px 16px}.public-pricing-grid .price-card{padding:20px}.public-pricing-hero h1{font-size:2.2rem}.pricing-public-body .public-launch-nav a{font-size:.9rem}}

/* v68.7 - Public button contrast hard fix */
body.pricing-public-body a.button-link,
body.pricing-public-body .button-link,
body.pricing-public-body .legal-link-grid a,
body.pricing-public-body a.public-cta,
body.pricing-public-body .public-cta,
body.pricing-public-body button,
body.pricing-public-body input[type="button"],
body.pricing-public-body input[type="submit"]{
  -webkit-text-fill-color:currentColor !important;
  text-shadow:none !important;
  opacity:1 !important;
  filter:none !important;
  visibility:visible !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
}
body.pricing-public-body .button-link:not(.primary){
  background:#ffffff !important;
  color:#064e3b !important;
  border:2px solid #2f6f63 !important;
  box-shadow:0 10px 22px rgba(47,111,99,.12) !important;
}
body.pricing-public-body .button-link:not(.primary):hover,
body.pricing-public-body .button-link:not(.primary):focus-visible{
  background:#ecfdf5 !important;
  color:#022c22 !important;
  border-color:#064e3b !important;
  outline:3px solid rgba(47,111,99,.20) !important;
}
body.pricing-public-body .button-link.primary,
body.pricing-public-body .public-cta,
body.pricing-public-body a.public-cta{
  background:#2f6f63 !important;
  color:#ffffff !important;
  border:2px solid #2f6f63 !important;
  box-shadow:0 12px 26px rgba(47,111,99,.24) !important;
}
body.pricing-public-body .button-link.primary:hover,
body.pricing-public-body .public-cta:hover,
body.pricing-public-body .button-link.primary:focus-visible,
body.pricing-public-body .public-cta:focus-visible{
  background:#064e3b !important;
  color:#ffffff !important;
  border-color:#064e3b !important;
  outline:3px solid rgba(47,111,99,.24) !important;
}
body.pricing-public-body .public-launch-nav .public-cta,
body.pricing-public-body .public-launch-nav a.public-cta{
  color:#ffffff !important;
  background:#2f6f63 !important;
  padding:.55rem .9rem !important;
}
body.pricing-public-body .founding-member-card .button-link.primary{
  min-width:260px;
  color:#ffffff !important;
}
@media(max-width:720px){
  body.pricing-public-body .button-link,
  body.pricing-public-body .public-cta{width:100%;box-sizing:border-box;text-align:center;}
  body.pricing-public-body .public-launch-nav .public-cta{width:auto;}
}

/* v68.10 User plan visibility in User Manager */
.user-plan-cell{min-width:220px;line-height:1.35}
.compact-actions{margin-top:6px;gap:5px}
.compact-actions button{padding:5px 8px;font-size:12px;min-height:30px}
.billing-table select,.billing-table input{min-width:120px}

/* v68.11 Subscription Plan / User Role clarity */
.plan-role-explainer{
  margin:10px 0 14px;
  padding:10px 12px;
  border:1px solid rgba(47,111,99,.28);
  background:rgba(47,111,99,.08);
  border-radius:12px;
  color:var(--text,#f5f8ff);
}
.plan-role-badges{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 12px;
}
.plan-role-badges.compact{gap:5px;margin:6px 0 0;}
.badge-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  opacity:.78;
  font-weight:700;
}
.plan-badge,.role-badge,.status-badge,.fee-badge{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  color:#fff;
  background:#334155;
}
.plan-role-badges.compact .badge-label{font-size:9px;}
.plan-role-badges.compact .plan-badge,
.plan-role-badges.compact .role-badge{font-size:11px;padding:3px 7px;min-height:20px;}
.plan-free{background:#64748b;}
.plan-litigant-in-person{background:#6d28d9;}
.plan-mckenzie-friend{background:#0369a1;}
.plan-professional{background:#047857;}
.plan-founding-member{background:#b45309;}
.plan-custom{background:#4338ca;}
.role-admin{background:#991b1b;}
.role-case-manager{background:#1d4ed8;}
.role-mckenzie-friend{background:#047857;}
.role-client,.role-viewer{background:#475569;}
.role-user,.role-local-admin{background:#334155;}
.status-badge{background:#0f766e;}
.fee-badge{background:#374151;}
.mini-badge-row{max-width:260px;}
.billing-table th:nth-child(2),.billing-table th:nth-child(3){min-width:140px;}

/* v68.12 Subscription Plan Badge Accessibility Fix */
.plan-badge,
.plan-role-badges .plan-badge,
.user-plan-cell .plan-badge,
.public-pricing-grid .plan-badge,
.pricing-page .plan-badge,
.account-plan-card .plan-badge,
.billing-table .plan-badge,
.subscription-plan-badge{
  color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  border:1px solid rgba(255,255,255,.32) !important;
}
.plan-badge.plan-free,
.plan-free,
.subscription-plan-badge.plan-free{
  background:#e5e7eb !important;
  color:#111827 !important;
  text-shadow:none !important;
  border:1px solid rgba(17,24,39,.18) !important;
}
.plan-litigant-in-person{background:#6d28d9 !important;color:#fff !important;}
.plan-mckenzie-friend{background:#0369a1 !important;color:#fff !important;}
.plan-professional{background:#047857 !important;color:#fff !important;}
.plan-founding-member{background:#b45309 !important;color:#fff !important;}
.plan-custom{background:#4338ca !important;color:#fff !important;}
.plan-role-badges .badge-label{color:#e5e7eb;font-weight:800;}
body.light .plan-role-badges .badge-label{color:#334155;}

/* v68.13 User Role / Status Badge Readability Fix
   White text on all coloured badges. Dark text only on light grey badges such as Free, Not Set and Unknown. */
.plan-badge,
.role-badge,
.status-badge,
.billing-status-badge,
.account-status-badge,
.subscription-plan-badge {
  color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  border:1px solid rgba(255,255,255,.32) !important;
}

/* Coloured role badges */
.role-admin,
.role-case-manager,
.role-mckenzie-friend,
.role-professional-user,
.role-user,
.role-local-admin {
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
}

/* Status badges should be readable on coloured backgrounds */
.status-active,
.status-trial,
.status-overdue,
.status-suspended,
.status-disabled,
.status-pending,
.status-warning,
.status-badge.warning,
.status-badge.disabled,
.status-badge.archived,
.status-badge.soft-deleted {
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
}

/* Light grey badges: keep dark text for contrast */
.plan-free,
.status-not-set,
.status-unknown,
.role-client,
.role-viewer,
.badge-grey,
.badge-gray,
.subscription-plan-badge.plan-free {
  background:#e5e7eb !important;
  color:#111827 !important;
  text-shadow:none !important;
  border:1px solid rgba(17,24,39,.18) !important;
}

/* Account details row values sometimes render as plain pills without specific classes */
.plan-role-badges .status-badge,
.plan-role-badges .fee-badge {
  color:#ffffff !important;
  font-weight:900 !important;
}
.plan-role-badges .status-badge:empty,
.plan-role-badges .status-badge.status-not-set {
  background:#e5e7eb !important;
  color:#111827 !important;
  text-shadow:none !important;
}

/* v68.14 User Role Badge CSS HARD FIX
   Force readable role-badge text across Account Details, User Manager and Billing screens.
   Grey badges remain dark text for contrast; all coloured role/status/plan badges use white text. */
html body .role-badge,
html body span.role-badge,
html body .plan-role-badges .role-badge,
html body .billing-table .role-badge,
html body .user-manager-table .role-badge,
html body .account-details-table .role-badge,
html body .mini-badge-row .role-badge,
html body [class~="role-badge"] {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  border-color:rgba(255,255,255,.32) !important;
}

html body .role-badge.role-admin,
html body .role-badge.role-case-manager,
html body .role-badge.role-mckenzie-friend,
html body .role-badge.role-professional-user,
html body .role-badge.role-user,
html body .role-badge.role-local-admin,
html body .role-badge.role-local {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html body .role-badge.role-client,
html body .role-badge.role-viewer,
html body .role-badge.role-not-set,
html body .role-badge.role-unknown,
html body .role-badge.badge-grey,
html body .role-badge.badge-gray {
  background:#e5e7eb !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  text-shadow:none !important;
  border:1px solid rgba(17,24,39,.18) !important;
}

/* v68.15 Notification Badge Readability & Global Notification Contrast Fix
   Unread notification badges/counters use high-contrast white text. */
html body .notify-badge,
html body .icon-header-button .notify-badge,
html body .notification-header-button .notify-badge{
  background:#dc2626 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  border:2px solid #ffffff !important;
  box-shadow:0 0 0 2px rgba(220,38,38,.18) !important;
}

html body .status-badge.warning,
html body span.status-badge.warning,
html body .notification-dashboard-card .status-badge.warning,
html body .notification-preview-list .status-badge.warning,
html body table .status-badge.warning{
  background:#dc2626 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-weight:900 !important;
  text-shadow:0 1px 2px rgba(0,0,0,.45) !important;
  border:1px solid rgba(255,255,255,.38) !important;
}

html body .notification-header-button.has-unread{
  border-color:#dc2626 !important;
  background:rgba(220,38,38,.16) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
html body .notification-header-button.has-unread .notification-button-text,
html body .notification-header-button.has-unread span:not(.notify-badge){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.light .notification-header-button.has-unread{
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  background:rgba(254,242,242,.96) !important;
}
body.light .notification-header-button.has-unread .notification-button-text{
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}

html body .notification-preview-list li:has(.status-badge.warning){
  border-left:4px solid #dc2626 !important;
}

/* v66.0 Subscription First Onboarding */
.subscription-first{border:1px solid rgba(245,183,53,.45);border-radius:20px;padding:1rem;background:linear-gradient(135deg,rgba(245,183,53,.12),rgba(25,213,255,.08));}
.subscription-first h3{margin:.2rem 0 .5rem;font-size:1.7rem;}
.subscription-first ol{margin:.8rem 0 1rem;padding-left:1.2rem;}
.subscription-first li{margin:.35rem 0;}

/* v66.3 User Control Panel */
.user-control-filter{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0;padding:14px;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.04)}
.user-control-table table{min-width:1180px}
.user-control-table th{white-space:nowrap}
.user-control-table td{vertical-align:top}
.user-control-table select,.user-control-table input{width:100%;margin:4px 0}
.permission-chip-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.permission-chip{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:.78rem;background:rgba(255,255,255,.06)}
.permission-chip.allow{border-color:rgba(34,197,94,.45);background:rgba(34,197,94,.12)}
.permission-chip.block{border-color:rgba(239,68,68,.45);background:rgba(239,68,68,.12)}
.compact-grid{gap:8px;margin-top:8px}
.row-actions.stacked{display:flex;flex-direction:column;gap:6px;align-items:stretch}
.row-actions.stacked button{width:100%}

/* v67.9 targeted button text contrast fixes
   - Case Overview nav button text must stay white on active/selected state.
   - Notifications button text must stay black, including unread state and theme overrides. */
html body .nav-home.active,
html body .nav-home.active strong,
html body .nav-home.active small,
html[data-theme="light"] body .nav-home.active,
html[data-theme="light"] body .nav-home.active strong,
html[data-theme="light"] body .nav-home.active small,
html[data-theme="dark"] body .nav-home.active,
html[data-theme="dark"] body .nav-home.active strong,
html[data-theme="dark"] body .nav-home.active small{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

html body #notificationBtn,
html body #notificationBtn span:not(.notify-badge),
html body #notificationBtn .notification-button-text,
html body .notification-header-button,
html body .notification-header-button span:not(.notify-badge),
html body .notification-header-button .notification-button-text,
html body .notification-header-button.has-unread,
html body .notification-header-button.has-unread span:not(.notify-badge),
html body .notification-header-button.has-unread .notification-button-text,
body.light .notification-header-button.has-unread,
body.light .notification-header-button.has-unread .notification-button-text,
html[data-theme="light"] body #notificationBtn,
html[data-theme="dark"] body #notificationBtn{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}

html body #notificationBtn .notify-badge,
html body .notification-header-button .notify-badge{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* v69.0 - Notification Centre pagination */
.notification-pagination{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:.75rem 0 1rem;
  padding:.75rem 1rem;
  border:1px solid var(--border, rgba(148,163,184,.25));
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.notification-pagination .pager-actions{
  display:flex;
  align-items:center;
  gap:.6rem;
  flex-wrap:wrap;
}
.notification-pagination button:disabled{
  opacity:.45;
  cursor:not-allowed;
}
@media(max-width:720px){
  .notification-pagination{align-items:flex-start;flex-direction:column;}
}


/* =========================================================
   McKenzieCMS v69.2 - Left Case List Visibility Upgrade
   Purpose: make cases down the left-hand side easier to see,
   scan, and select.
   SQL required: No
   ========================================================= */

.sidebar{
  width:370px;
}

.client-list{
  gap:12px;
  padding-right:7px;
}

.case-list-heading{
  margin:8px 0 4px;
  padding:11px 10px;
  border:1px solid rgba(110,231,183,.22);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(16,185,129,.18),rgba(7,39,31,.78));
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  font-size:14px;
  letter-spacing:.02em;
}

.case-list-heading span{
  background:rgba(16,185,129,.22);
  border-color:rgba(110,231,183,.35);
  color:#ecfdf5;
  font-weight:900;
}

.case-owner-group{
  border-color:rgba(110,231,183,.22);
  background:linear-gradient(180deg,rgba(7,39,31,.92),rgba(2,19,15,.72));
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}

.case-owner-group > summary{
  padding:12px 13px;
  background:linear-gradient(135deg,rgba(16,185,129,.16),rgba(2,19,15,.70));
  border-bottom-color:rgba(110,231,183,.15);
}

.case-owner-group > summary strong{
  font-size:14px;
}

.case-owner-group > summary small{
  color:#d1fae5;
  font-weight:800;
}

.case-owner-group .client-card,
.client-card{
  position:relative;
  min-height:76px;
  border-radius:15px;
  padding:14px 14px 13px 16px;
  background:linear-gradient(135deg,rgba(15,70,55,.96),rgba(4,34,27,.96));
  border:1px solid rgba(110,231,183,.28);
  box-shadow:0 10px 22px rgba(0,0,0,.20), inset 4px 0 0 rgba(52,211,153,.42);
}

.case-owner-group .client-card:hover,
.client-card:hover{
  transform:translateY(-1px);
  background:linear-gradient(135deg,rgba(20,92,72,.98),rgba(6,44,35,.98));
  border-color:rgba(167,243,208,.55);
  box-shadow:0 14px 28px rgba(0,0,0,.24), inset 4px 0 0 rgba(167,243,208,.75);
}

.case-owner-group .client-card.active,
.client-card.active{
  background:linear-gradient(135deg,rgba(52,211,153,.38),rgba(6,78,59,.98));
  border-color:#a7f3d0;
  outline:2px solid rgba(167,243,208,.92);
  outline-offset:1px;
  box-shadow:0 0 0 4px rgba(16,185,129,.20),0 18px 34px rgba(0,0,0,.30), inset 5px 0 0 #d1fae5;
}

.case-title-row{
  gap:9px;
}

.case-title-row strong{
  font-size:15px;
  line-height:1.25;
  letter-spacing:.01em;
  color:#ffffff;
  text-shadow:0 1px 1px rgba(0,0,0,.28);
}

.client-card span{
  margin-top:6px;
  font-size:13px;
  color:#ecfdf5;
  font-weight:700;
}

.client-card small{
  margin-top:5px;
  font-size:12px;
  color:#bfdbfe;
  font-weight:700;
}

.case-card-footer{
  margin-top:10px;
}

.risk-pill,
.access-pill,
.case-owner-chip{
  font-weight:900;
  border-color:rgba(167,243,208,.35);
  background:rgba(2,19,15,.38);
  color:#ecfdf5;
}

/* Light mode version */
html[data-theme="light"] .sidebar{
  width:370px;
}

html[data-theme="light"] .case-list-heading{
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  border-color:#a7f3d0;
  color:#064e3b;
  box-shadow:0 8px 20px rgba(15,23,42,.08);
}

html[data-theme="light"] .case-list-heading span{
  background:#d1fae5;
  border-color:#10b981;
  color:#065f46;
}

html[data-theme="light"] .case-owner-group{
  background:#ffffff;
  border-color:#bbf7d0;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

html[data-theme="light"] .case-owner-group > summary{
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  border-bottom-color:#bbf7d0;
}

html[data-theme="light"] .case-owner-group > summary strong{
  color:#064e3b;
}

html[data-theme="light"] .case-owner-group > summary small{
  color:#047857;
}

html[data-theme="light"] .case-owner-group .client-card,
html[data-theme="light"] .client-card{
  background:linear-gradient(135deg,#ffffff,#f0fdf4);
  border-color:#86efac;
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15,23,42,.08), inset 4px 0 0 #10b981;
}

html[data-theme="light"] .case-owner-group .client-card:hover,
html[data-theme="light"] .client-card:hover{
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
  border-color:#10b981;
}

html[data-theme="light"] .case-owner-group .client-card.active,
html[data-theme="light"] .client-card.active{
  background:linear-gradient(135deg,#d1fae5,#ffffff);
  border-color:#059669;
  outline:2px solid #059669;
  box-shadow:0 0 0 4px rgba(16,185,129,.18),0 14px 30px rgba(15,23,42,.12), inset 5px 0 0 #047857;
}

html[data-theme="light"] .case-title-row strong{
  color:#052e24;
  text-shadow:none;
}

html[data-theme="light"] .client-card span{
  color:#065f46;
}

html[data-theme="light"] .client-card small{
  color:#475569;
}

@media(max-width:760px){
  .sidebar,
  html[data-theme="light"] .sidebar{
    width:100%;
  }
}


/* =========================================================
   McKenzieCMS v69.3 - Scrollable Left Case List
   Purpose: allow the left-hand case panel to scroll independently
   so all cases remain accessible.
   SQL required: No
   ========================================================= */

.shell{
  min-height:0;
}

.sidebar{
  max-height:calc(100vh - 110px);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
  scrollbar-color:rgba(110,231,183,.65) rgba(2,19,15,.45);
  padding-bottom:18px;
}

.sidebar::-webkit-scrollbar{
  width:10px;
}

.sidebar::-webkit-scrollbar-track{
  background:rgba(2,19,15,.45);
  border-radius:999px;
}

.sidebar::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(110,231,183,.9),rgba(16,185,129,.75));
  border-radius:999px;
  border:2px solid rgba(2,19,15,.55);
}

.sidebar::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#d1fae5,#10b981);
}

.client-list{
  max-height:none;
  overflow:visible;
  padding-bottom:24px;
}

html[data-theme="light"] .sidebar{
  scrollbar-color:#10b981 #ecfdf5;
}

html[data-theme="light"] .sidebar::-webkit-scrollbar-track{
  background:#ecfdf5;
}

html[data-theme="light"] .sidebar::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#34d399,#059669);
  border:2px solid #ecfdf5;
}

@media(max-width:760px){
  .sidebar,
  html[data-theme="light"] .sidebar{
    max-height:none;
    overflow:visible;
  }
}

/* v70.0 Intelligent Onboarding */
.v70-onboarding .onboarding-head strong{font-size:2rem;line-height:1;color:var(--accent,#2f6f63)}
.v70-onboarding .onboarding-steps{display:grid;gap:.75rem;margin-top:1rem}
.v70-onboarding .onboarding-step{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:.85rem;border:1px solid rgba(47,111,99,.22);border-radius:16px;background:rgba(255,255,255,.04)}
.v70-onboarding .onboarding-step.done{background:rgba(47,111,99,.12);border-color:rgba(47,111,99,.38)}
.client-onboarding-hero{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border:1px solid rgba(47,111,99,.25);border-radius:18px;background:linear-gradient(135deg,rgba(47,111,99,.14),rgba(245,183,53,.08));margin-bottom:1rem}
.client-next-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.6rem;margin:.75rem 0 1rem}
.client-next-steps label{display:flex;gap:.5rem;align-items:center;padding:.7rem;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.04)}
.actions.stacked{display:flex;flex-direction:column;gap:.55rem;align-items:stretch}
@media(max-width:760px){.client-onboarding-hero,.v70-onboarding .onboarding-step{display:block}.v70-onboarding .onboarding-step button{margin-top:.65rem;width:100%}}

/* v70.6 - AI/digital graphics across the main application */
body.app-digital-theme{
  background:
    radial-gradient(circle at 18% 8%, color-mix(in srgb,var(--accent) 16%, transparent), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(25,213,255,.10), transparent 26%),
    linear-gradient(135deg, var(--bg), color-mix(in srgb,var(--bg) 88%, var(--accent)));
}
body.app-digital-theme::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(47,111,99,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(47,111,99,.10) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.18));
}
body.app-digital-theme::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 78%, rgba(25,213,255,.10) 0 2px, transparent 3px),
    radial-gradient(circle at 28% 28%, rgba(47,111,99,.16) 0 2px, transparent 3px),
    radial-gradient(circle at 72% 42%, rgba(25,213,255,.11) 0 2px, transparent 3px),
    radial-gradient(circle at 82% 84%, rgba(245,183,53,.11) 0 2px, transparent 3px);
  animation:cmsDigitalDrift 14s ease-in-out infinite alternate;
}
@keyframes cmsDigitalDrift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(14px,-10px,0) scale(1.015)}}
.digital-orb{
  position:absolute;
  width:220px;
  height:220px;
  border-radius:999px;
  pointer-events:none;
  opacity:.28;
  filter:blur(.2px);
  background:radial-gradient(circle, color-mix(in srgb,var(--accent) 42%, transparent), transparent 66%);
}
.digital-orb.orb-one{top:84px;right:8%;}
.digital-orb.orb-two{bottom:8%;left:7%;width:170px;height:170px;background:radial-gradient(circle, rgba(25,213,255,.25), transparent 68%)}
.auth-screen,.app-shell{position:relative;overflow:hidden;}
.auth-screen .auth-shell,.auth-screen .public-launch-nav,.app-shell .sidebar,.app-shell .main{position:relative;z-index:1;}
.auth-info-panel,.auth-card,.panel,.metric,.empty-state,.topbar,.tabs,.site-footer{
  backdrop-filter:saturate(1.08) blur(8px);
}
.app-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 42%, rgba(47,111,99,.06) 43% 44%, transparent 45% 100%),
    radial-gradient(circle at 80% 8%, rgba(25,213,255,.10), transparent 24%);
  z-index:0;
}
.sidebar{
  box-shadow:18px 0 40px rgba(0,0,0,.18), inset -1px 0 rgba(255,255,255,.06);
}
.sidebar::after{
  content:"";
  display:block;
  height:96px;
  margin-top:14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:
    radial-gradient(circle at 24% 35%, rgba(25,213,255,.30) 0 4px, transparent 5px),
    radial-gradient(circle at 58% 48%, rgba(47,255,203,.26) 0 4px, transparent 5px),
    radial-gradient(circle at 76% 25%, rgba(245,183,53,.22) 0 3px, transparent 4px),
    linear-gradient(35deg, transparent 0 30%, rgba(255,255,255,.12) 31% 32%, transparent 33%),
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  box-shadow:inset 0 0 32px rgba(25,213,255,.08);
}
.topbar{
  background:
    linear-gradient(135deg, color-mix(in srgb,var(--panel) 88%, var(--accent)), var(--panel));
}
.topbar::after{
  content:"AI-ready secure workspace";
  align-self:center;
  border:1px solid color-mix(in srgb,var(--accent) 28%, var(--line));
  border-radius:999px;
  padding:7px 11px;
  color:var(--accent);
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  background:color-mix(in srgb,var(--panel) 82%, var(--accent));
  box-shadow:0 0 24px color-mix(in srgb,var(--accent) 16%, transparent);
}
.empty-state{
  position:relative;
  overflow:hidden;
  min-height:230px;
}
.empty-state::after{
  content:"";
  position:absolute;
  right:28px;
  top:28px;
  width:min(280px,34vw);
  height:170px;
  opacity:.78;
  border:1px solid color-mix(in srgb,var(--accent) 24%, var(--line));
  border-radius:24px;
  background:
    radial-gradient(circle at 22% 28%, rgba(25,213,255,.34) 0 5px, transparent 6px),
    radial-gradient(circle at 62% 38%, color-mix(in srgb,var(--accent) 42%, transparent) 0 6px, transparent 7px),
    radial-gradient(circle at 82% 70%, rgba(245,183,53,.27) 0 4px, transparent 5px),
    linear-gradient(20deg, transparent 0 26%, color-mix(in srgb,var(--accent) 20%, transparent) 27% 28%, transparent 29%),
    linear-gradient(150deg, transparent 0 46%, rgba(25,213,255,.16) 47% 48%, transparent 49%),
    linear-gradient(135deg, color-mix(in srgb,var(--panel) 75%, var(--accent)), var(--panel-soft));
  box-shadow:0 20px 50px color-mix(in srgb,var(--accent) 16%, transparent), inset 0 0 28px rgba(25,213,255,.08);
}
.empty-state h2,.empty-state p,.empty-state .actions{position:relative;z-index:1;max-width:760px;}
.metric,.panel,.client-card,.tabs button,.auth-card,.auth-info-panel{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.metric:hover,.panel:hover,.client-card:hover,.tabs button:hover,.auth-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px color-mix(in srgb,var(--accent) 12%, rgba(0,0,0,.12));
  border-color:color-mix(in srgb,var(--accent) 30%, var(--line));
}
.ai-digital-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  border:1px solid color-mix(in srgb,var(--accent) 28%, var(--line));
  border-radius:999px;
  padding:6px 10px;
  color:var(--accent);
  background:color-mix(in srgb,var(--panel) 82%, var(--accent));
  font-size:12px;
  font-weight:900;
}
.ai-digital-chip::before{content:"✦";color:#19d5ff;text-shadow:0 0 10px rgba(25,213,255,.45)}
@media(max-width:900px){.topbar::after{display:none}.empty-state::after{opacity:.18;right:-35px}.digital-orb{display:none}}
@media(prefers-reduced-motion:reduce){body.app-digital-theme::after{animation:none}.metric,.panel,.client-card,.tabs button,.auth-card{transition:none}.metric:hover,.panel:hover,.client-card:hover,.tabs button:hover,.auth-card:hover{transform:none}}

/* =========================================================
   McKenzieCMS v70.11 - Visible authenticated app graphics
   Purpose: make the AI/digital design visible inside the real logged-in workspace,
   not only on the public landing/login shell.
   SQL required: No
   ========================================================= */
.v710-app-visual-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.9fr);
  gap:22px;
  align-items:center;
  margin:0 0 18px;
  padding:24px;
  border:1px solid color-mix(in srgb,var(--accent,#10b981) 32%, var(--line,#1f2937));
  border-radius:28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(25,213,255,.18), transparent 28%),
    radial-gradient(circle at 85% 22%, color-mix(in srgb,var(--accent,#10b981) 30%, transparent), transparent 30%),
    linear-gradient(135deg, color-mix(in srgb,var(--panel,#071428) 82%, var(--accent,#10b981)), var(--panel,#071428));
  box-shadow:0 22px 60px color-mix(in srgb,var(--accent,#10b981) 15%, rgba(0,0,0,.22));
}
.v710-app-visual-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.08));
}
.v710-app-visual-hero > *{position:relative;z-index:1;}
.v710-app-visual-hero h2{margin:.25rem 0 .45rem;font-size:clamp(1.55rem,2.3vw,2.45rem);letter-spacing:-.035em;}
.v710-app-visual-hero p{max-width:760px;color:var(--muted,#b9c8da);font-size:1.02rem;}
.v710-kicker{display:inline-flex;gap:8px;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid rgba(25,213,255,.28);background:rgba(25,213,255,.08);color:#8beaff;font-weight:950;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
.v710-kicker::before{content:"✦";}
.v710-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;}
.v710-hero-actions button{box-shadow:0 8px 24px rgba(16,185,129,.18);}
.v710-digital-panel{
  min-height:210px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:24px;
  padding:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  box-shadow:inset 0 0 34px rgba(25,213,255,.06);
}
.v710-node-map{position:relative;min-height:180px;}
.v710-node-map svg{position:absolute;inset:0;width:100%;height:100%;opacity:.88;}
.v710-node-chip{position:absolute;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(3,8,20,.72);font-size:.77rem;font-weight:850;color:#ecfeff;box-shadow:0 0 22px rgba(25,213,255,.12);}
.v710-node-chip.c1{left:3%;top:10%;}.v710-node-chip.c2{right:8%;top:18%;}.v710-node-chip.c3{left:22%;bottom:14%;}.v710-node-chip.c4{right:2%;bottom:8%;}.v710-node-chip.c5{left:43%;top:45%;background:color-mix(in srgb,var(--accent,#10b981) 24%, rgba(3,8,20,.76));}
.v710-mission-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0 0 18px;}
.v710-mission-card{position:relative;overflow:hidden;padding:16px;border-radius:20px;border:1px solid color-mix(in srgb,var(--accent,#10b981) 24%, var(--line,#1f2937));background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.025));}
.v710-mission-card::after{content:"";position:absolute;right:-26px;top:-26px;width:86px;height:86px;border-radius:999px;background:radial-gradient(circle,color-mix(in srgb,var(--accent,#10b981) 38%, transparent),transparent 68%);}
.v710-mission-card strong{display:block;font-size:1.35rem;color:var(--text,#f8fafc);}
.v710-mission-card span{color:var(--muted,#b9c8da);font-weight:700;}
.v710-ai-tool-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.v710-ai-tool-row span{border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06);border-radius:999px;padding:7px 10px;font-weight:850;font-size:.84rem;color:var(--text,#f8fafc);}
.v710-live-indicator{display:inline-flex;align-items:center;gap:7px;color:#bbf7d0;font-weight:900;}
.v710-live-indicator::before{content:"";width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 14px #22c55e;}
.app-shell .main::before{
  content:"";
  position:fixed;
  right:22px;
  bottom:22px;
  width:210px;
  height:210px;
  pointer-events:none;
  opacity:.15;
  border-radius:999px;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb,var(--accent,#10b981) 48%, transparent), transparent 56%),
    conic-gradient(from 45deg, transparent, rgba(25,213,255,.32), transparent, rgba(245,183,53,.24), transparent);
  filter:blur(.1px);
  z-index:0;
}
.workspace,.tab-content{position:relative;z-index:1;}
@media(max-width:980px){.v710-app-visual-hero{grid-template-columns:1fr}.v710-digital-panel{min-height:180px}}
@media(max-width:680px){.v710-app-visual-hero{padding:18px;border-radius:22px}.v710-node-chip{font-size:.68rem}.v710-digital-panel{display:none}}

/* =========================================================
   McKenzieCMS v70.11 - Button/readability accessibility pass
   Purpose: fix dark-grey buttons/chips with black or low-contrast text.
   SQL required: No
   ========================================================= */
:root{
  --button-dark-bg:#24342f;
  --button-dark-bg-hover:#305044;
  --button-dark-text:#f8fafc;
  --button-dark-border:rgba(110,231,183,.32);
}
button,
.restore-label,
.button-link,
.tabs button,
.row-actions button,
.case-wizard-footer button,
.ai-feature-card button,
.ai-toggle-row button,
.activity-feed-item button,
.onboarding-step button,
.welcome-action button,
.notification-header-button,
.nav-tour-button,
.header-help-dropdown button,
.child-intake-actions button,
.v710-hero-actions button{
  color:var(--button-dark-text)!important;
  text-shadow:none!important;
  -webkit-text-fill-color:currentColor!important;
}
html[data-theme="dark"] button,
body.dark button,
html[data-theme="dark"] .restore-label,
body.dark .restore-label,
html[data-theme="dark"] .button-link,
body.dark .button-link,
html[data-theme="dark"] .tabs button,
body.dark .tabs button,
html[data-theme="dark"] .row-actions button,
body.dark .row-actions button,
html[data-theme="dark"] .case-wizard-footer button,
body.dark .case-wizard-footer button,
html[data-theme="dark"] .ai-feature-card button,
body.dark .ai-feature-card button,
html[data-theme="dark"] .ai-toggle-row button,
body.dark .ai-toggle-row button,
html[data-theme="dark"] .activity-feed-item button,
body.dark .activity-feed-item button,
html[data-theme="dark"] .onboarding-step button,
body.dark .onboarding-step button,
html[data-theme="dark"] .welcome-action button,
body.dark .welcome-action button,
html[data-theme="dark"] .notification-header-button,
body.dark .notification-header-button,
html[data-theme="dark"] .nav-tour-button,
body.dark .nav-tour-button,
html[data-theme="dark"] .header-help-dropdown button,
body.dark .header-help-dropdown button,
html[data-theme="dark"] .child-intake-actions button,
body.dark .child-intake-actions button{
  background:linear-gradient(135deg,var(--button-dark-bg),#18241f)!important;
  color:#f8fafc!important;
  border-color:var(--button-dark-border)!important;
}
html[data-theme="dark"] button:hover,
body.dark button:hover,
html[data-theme="dark"] .restore-label:hover,
body.dark .restore-label:hover,
html[data-theme="dark"] .button-link:hover,
body.dark .button-link:hover,
html[data-theme="dark"] .tabs button:hover,
body.dark .tabs button:hover,
html[data-theme="dark"] .row-actions button:hover,
body.dark .row-actions button:hover{
  background:linear-gradient(135deg,var(--button-dark-bg-hover),#1f3a31)!important;
  color:#ffffff!important;
  border-color:rgba(110,231,183,.55)!important;
}
.primary,
button.primary,
.tabs button.active,
.theme-choice.active,
.feedback-fab,
.case-wizard-footer button.primary,
.v710-hero-actions button.primary{
  background:linear-gradient(135deg,#10b981,#047857)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#10b981!important;
  text-shadow:0 1px 1px rgba(0,0,0,.22)!important;
}
.danger,
button.danger,
.case-wizard-footer button.danger{
  background:linear-gradient(135deg,#ef4444,#b91c1c)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#dc2626!important;
}
button:disabled,
button[disabled],
.restore-label:disabled{
  background:#475569!important;
  color:#dbe4ee!important;
  -webkit-text-fill-color:#dbe4ee!important;
  border-color:#64748b!important;
  opacity:.72!important;
}
/* Light mode remains bright, but active/primary buttons use white text for safer contrast. */
html[data-theme="light"] button,
html[data-theme="light"] .restore-label,
html[data-theme="light"] .tabs button,
html[data-theme="light"] .row-actions button,
html[data-theme="light"] .case-wizard-footer button,
html[data-theme="light"] .button-link{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border-color:#cbd5e1!important;
}
html[data-theme="light"] .primary,
html[data-theme="light"] button.primary,
html[data-theme="light"] .tabs button.active,
html[data-theme="light"] .theme-choice.active,
html[data-theme="light"] .feedback-fab,
html[data-theme="light"] .case-wizard-footer button.primary{
  background:#047857!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#047857!important;
}
html[data-theme="light"] .danger,
html[data-theme="light"] button.danger,
html[data-theme="light"] .case-wizard-footer button.danger{
  background:#dc2626!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#dc2626!important;
}
/* Non-button chips/badges that can inherit black text on dark backgrounds. */
.ai-digital-chip,
.v710-ai-tool-row span,
.v710-node-chip,
.v710-kicker,
.v710-live-indicator,
.notification-button-text{
  color:#ecfdf5!important;
  -webkit-text-fill-color:currentColor!important;
}

/* v70.13 Admin menu grouping: keep admin navigation compact and readable */
.admin-nav-dropdown .admin-grouped-menu{
  min-width:320px;
  max-height:min(72vh,640px);
  overflow:auto;
  padding:10px;
}
.admin-submenu{
  border:1px solid color-mix(in srgb,var(--accent) 14%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%);
  overflow:hidden;
}
.admin-submenu + .admin-submenu{margin-top:7px;}
.admin-submenu summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  min-height:38px;
  cursor:pointer;
  color:var(--text)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.admin-submenu summary::-webkit-details-marker{display:none;}
.admin-submenu summary::after{content:""!important;display:none!important;}
.admin-submenu summary span{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:950;}
.admin-submenu summary small{
  padding:2px 7px;
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 13%,var(--bg));
  color:var(--muted)!important;
  font-size:10px;
  font-weight:950;
}
.admin-submenu-icon{width:22px;height:22px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 13%,transparent);}
.admin-submenu.contains-active{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent);}
.admin-submenu.contains-active > summary span{color:var(--accent)!important;}
.admin-submenu-list{display:grid;gap:5px;padding:0 8px 8px;}
.admin-submenu-list .nav-dropdown-item{padding:8px!important;border-radius:11px!important;}
.admin-submenu-list .nav-icon{width:22px;height:22px;}
html[data-theme="dark"] .admin-submenu{
  background:linear-gradient(180deg,rgba(21,34,30,.96),rgba(12,22,19,.96))!important;
  border-color:rgba(136,164,151,.36)!important;
}
html[data-theme="dark"] .admin-submenu summary,
html[data-theme="dark"] .admin-submenu summary:hover{
  background:transparent!important;
  color:#f5f8f7!important;
}
@media(max-width:720px){
  .admin-nav-dropdown .admin-grouped-menu{min-width:0;max-height:none;}
}

/* v70.14 tidy first-case setup wizard */
.tidy-case-wizard{
  width:min(860px,100%);
  border-radius:18px;
}
.tidy-case-wizard .case-wizard-header{
  padding:18px 22px 14px;
  align-items:flex-start;
}
.tidy-case-wizard .case-wizard-header h2{
  font-size:24px;
  margin:2px 0 4px;
}
.tidy-case-wizard .case-wizard-header p{
  max-width:680px;
  line-height:1.45;
}
.case-wizard-mini-summary{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.case-wizard-mini-summary span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 9px;
  border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));
  border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%,var(--panel));
  color:var(--text);
  font-size:12px;
  font-weight:850;
}
.tidy-case-wizard .case-wizard-steps{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:6px;
  padding:10px 16px;
}
.tidy-case-wizard .case-wizard-steps span{
  min-height:32px;
  padding:6px 8px;
  border-radius:999px;
  font-size:11px;
}
.tidy-case-wizard .case-wizard-body{
  padding:18px 22px;
}
.tidy-case-wizard .wizard-grid{
  gap:12px;
}
.tidy-case-wizard .field label{
  font-size:12px;
  font-weight:900;
  color:var(--muted);
}
.tidy-case-wizard input,
.tidy-case-wizard select,
.tidy-case-wizard textarea{
  min-height:42px;
}
.tidy-case-wizard textarea{
  min-height:84px;
}
.tidy-case-wizard .wizard-choice-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.tidy-case-wizard .wizard-check{
  min-height:38px;
  padding:8px 10px;
  border-radius:10px;
  font-size:13px;
}
.tidy-case-wizard .wizard-template-note,
.tidy-case-wizard .wizard-readiness,
.tidy-case-wizard .wizard-urgency,
.tidy-case-wizard .wizard-review{
  padding:12px 13px;
  border-radius:12px;
}
.tidy-case-wizard .case-wizard-note{
  margin:0 22px 14px;
  padding:10px 12px;
  font-size:12px;
}
.tidy-case-wizard .case-wizard-footer{
  padding:14px 22px 18px;
  position:sticky;
  bottom:0;
  z-index:2;
}
.ghost-button{
  background:transparent!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
}
.ghost-button:hover{
  background:var(--panel-soft)!important;
}
@media(max-width:920px){
  .tidy-case-wizard .wizard-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
  .tidy-case-wizard .case-wizard-steps{grid-template-columns:1fr 1fr;}
  .tidy-case-wizard .wizard-choice-grid{grid-template-columns:1fr;}
}


/* =========================================================
   McKenzieCMS v70.15 - Full Accessibility Contrast Pass
   Frontend-only visual update. Supabase SQL update: NO.
   Purpose: remove low-contrast inherited text across the app.
   ========================================================= */
:root{
  --read-text:#111827;
  --read-text-strong:#020617;
  --read-muted:#475569;
  --read-subtle:#64748b;
  --read-panel:#ffffff;
  --read-panel-soft:#f8fafc;
  --read-border:#cbd5e1;
  --read-accent:#047857;
  --read-accent-soft:#ecfdf5;
  --read-danger:#be123c;
  --focus-ring:rgba(16,185,129,.32);
}
html[data-theme="dark"],
body.dark,
[data-theme="dark"]{
  --read-text:#f8fafc;
  --read-text-strong:#ffffff;
  --read-muted:#d1d5db;
  --read-subtle:#a7f3d0;
  --read-panel:rgba(7,31,25,.96);
  --read-panel-soft:rgba(12,44,35,.94);
  --read-border:rgba(110,231,183,.30);
  --read-accent:#34d399;
  --read-accent-soft:rgba(16,185,129,.16);
  --read-danger:#fb7185;
  --focus-ring:rgba(52,211,153,.38);
}

body,
.main,
.workspace,
.tab-content,
.panel,
.metric,
.empty-state,
.modal,
.modal-card,
.settings-card,
.resource-card,
.resource-mini,
.ai-card,
.ai-feature-card,
.ai-toggle-master,
.ai-toggle-row,
.activity-feed-item,
.onboarding-step,
.welcome-action,
.case-owner-chip,
.diagnostic-pre,
.upload-zone,
.table-wrap,
.legal-card,
.auth-card{
  color:var(--read-text)!important;
}

.panel,
.metric,
.empty-state,
.modal-card,
.settings-card,
.resource-card,
.resource-mini,
.ai-card,
.ai-feature-card,
.ai-toggle-master,
.ai-toggle-row,
.activity-feed-item,
.onboarding-step,
.welcome-action,
.upload-zone,
.table-wrap,
.auth-card{
  border-color:var(--read-border)!important;
}

.panel h1,.panel h2,.panel h3,.panel h4,
.metric strong,
.empty-state h1,.empty-state h2,.empty-state h3,
.modal-card h1,.modal-card h2,.modal-card h3,
.settings-card h1,.settings-card h2,.settings-card h3,
.resource-card h1,.resource-card h2,.resource-card h3,.resource-card h4,
.ai-card h1,.ai-card h2,.ai-card h3,.ai-card h4,
.ai-feature-card h1,.ai-feature-card h2,.ai-feature-card h3,.ai-feature-card h4,
.activity-feed-item strong,
.onboarding-step strong,
.welcome-action strong,
.case-card strong,
.client-card strong,
.legal-card h1,.legal-card h2,.legal-card h3{
  color:var(--read-text-strong)!important;
  opacity:1!important;
}

p,li,td,dd,dt,small,
.mini,
.field label,
.auth-subtitle,
.auth-guidance ol,
.metric span,
.panel .mini,
.empty-state p,
.resource-card p,
.resource-mini p,
.ai-feature-card p,
.ai-toggle-row small,
.activity-feed-main,
.onboarding-step p,
.welcome-action span,
.case-wizard-mini-summary span,
.help-text,
.description,
.subtle,
.muted{
  color:var(--read-muted)!important;
  opacity:1!important;
}

/* Tables */
th{
  background:linear-gradient(180deg,#065f46,#064e3b)!important;
  color:#ffffff!important;
  font-weight:950!important;
  border-bottom-color:var(--read-border)!important;
}
td{
  color:var(--read-text)!important;
  background:transparent;
}
tr:hover td{
  background:rgba(16,185,129,.12)!important;
  color:var(--read-text-strong)!important;
}

/* Forms */
input,select,textarea,
.field input,.field select,.field textarea,
.search-box input,
.generator-output,
.upload-zone input[type=file],
.child-intake-field input,.child-intake-field textarea{
  background:var(--read-panel)!important;
  color:var(--read-text-strong)!important;
  border:1px solid var(--read-border)!important;
  caret-color:var(--read-accent)!important;
}
input::placeholder,textarea::placeholder,
.field input::placeholder,.field textarea::placeholder,
.search-box input::placeholder{
  color:var(--read-subtle)!important;
  opacity:1!important;
}
select option{
  background:var(--read-panel)!important;
  color:var(--read-text-strong)!important;
}
select option:disabled{
  color:var(--read-subtle)!important;
}
.field label,
.child-intake-field label{
  color:var(--read-muted)!important;
  font-weight:900!important;
}

/* Buttons, tabs, chips, pagination and row controls */
button,.restore-label,
.tabs button,
.row-actions button,
.quick-action-grid button,
.ai-feature-card button,
.ai-toggle-row button,
.activity-feed-item button,
.onboarding-step button,
.welcome-action button,
.nav-dropdown-item,
.admin-submenu summary,
.admin-submenu a,
.page-btn,
.pagination button,
.button-link,
.legal-link-grid a,
.theme-choice,
.ghost-button{
  color:#f8fafc!important;
  background:linear-gradient(180deg,#334155,#1f2937)!important;
  border-color:rgba(148,163,184,.55)!important;
  text-shadow:none!important;
}
button:hover,.restore-label:hover,
.tabs button:hover,
.row-actions button:hover,
.nav-dropdown-item:hover,
.admin-submenu summary:hover,
.admin-submenu a:hover,
.button-link:hover,
.legal-link-grid a:hover,
.theme-choice:hover,
.ghost-button:hover{
  color:#ffffff!important;
  background:linear-gradient(180deg,#475569,#334155)!important;
  border-color:rgba(16,185,129,.65)!important;
}
button.primary,.primary,
.tabs button.active,
.theme-choice.active,
.case-wizard-steps span.active{
  background:linear-gradient(135deg,#10b981,#047857)!important;
  color:#ffffff!important;
  border-color:#10b981!important;
  font-weight:950!important;
}
button.danger,.danger{
  background:linear-gradient(135deg,#f43f5e,#be123c)!important;
  color:#ffffff!important;
  border-color:#fb7185!important;
}
button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
.disabled,
[aria-disabled="true"]{
  opacity:.65!important;
  cursor:not-allowed!important;
}
button:disabled{
  color:#cbd5e1!important;
  background:#475569!important;
}

/* Badges and status pills */
.badge,.risk-pill,.risk-red,.risk-amber,.risk-green,
.status-badge,.disabled-owner-pill,
.kbd,.activity-feed-icon,.onboarding-step-number,
.case-wizard-mini-summary span,
.ai-workspace-badge,.help-badge{
  color:#111827!important;
  background:#d1fae5!important;
  border-color:#6ee7b7!important;
  font-weight:900!important;
}
.risk-red,.status-badge.danger{background:#fee2e2!important;color:#7f1d1d!important;border-color:#fecaca!important;}
.risk-amber,.status-badge.warning{background:#fef3c7!important;color:#78350f!important;border-color:#fde68a!important;}
.risk-green,.status-badge.success{background:#dcfce7!important;color:#14532d!important;border-color:#86efac!important;}

/* Notices and warnings */
.notice,.warn,.operate-banner,.case-wizard-note{
  background:#fffbeb!important;
  color:#713f12!important;
  border-color:#f59e0b!important;
}
html[data-theme="dark"] .notice,
html[data-theme="dark"] .warn,
html[data-theme="dark"] .operate-banner,
html[data-theme="dark"] .case-wizard-note,
body.dark .notice,
body.dark .warn,
body.dark .operate-banner,
body.dark .case-wizard-note{
  background:rgba(120,53,15,.36)!important;
  color:#fde68a!important;
  border-color:rgba(245,158,11,.62)!important;
}

/* Wizard readability - override any previous inherited theme rules */
.case-wizard,
.tidy-case-wizard{
  background:#ffffff!important;
  color:#0f172a!important;
}
.case-wizard-body,
.case-wizard .panel,
.case-wizard .field,
.case-wizard .wizard-grid{
  color:#0f172a!important;
}
.case-wizard h2,.case-wizard h3,.case-wizard h4,
.case-wizard .field label{
  color:#064e3b!important;
}
.case-wizard p,
.case-wizard li,
.case-wizard .mini,
.case-wizard .wizard-review p,
.case-wizard .wizard-readiness li,
.case-wizard .wizard-template-note{
  color:#334155!important;
}
.case-wizard .field input,
.case-wizard .field select,
.case-wizard .field textarea{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#94a3b8!important;
}
.case-wizard-footer button:not(.primary):not(.danger),
.case-wizard .ghost-button{
  background:#ffffff!important;
  color:#0f172a!important;
  border-color:#94a3b8!important;
}
.case-wizard-footer button:not(.primary):not(.danger):hover,
.case-wizard .ghost-button:hover{
  background:#f1f5f9!important;
  color:#020617!important;
}
.case-wizard-footer button.primary,
.case-wizard-footer .primary{
  color:#ffffff!important;
}

/* Sidebar and navigation */
.sidebar,
.sidebar *{
  color:#f8fafc;
}
.sidebar p,.sidebar small,.client-card span,.client-card small{
  color:#cbd5e1!important;
}
.client-card,
.search-box input{
  color:#ffffff!important;
}
.nav-group-title{
  color:#a7f3d0!important;
}

/* Focus visibility */
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid var(--focus-ring)!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 5px rgba(16,185,129,.12)!important;
}

/* Light theme safety: keep buttons readable but preserve white panels */
html[data-theme="light"] body,
body.light{
  --read-text:#111827;
  --read-text-strong:#020617;
  --read-muted:#475569;
  --read-subtle:#64748b;
  --read-panel:#ffffff;
  --read-panel-soft:#f8fafc;
  --read-border:#cbd5e1;
}
html[data-theme="light"] .panel,
html[data-theme="light"] .metric,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .modal-card,
html[data-theme="light"] .settings-card,
html[data-theme="light"] .resource-card,
html[data-theme="light"] .resource-mini,
html[data-theme="light"] .auth-card,
body.light .panel,
body.light .metric,
body.light .empty-state,
body.light .modal-card,
body.light .settings-card,
body.light .resource-card,
body.light .resource-mini,
body.light .auth-card{
  background:#ffffff!important;
  color:#111827!important;
}
html[data-theme="light"] p,
html[data-theme="light"] li,
html[data-theme="light"] td,
html[data-theme="light"] .mini,
body.light p,
body.light li,
body.light td,
body.light .mini{
  color:#475569!important;
}
html[data-theme="light"] button:not(.primary):not(.danger),
html[data-theme="light"] .tabs button:not(.active),
body.light button:not(.primary):not(.danger),
body.light .tabs button:not(.active){
  background:#f8fafc!important;
  color:#111827!important;
  border-color:#cbd5e1!important;
}
html[data-theme="light"] button:not(.primary):not(.danger):hover,
html[data-theme="light"] .tabs button:not(.active):hover,
body.light button:not(.primary):not(.danger):hover,
body.light .tabs button:not(.active):hover{
  background:#e2e8f0!important;
  color:#020617!important;
}

/* Dark theme safety: never allow black text on dark cards */
html[data-theme="dark"] .panel,
html[data-theme="dark"] .metric,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .modal-card,
html[data-theme="dark"] .settings-card,
html[data-theme="dark"] .resource-card,
html[data-theme="dark"] .resource-mini,
html[data-theme="dark"] .auth-card,
body.dark .panel,
body.dark .metric,
body.dark .empty-state,
body.dark .modal-card,
body.dark .settings-card,
body.dark .resource-card,
body.dark .resource-mini,
body.dark .auth-card{
  background:linear-gradient(180deg,rgba(7,31,25,.96),rgba(2,19,15,.94))!important;
  color:#f8fafc!important;
}
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] td,
html[data-theme="dark"] .mini,
body.dark p,
body.dark li,
body.dark td,
body.dark .mini{
  color:#d1d5db!important;
}
html[data-theme="dark"] button:not(.primary):not(.danger),
html[data-theme="dark"] .tabs button:not(.active),
body.dark button:not(.primary):not(.danger),
body.dark .tabs button:not(.active){
  background:linear-gradient(180deg,#334155,#1f2937)!important;
  color:#f8fafc!important;
  border-color:rgba(148,163,184,.55)!important;
}

/* Version marker: v70.15 */

/* v70.16 - Targeted Case Overview navigation readability fix
   Ensures the Case Overview home button remains readable in all themes and states. */
html body .tabs .nav-home,
html body .tabs button.nav-home,
html[data-theme="dark"] body .tabs .nav-home,
body.dark .tabs .nav-home{
  background:linear-gradient(135deg,#18241f,#111827) !important;
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  border:1px solid rgba(110,231,183,.38) !important;
}
html body .tabs .nav-home *,
html body .tabs button.nav-home *,
html body .tabs .nav-home strong,
html body .tabs .nav-home small,
html body .tabs .nav-home .nav-icon,
html[data-theme="dark"] body .tabs .nav-home *,
body.dark .tabs .nav-home *{
  color:#f8fafc !important;
  -webkit-text-fill-color:#f8fafc !important;
  fill:currentColor !important;
}
html body .tabs .nav-home small,
html[data-theme="dark"] body .tabs .nav-home small,
body.dark .tabs .nav-home small{
  color:#d1fae5 !important;
  -webkit-text-fill-color:#d1fae5 !important;
}
html body .tabs .nav-home:hover,
html body .tabs button.nav-home:hover,
html[data-theme="dark"] body .tabs .nav-home:hover,
body.dark .tabs .nav-home:hover{
  background:linear-gradient(135deg,#065f46,#064e3b) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#34d399 !important;
}
html body .tabs .nav-home:hover *,
html body .tabs button.nav-home:hover *,
html[data-theme="dark"] body .tabs .nav-home:hover *,
body.dark .tabs .nav-home:hover *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
html body .tabs .nav-home.active,
html body .tabs button.nav-home.active,
html[data-theme="dark"] body .tabs .nav-home.active,
body.dark .tabs .nav-home.active,
html[data-theme="light"] body .tabs .nav-home.active{
  background:linear-gradient(135deg,#10b981,#047857) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#10b981 !important;
  box-shadow:0 8px 18px rgba(16,185,129,.28) !important;
}
html body .tabs .nav-home.active *,
html body .tabs button.nav-home.active *,
html[data-theme="dark"] body .tabs .nav-home.active *,
body.dark .tabs .nav-home.active *,
html[data-theme="light"] body .tabs .nav-home.active *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  fill:currentColor !important;
}
html[data-theme="light"] body .tabs .nav-home:not(.active){
  background:#ffffff !important;
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
  border-color:#94a3b8 !important;
}
html[data-theme="light"] body .tabs .nav-home:not(.active) strong,
html[data-theme="light"] body .tabs .nav-home:not(.active) .nav-icon{
  color:#0f172a !important;
  -webkit-text-fill-color:#0f172a !important;
}
html[data-theme="light"] body .tabs .nav-home:not(.active) small{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
}

/* v70.17 - New Client Case modal readability hard fix
   Frontend-only visual update. Supabase SQL update: NO.
   Forces the guided first-case/new-client-case popup to use a clean,
   high-contrast light modal regardless of global dark-theme inheritance. */
html body .case-wizard-overlay{
  background:rgba(2,6,23,.76)!important;
  backdrop-filter:blur(10px)!important;
}
html body .case-wizard,
html body .case-wizard.tidy-case-wizard,
html body .case-wizard.completion-wizard{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:initial!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 32px 90px rgba(2,6,23,.48)!important;
}
html body .case-wizard *,
html body .case-wizard.tidy-case-wizard *,
html body .case-wizard.completion-wizard *{
  text-shadow:none!important;
}
html body .case-wizard-header{
  background:linear-gradient(135deg,#064e3b,#047857)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .case-wizard-header *,
html body .case-wizard-header h2,
html body .case-wizard-header p,
html body .case-wizard-header .mini,
html body .case-wizard-mini-summary,
html body .case-wizard-mini-summary span{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}
html body .case-wizard-header p,
html body .case-wizard-header .mini{
  color:#dcfce7!important;
  -webkit-text-fill-color:#dcfce7!important;
}
html body .case-wizard-steps{
  background:#f1f5f9!important;
  border-bottom:1px solid #cbd5e1!important;
}
html body .case-wizard-steps span{
  background:#ffffff!important;
  color:#1e293b!important;
  -webkit-text-fill-color:#1e293b!important;
  border:1px solid #cbd5e1!important;
}
html body .case-wizard-steps span.active{
  background:#047857!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#047857!important;
}
html body .case-wizard-steps span.done{
  background:#ecfdf5!important;
  color:#065f46!important;
  -webkit-text-fill-color:#065f46!important;
  border-color:#6ee7b7!important;
}
html body .case-wizard-body,
html body .case-wizard-body p,
html body .case-wizard-body li,
html body .case-wizard-body span,
html body .case-wizard-body div{
  background-color:transparent!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
html body .case-wizard .field label,
html body .case-wizard label,
html body .case-wizard .wizard-check span{
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  font-weight:850!important;
}
html body .case-wizard .field input,
html body .case-wizard .field select,
html body .case-wizard .field textarea,
html body .case-wizard input[data-wizard-key],
html body .case-wizard select[data-wizard-key],
html body .case-wizard textarea[data-wizard-key]{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:1px solid #64748b!important;
  box-shadow:0 1px 2px rgba(15,23,42,.08)!important;
}
html body .case-wizard .field input::placeholder,
html body .case-wizard .field textarea::placeholder,
html body .case-wizard input[data-wizard-key]::placeholder,
html body .case-wizard textarea[data-wizard-key]::placeholder{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  opacity:1!important;
}
html body .case-wizard .field input:focus,
html body .case-wizard .field select:focus,
html body .case-wizard .field textarea:focus,
html body .case-wizard input[data-wizard-key]:focus,
html body .case-wizard select[data-wizard-key]:focus,
html body .case-wizard textarea[data-wizard-key]:focus{
  border-color:#047857!important;
  outline:3px solid rgba(4,120,87,.22)!important;
  outline-offset:1px!important;
}
html body .case-wizard .wizard-check,
html body .case-wizard .wizard-template-note,
html body .case-wizard .wizard-readiness,
html body .case-wizard .wizard-review,
html body .case-wizard .case-wizard-note{
  background:#f8fafc!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border-color:#cbd5e1!important;
  box-shadow:none!important;
}
html body .case-wizard .wizard-template-note strong,
html body .case-wizard .wizard-readiness strong,
html body .case-wizard .wizard-review h3,
html body .case-wizard .wizard-readiness p strong{
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
}
html body .case-wizard .wizard-review p,
html body .case-wizard .wizard-readiness li,
html body .case-wizard .wizard-template-note,
html body .case-wizard .wizard-readiness p{
  color:#1e293b!important;
  -webkit-text-fill-color:#1e293b!important;
}
html body .case-wizard .wizard-urgency,
html body .case-wizard .wizard-urgency *{
  background:#fff7ed!important;
  color:#7c2d12!important;
  -webkit-text-fill-color:#7c2d12!important;
  border-color:#fed7aa!important;
}
html body .case-wizard-note,
html body .case-wizard-note *{
  background:#fffbeb!important;
  color:#713f12!important;
  -webkit-text-fill-color:#713f12!important;
  border-color:#fde68a!important;
}
html body .case-wizard-footer{
  background:#f8fafc!important;
  border-top:1px solid #cbd5e1!important;
}
html body .case-wizard-footer button{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:1px solid #64748b!important;
  font-weight:850!important;
}
html body .case-wizard-footer button:hover{
  background:#e2e8f0!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
html body .case-wizard-footer button.primary,
html body .case-wizard-footer .primary{
  background:linear-gradient(135deg,#059669,#047857)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#047857!important;
  font-weight:950!important;
}
html body .case-wizard-footer button.primary:hover,
html body .case-wizard-footer .primary:hover{
  background:linear-gradient(135deg,#047857,#065f46)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .case-wizard-footer button.danger,
html body .case-wizard-footer .danger{
  background:linear-gradient(135deg,#e11d48,#be123c)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#be123c!important;
}
/* Version marker: v70.17 */

/* v70.18 - Targeted New Client Case controls readability fix
   Frontend-only visual update. Supabase SQL update: NO.
   Fixes the Close button and Case Type control inside the first-case/New Client Case wizard. */
html body .case-wizard .case-wizard-header button,
html body .case-wizard .case-wizard-header .ghost-button,
html body .case-wizard-header button[onclick*="closeCaseSetupWizard"]{
  background:#ffffff!important;
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
  border:2px solid rgba(255,255,255,.96)!important;
  border-radius:999px!important;
  font-weight:950!important;
  opacity:1!important;
  box-shadow:0 8px 22px rgba(2,6,23,.22)!important;
}
html body .case-wizard .case-wizard-header button:hover,
html body .case-wizard .case-wizard-header .ghost-button:hover,
html body .case-wizard-header button[onclick*="closeCaseSetupWizard"]:hover{
  background:#dcfce7!important;
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
  border-color:#bbf7d0!important;
}
html body .case-wizard select[data-wizard-key="caseType"],
html body .case-wizard .field select[data-wizard-key="caseType"]{
  appearance:auto!important;
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:2px solid #047857!important;
  font-weight:850!important;
  box-shadow:0 0 0 3px rgba(4,120,87,.12)!important;
}
html body .case-wizard select[data-wizard-key="caseType"] option,
html body .case-wizard .field select[data-wizard-key="caseType"] option{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
html body .case-wizard select[data-wizard-key="caseType"]:focus,
html body .case-wizard .field select[data-wizard-key="caseType"]:focus{
  background:#ffffff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border-color:#059669!important;
  outline:3px solid rgba(16,185,129,.35)!important;
}
html body .case-wizard label:has(select[data-wizard-key="caseType"]),
html body .case-wizard .field:has(select[data-wizard-key="caseType"]) label{
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
  font-weight:950!important;
}
/* Version marker: v70.18 */

/* =========================================================
   McKenzieCMS v70.19 - First Case Setup Case Type Badge FIX
   Frontend-only visual update. Supabase SQL update: NO.
   Fixes the pale green case-type/template pill in the wizard
   header so it remains readable in all themes.
   ========================================================= */
.case-wizard .case-wizard-mini-summary span,
.tidy-case-wizard .case-wizard-mini-summary span,
.case-wizard-header .case-wizard-mini-summary span,
.case-wizard-header .case-type-pill,
.case-wizard-header .template-pill,
.case-wizard-header .badge,
.case-wizard-header [class*="pill"],
.case-wizard-header [class*="badge"]{
  background:#ffffff!important;
  color:#064e3b!important;
  border:1px solid rgba(255,255,255,.95)!important;
  box-shadow:0 6px 16px rgba(0,0,0,.18)!important;
  text-shadow:none!important;
  opacity:1!important;
  font-weight:950!important;
}
.case-wizard .case-wizard-mini-summary span strong,
.tidy-case-wizard .case-wizard-mini-summary span strong,
.case-wizard-header .case-wizard-mini-summary span strong,
.case-wizard-header [class*="pill"] strong,
.case-wizard-header [class*="badge"] strong{
  color:#064e3b!important;
}
.case-wizard-header .case-wizard-mini-summary span:hover,
.case-wizard-header [class*="pill"]:hover,
.case-wizard-header [class*="badge"]:hover{
  background:#ecfdf5!important;
  color:#022c22!important;
  border-color:#bbf7d0!important;
}
/* Keep wizard primary actions readable as well */
.case-wizard-footer button.primary,
.case-wizard-footer .primary,
.tidy-case-wizard .case-wizard-footer button.primary,
.tidy-case-wizard .case-wizard-footer .primary{
  background:#047857!important;
  color:#ffffff!important;
  border-color:#047857!important;
  text-shadow:none!important;
}


/* =========================================================
   McKenzieCMS v70.20 - DEFINITIVE first-case wizard badge fix
   Supabase SQL update: NO.
   Fixes the top-left case-type/template pill in the wizard header.
   This is intentionally last in the CSS file to beat earlier theme rules.
   ========================================================= */
html body .case-wizard-header .case-wizard-mini-summary,
html body .tidy-case-wizard .case-wizard-header .case-wizard-mini-summary,
html body .case-wizard .case-wizard-mini-summary{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
html body .case-wizard-header .case-wizard-mini-summary > span,
html body .case-wizard .case-wizard-mini-summary > span,
html body .tidy-case-wizard .case-wizard-mini-summary > span,
html body .case-wizard-header span.case-type-pill,
html body .case-wizard-header span.template-pill,
html body .case-wizard-header .case-type-pill,
html body .case-wizard-header .template-pill{
  background:#ffffff!important;
  background-image:none!important;
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
  border:2px solid #bbf7d0!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  line-height:1.1!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-shadow:none!important;
  box-shadow:0 5px 14px rgba(0,0,0,.22)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
html body .case-wizard-header .case-wizard-mini-summary > span *,
html body .case-wizard .case-wizard-mini-summary > span *,
html body .tidy-case-wizard .case-wizard-mini-summary > span *{
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
  text-shadow:none!important;
}
html body .case-wizard-header .case-wizard-mini-summary > span:hover,
html body .case-wizard .case-wizard-mini-summary > span:hover,
html body .tidy-case-wizard .case-wizard-mini-summary > span:hover{
  background:#ecfdf5!important;
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
  border-color:#86efac!important;
}
/* Also keep the Case Type select itself readable */
html body .case-wizard select[data-wizard-key="caseType"],
html body .tidy-case-wizard select[data-wizard-key="caseType"]{
  background:#ffffff!important;
  color:#020617!important;
  -webkit-text-fill-color:#020617!important;
  border:2px solid #047857!important;
  font-weight:900!important;
}
html body .case-wizard select[data-wizard-key="caseType"] option,
html body .tidy-case-wizard select[data-wizard-key="caseType"] option{
  background:#ffffff!important;
  color:#020617!important;
  -webkit-text-fill-color:#020617!important;
}
/* Version marker: v70.20 */

/* =========================================================
   McKenzieCMS v70.21 - VERIFIED menu hover/highlight repair
   Supabase SQL update: NO.
   This block is intentionally last to override older broad button rules
   that were affecting navigation hover/active states.
   ========================================================= */
html body .tabs .nav-home,
html body .tabs .nav-dropdown > summary{
  background:#ffffff!important;
  background-image:none!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 2px 8px rgba(15,23,42,.08)!important;
  text-shadow:none!important;
}
html body .tabs .nav-home *,
html body .tabs .nav-dropdown > summary *{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
html body .tabs .nav-home:hover,
html body .tabs .nav-dropdown > summary:hover,
html body .tabs .nav-dropdown[open] > summary{
  background:#ecfdf5!important;
  background-image:none!important;
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
  border-color:#10b981!important;
  box-shadow:0 0 0 3px rgba(16,185,129,.14)!important;
}
html body .tabs .nav-home.active,
html body .tabs .nav-dropdown.contains-active > summary{
  background:#047857!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#047857!important;
  box-shadow:0 8px 18px rgba(4,120,87,.24)!important;
  font-weight:950!important;
}
html body .tabs .nav-home.active *,
html body .tabs .nav-dropdown.contains-active > summary *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .tabs .nav-dropdown > summary::after{
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
}
html body .tabs .nav-dropdown-menu,
html body .tabs .admin-grouped-menu{
  background:#ffffff!important;
  background-image:none!important;
  border:1px solid #cbd5e1!important;
  box-shadow:0 22px 50px rgba(15,23,42,.22)!important;
}
html body .tabs .nav-dropdown-item{
  background:#ffffff!important;
  background-image:none!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:1px solid transparent!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
html body .tabs .nav-dropdown-item *,
html body .tabs .nav-dropdown-item strong,
html body .tabs .nav-dropdown-item small{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  text-shadow:none!important;
}
html body .tabs .nav-dropdown-item small{opacity:.78!important;}
html body .tabs .nav-dropdown-item:hover,
html body .tabs .nav-dropdown-item:focus{
  background:#ecfdf5!important;
  background-image:none!important;
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
  border-color:#10b981!important;
  box-shadow:0 0 0 2px rgba(16,185,129,.12)!important;
}
html body .tabs .nav-dropdown-item.active,
html body .tabs .nav-dropdown-item[aria-current="page"]{
  background:#047857!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#047857!important;
  box-shadow:0 8px 18px rgba(4,120,87,.24)!important;
}
html body .tabs .nav-dropdown-item.active *,
html body .tabs .nav-dropdown-item[aria-current="page"] *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .tabs .nav-icon,
html body .tabs .admin-submenu-icon{
  background:#d1fae5!important;
  color:#065f46!important;
  -webkit-text-fill-color:#065f46!important;
}
html body .tabs .nav-home.active .nav-icon,
html body .tabs .nav-dropdown-item.active .nav-icon,
html body .tabs .nav-dropdown-item[aria-current="page"] .nav-icon{
  background:rgba(255,255,255,.22)!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .tabs .admin-submenu{
  background:#f8fafc!important;
  background-image:none!important;
  border:1px solid #cbd5e1!important;
}
html body .tabs .admin-submenu > summary{
  background:#f8fafc!important;
  background-image:none!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
  border:0!important;
  box-shadow:none!important;
}
html body .tabs .admin-submenu > summary *,
html body .tabs .admin-submenu > summary small{
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}
html body .tabs .admin-submenu > summary:hover,
html body .tabs .admin-submenu[open] > summary{
  background:#ecfdf5!important;
  background-image:none!important;
  color:#064e3b!important;
  -webkit-text-fill-color:#064e3b!important;
}
html body .tabs .admin-submenu.contains-active,
html body .tabs .admin-submenu.contains-active > summary{
  border-color:#047857!important;
}
html body .tabs .admin-submenu.contains-active > summary{
  background:#047857!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html body .tabs .admin-submenu.contains-active > summary *{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}
html[data-theme="dark"] body .tabs .nav-home,
html[data-theme="dark"] body .tabs .nav-dropdown > summary,
html[data-theme="dark"] body .tabs .nav-dropdown-menu,
html[data-theme="dark"] body .tabs .admin-grouped-menu,
html[data-theme="dark"] body .tabs .nav-dropdown-item,
html[data-theme="dark"] body .tabs .admin-submenu,
html[data-theme="dark"] body .tabs .admin-submenu > summary{
  background:#111827!important;
  background-image:none!important;
  color:#f9fafb!important;
  -webkit-text-fill-color:#f9fafb!important;
  border-color:#475569!important;
}
html[data-theme="dark"] body .tabs .nav-home:hover,
html[data-theme="dark"] body .tabs .nav-dropdown > summary:hover,
html[data-theme="dark"] body .tabs .nav-dropdown[open] > summary,
html[data-theme="dark"] body .tabs .nav-dropdown-item:hover,
html[data-theme="dark"] body .tabs .nav-dropdown-item:focus,
html[data-theme="dark"] body .tabs .admin-submenu > summary:hover,
html[data-theme="dark"] body .tabs .admin-submenu[open] > summary{
  background:#064e3b!important;
  background-image:none!important;
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  border-color:#10b981!important;
}
html[data-theme="dark"] body .tabs .nav-home.active,
html[data-theme="dark"] body .tabs .nav-dropdown.contains-active > summary,
html[data-theme="dark"] body .tabs .nav-dropdown-item.active,
html[data-theme="dark"] body .tabs .nav-dropdown-item[aria-current="page"],
html[data-theme="dark"] body .tabs .admin-submenu.contains-active > summary{
  background:#10b981!important;
  background-image:none!important;
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
  border-color:#34d399!important;
}
html[data-theme="dark"] body .tabs .nav-home.active *,
html[data-theme="dark"] body .tabs .nav-dropdown.contains-active > summary *,
html[data-theme="dark"] body .tabs .nav-dropdown-item.active *,
html[data-theme="dark"] body .tabs .nav-dropdown-item[aria-current="page"] *,
html[data-theme="dark"] body .tabs .admin-submenu.contains-active > summary *{
  color:#022c22!important;
  -webkit-text-fill-color:#022c22!important;
}
/* Version marker: v70.21 */

/* v70.22 Selected Case Workspace */
.case-workspace-header{
  display:flex;justify-content:space-between;gap:18px;align-items:stretch;
  padding:20px;border-radius:18px;background:linear-gradient(135deg,rgba(6,78,59,.96),rgba(15,23,42,.96));
  border:1px solid rgba(16,185,129,.35);box-shadow:0 14px 34px rgba(0,0,0,.18);color:#f8fafc;margin:0 0 14px;
}
.case-workspace-header h2{margin:4px 0 6px;color:#fff;font-size:1.45rem;}
.case-workspace-header p{color:#ffffff!important;margin:.2rem 0;}
.case-workspace-header .mini{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;text-transform:uppercase;letter-spacing:.08em;font-weight:800;}
.case-workspace-status{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;min-width:330px;}
.case-workspace-status span,.case-workspace-snapshot div{display:flex;flex-direction:column;gap:3px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:14px;padding:11px 12px;}
.case-workspace-status strong{color:#fff;font-size:.98rem;}
.case-workspace-status small{color:#ffffff!important;font-weight:700;}
.case-workspace-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:8px;margin:12px 0 14px;}
.case-workspace-tab{display:flex;align-items:center;gap:8px;justify-content:flex-start;min-height:46px;border-radius:13px;border:1px solid rgba(148,163,184,.25);background:#f8fafc;color:#0f172a!important;padding:9px 10px;font-weight:800;box-shadow:0 2px 8px rgba(15,23,42,.06);}
.case-workspace-tab:hover,.case-workspace-tab:focus{background:#ecfdf5!important;color:#064e3b!important;border-color:#10b981!important;transform:translateY(-1px);}
.case-workspace-tab span{font-size:1rem;line-height:1;}
.case-workspace-tab strong{color:inherit!important;font-size:.88rem;}
.case-workspace-tab small{margin-left:auto;border-radius:999px;background:#064e3b;color:#fff;padding:2px 7px;font-size:.72rem;}
.case-workspace-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:0 0 14px;}
.case-workspace-snapshot div{background:#fff;border-color:#d1d5db;color:#111827;}
.case-workspace-snapshot strong{color:#064e3b;font-size:1rem;}
.case-workspace-snapshot span{color:#374151;font-size:.82rem;font-weight:700;}
.case-workspace-quick-actions{display:flex;flex-wrap:wrap;gap:8px;}
.case-workspace-quick-actions button{background:#f8fafc!important;color:#111827!important;border:1px solid #cbd5e1!important;font-weight:800;}
.case-workspace-quick-actions button:hover{background:#ecfdf5!important;color:#064e3b!important;border-color:#10b981!important;}
.case-workspace-quick-actions button.primary{background:#047857!important;color:#fff!important;border-color:#059669!important;}
.case-workspace-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:14px;align-items:start;}
.client-card.active{outline:3px solid rgba(16,185,129,.75)!important;box-shadow:0 0 0 4px rgba(16,185,129,.16)!important;}
@media(max-width:900px){.case-workspace-header{flex-direction:column}.case-workspace-status{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.case-workspace-two-col{grid-template-columns:1fr}}


/* v70.23 verified readability fix: selected case workspace green banner
   Target: the green banner towards the top of the selected case workspace.
   Purpose: replace low-contrast emerald-on-emerald combinations with a high-contrast light panel. */
.case-workspace-header,
html[data-theme="dark"] .case-workspace-header,
html[data-theme="light"] .case-workspace-header{
  background:linear-gradient(135deg,#f8fafc 0%,#ecfdf5 100%) !important;
  color:#022c22 !important;
  border:1px solid #10b981 !important;
  box-shadow:0 10px 28px rgba(15,23,42,.14) !important;
}
.case-workspace-header *,
html[data-theme="dark"] .case-workspace-header *,
html[data-theme="light"] .case-workspace-header *{
  color:#022c22 !important;
  -webkit-text-fill-color:#022c22 !important;
  text-shadow:none !important;
}
.case-workspace-header h1,
.case-workspace-header h2,
.case-workspace-header h3,
html[data-theme="dark"] .case-workspace-header h1,
html[data-theme="dark"] .case-workspace-header h2,
html[data-theme="dark"] .case-workspace-header h3,
html[data-theme="light"] .case-workspace-header h1,
html[data-theme="light"] .case-workspace-header h2,
html[data-theme="light"] .case-workspace-header h3{
  color:#022c22 !important;
  -webkit-text-fill-color:#022c22 !important;
  font-weight:800 !important;
}
.case-workspace-header p,
.case-workspace-header .mini,
.case-workspace-header small,
html[data-theme="dark"] .case-workspace-header p,
html[data-theme="dark"] .case-workspace-header .mini,
html[data-theme="dark"] .case-workspace-header small,
html[data-theme="light"] .case-workspace-header p,
html[data-theme="light"] .case-workspace-header .mini,
html[data-theme="light"] .case-workspace-header small{
  color:#064e3b !important;
  -webkit-text-fill-color:#064e3b !important;
  font-weight:700 !important;
}
.case-workspace-status span,
html[data-theme="dark"] .case-workspace-status span,
html[data-theme="light"] .case-workspace-status span{
  background:#ffffff !important;
  color:#022c22 !important;
  border:1px solid #a7f3d0 !important;
  box-shadow:0 2px 8px rgba(15,23,42,.08) !important;
}
.case-workspace-status strong,
html[data-theme="dark"] .case-workspace-status strong,
html[data-theme="light"] .case-workspace-status strong{
  color:#022c22 !important;
  -webkit-text-fill-color:#022c22 !important;
}
.case-workspace-status small,
html[data-theme="dark"] .case-workspace-status small,
html[data-theme="light"] .case-workspace-status small{
  color:#065f46 !important;
  -webkit-text-fill-color:#065f46 !important;
}
/* Version marker: v70.23 */

/* v70.24: Persistent selected-case menu row.
   Keeps the case-specific buttons visible after opening Timeline, Documents, Tasks, Notes, Ledger, AI, etc. */
.case-workspace-pinned-menu{
  position: sticky;
  top: 72px;
  z-index: 10;
  margin: 0 0 14px;
  padding: 10px;
  border: 1px solid rgba(16,185,129,.35);
  border-radius: 16px;
  background: rgba(6, 95, 70, .96);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
.case-workspace-pinned-menu.hidden{display:none!important;}
.case-workspace-pinned-inner{display:flex;align-items:center;gap:12px;min-width:0;}
.case-workspace-pinned-title{flex:0 0 auto;min-width:150px;color:#ffffff;line-height:1.15;}
.case-workspace-pinned-title span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#ffffff!important;font-weight:800;}
.case-workspace-pinned-title strong{display:block;color:#ffffff;font-size:.95rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.case-workspace-pinned-tabs{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin;}
.case-workspace-pinned-tabs .case-workspace-tab{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:8px 11px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.12)!important;
  color:#ffffff!important;
  font-weight:800!important;
  box-shadow:none!important;
}
.case-workspace-pinned-tabs .case-workspace-tab span,
.case-workspace-pinned-tabs .case-workspace-tab strong,
.case-workspace-pinned-tabs .case-workspace-tab small{color:inherit!important;}
.case-workspace-pinned-tabs .case-workspace-tab small{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:#ffffff!important;color:#064e3b!important;font-size:.75rem;font-weight:900!important;
}
.case-workspace-pinned-tabs .case-workspace-tab:hover,
.case-workspace-pinned-tabs .case-workspace-tab:focus-visible{
  background:#ffffff!important;
  color:#064e3b!important;
  border-color:#ffffff!important;
  outline:2px solid #fbbf24!important;
  outline-offset:2px;
}
.case-workspace-pinned-tabs .case-workspace-tab.active,
.case-workspace-pinned-tabs .case-workspace-tab[aria-current="page"]{
  background:#ffffff!important;
  color:#064e3b!important;
  border-color:#ffffff!important;
}
@media(max-width:900px){
  .case-workspace-pinned-inner{display:block;}
  .case-workspace-pinned-title{margin:0 0 8px;}
  .case-workspace-pinned-title strong{max-width:100%;}
}
/* Version marker: v70.24 */
/* Version marker: v70.25 */


/* v70.27: Remove duplicate selected-case tab row directly below the banner.
   The persistent selected-case menu remains in place elsewhere. */
.case-workspace-header + .case-workspace-tabs{
  display:none!important;
}


/* v70.28: Child Arrangements selected-case menu sizing fix.
   Prevents the extra Children tab/emoji from making the selected-case menu look stretched. */
.case-workspace-pinned-menu{
  box-sizing:border-box!important;
}
.case-workspace-pinned-tabs{
  min-width:0!important;
  flex:1 1 auto!important;
  align-items:center!important;
  gap:7px!important;
  padding:0 0 1px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.case-workspace-pinned-tabs .case-workspace-tab{
  box-sizing:border-box!important;
  height:38px!important;
  min-height:38px!important;
  max-height:38px!important;
  padding:7px 10px!important;
  line-height:1!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
.case-workspace-pinned-tabs .case-workspace-tab span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  min-width:18px!important;
  height:18px!important;
  line-height:1!important;
  font-size:14px!important;
}
.case-workspace-pinned-tabs .case-workspace-tab strong{
  display:inline-flex!important;
  align-items:center!important;
  height:18px!important;
  line-height:1!important;
  font-size:.84rem!important;
  white-space:nowrap!important;
}
.case-workspace-pinned-tabs .case-workspace-tab small{
  height:18px!important;
  min-width:18px!important;
  line-height:18px!important;
  padding:0 6px!important;
}
@media(max-width:900px){
  .case-workspace-pinned-tabs .case-workspace-tab{height:38px!important;min-height:38px!important;max-height:38px!important;}
}
/* Version marker: v70.28 */

/* v70.29 Next Actions workspace panel */
.next-actions-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.next-action-item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(148,163,184,.28);background:rgba(15,23,42,.55);color:#f8fafc;}
.next-action-item strong{color:#ffffff;font-weight:750;}
.next-action-item span{color:#e5e7eb;text-align:right;}
.next-action-item.good{border-color:rgba(16,185,129,.55);background:rgba(6,95,70,.22);}
.next-action-item.warning{border-color:rgba(245,158,11,.55);background:rgba(146,64,14,.22);}
.next-action-item.urgent{border-color:rgba(239,68,68,.65);background:rgba(127,29,29,.30);}
.next-actions-actions{margin-top:12px;}
@media (max-width: 800px){.next-action-item{align-items:flex-start;flex-direction:column}.next-action-item span{text-align:left}}


/* v70.31 Feedback button accessibility fix */
.feedback-fab,
.feedback-fab:visited,
.feedback-fab span,
.feedback-fab svg{
  color:#ffffff !important;
  fill:#ffffff !important;
}

.feedback-fab:hover,
.feedback-fab:focus{
  color:#ffffff !important;
}

/* v70.32: Definitive floating Feedback button colour fix.
   Targets the real generated button (#v458FeedbackButton) and prevents generic
   button/theme rules from overriding the label colour. */
#v458FeedbackButton.feedback-fab,
button#v458FeedbackButton.feedback-fab,
html[data-theme="light"] #v458FeedbackButton.feedback-fab,
html[data-theme="dark"] #v458FeedbackButton.feedback-fab{
  background:linear-gradient(135deg,#047857,#065f46) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:1px solid rgba(255,255,255,.28) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.35) !important;
}
#v458FeedbackButton.feedback-fab *,
button#v458FeedbackButton.feedback-fab *,
#v458FeedbackButton.feedback-fab::before,
#v458FeedbackButton.feedback-fab::after{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  fill:#ffffff !important;
}
#v458FeedbackButton.feedback-fab:hover,
#v458FeedbackButton.feedback-fab:focus,
#v458FeedbackButton.feedback-fab:active{
  background:linear-gradient(135deg,#065f46,#064e3b) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:rgba(255,255,255,.42) !important;
}
/* Version marker: v70.36 */

.case-workspace-pinned-title,.case-workspace-pinned-title *{color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;}


/* v70.34 Admin Analytics Dashboard */
.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.analytics-summary .metric strong{color:var(--text-primary,#f9fafb)!important;}
.analytics-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:16px;margin:16px 0;}
.analytics-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.analytics-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.24);border-radius:14px;background:rgba(15,23,42,.42);color:var(--text-primary,#f9fafb);}
.analytics-list li span{color:var(--text-secondary,#d1d5db);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.analytics-list li strong{color:#ffffff;background:#047857;border-radius:999px;padding:3px 9px;min-width:34px;text-align:center;}
.table-wrap{overflow:auto;max-width:100%;}
.table-wrap table{width:100%;border-collapse:collapse;}
.table-wrap th,.table-wrap td{padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.22);text-align:left;color:var(--text-primary,#f9fafb);}
.table-wrap th{color:#ffffff;background:rgba(5,95,70,.45);font-weight:800;}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr;}}

/* v70.35: actionable priority links */
.priority-table .priority-open-link,
button.priority-open-link {
  background: #047857 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid #065f46 !important;
  border-radius: 999px !important;
  padding: .42rem .72rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.priority-table .priority-open-link:hover,
button.priority-open-link:hover,
.priority-table .priority-open-link:focus,
button.priority-open-link:focus {
  background: #065f46 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  outline: 2px solid rgba(16,185,129,.45) !important;
  outline-offset: 2px !important;
}
.priority-table-wrap td .row-actions {
  flex-wrap: wrap;
}


/* v70.36: definitive Today's Priorities Open Item button visibility fix.
   Targets the actual generated class used by renderPriorityView(). */
.priority-table-wrap table.priority-table button.priority-open-link,
.priority-table-wrap table.priority-table button.priority-open-item-visible,
button.priority-open-link.priority-open-item-visible,
html[data-theme="light"] .priority-table-wrap table.priority-table button.priority-open-link,
html[data-theme="dark"] .priority-table-wrap table.priority-table button.priority-open-link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:92px !important;
  min-height:34px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:#059669 !important;
  background-image:none !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:2px solid #a7f3d0 !important;
  font-weight:800 !important;
  font-size:13px !important;
  letter-spacing:.01em !important;
  line-height:1.1 !important;
  text-shadow:none !important;
  box-shadow:0 0 0 1px rgba(5,150,105,.35),0 6px 14px rgba(5,150,105,.28) !important;
  opacity:1 !important;
}
.priority-table-wrap table.priority-table button.priority-open-link:hover,
.priority-table-wrap table.priority-table button.priority-open-link:focus,
.priority-table-wrap table.priority-table button.priority-open-link:active,
button.priority-open-link.priority-open-item-visible:hover,
button.priority-open-link.priority-open-item-visible:focus{
  background:#047857 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border-color:#ffffff !important;
  outline:3px solid rgba(16,185,129,.45) !important;
  outline-offset:2px !important;
}
.priority-table-wrap table.priority-table button.priority-open-link *,
button.priority-open-link.priority-open-item-visible *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  fill:#ffffff !important;
}
/* Version marker: v70.36 */

/* v70.39: actionable priorities deep-link highlight */
.priority-target-row {
  outline: 3px solid #10b981 !important;
  outline-offset: -3px !important;
  background: rgba(16, 185, 129, 0.18) !important;
  box-shadow: inset 4px 0 0 #10b981 !important;
}
.priority-target-row td {
  color: var(--text-primary, #f9fafb) !important;
}
.priority-target-row button {
  position: relative;
  z-index: 1;
}


/* v70.39 Global Dashboard + Case Workspace */
.global-dashboard-card{border:1px solid rgba(16,185,129,.45)!important;background:linear-gradient(135deg,rgba(6,95,70,.92),rgba(4,120,87,.86))!important;color:#fff!important;}
.global-dashboard-card *{color:#fff!important;-webkit-text-fill-color:#fff!important;}
.global-dashboard-card.active{box-shadow:0 0 0 2px rgba(255,255,255,.5),0 12px 32px rgba(6,95,70,.28)!important;}
.global-dashboard-summary .metric strong{color:#fff!important;}
.global-priority-wrap .priority-open-link,
.global-priority-wrap .priority-open-link:link,
.global-priority-wrap .priority-open-link:visited,
.global-priority-wrap .priority-open-link:hover,
.global-priority-wrap .priority-open-link:focus,
.global-priority-wrap .priority-open-link:active{background:#047857!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;font-weight:800!important;}
.global-quick-actions button{min-height:42px;}
.case-workspace-pinned-menu.hidden{display:none!important;}


/* v70.41: Global dashboard sidebar/readability and no-case dashboard fixes */
.client-card.global-dashboard-card,
.case-owner-group .client-card.global-dashboard-card{
  background: linear-gradient(135deg,#065f46,#047857) !important;
  border: 1px solid rgba(255,255,255,.42) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 26px rgba(4,120,87,.24) !important;
}
.client-card.global-dashboard-card *,
.client-card.global-dashboard-card strong,
.client-card.global-dashboard-card span,
.client-card.global-dashboard-card small{
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
.client-card.global-dashboard-card:hover,
.client-card.global-dashboard-card.active{
  background: linear-gradient(135deg,#047857,#059669) !important;
  outline: 3px solid rgba(255,255,255,.72) !important;
  box-shadow: 0 0 0 4px rgba(16,185,129,.24), 0 14px 34px rgba(4,120,87,.34) !important;
}
html[data-theme="light"] .client-card.global-dashboard-card,
html[data-theme="dark"] .client-card.global-dashboard-card{
  color:#ffffff !important;
}
html[data-theme="light"] .client-card.global-dashboard-card *,
html[data-theme="dark"] .client-card.global-dashboard-card *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* v70.44: definitive visible contrast fix for Today's Priorities action buttons and left Dashboard card.
   These rules target the actual generated elements and deliberately sit at the very end of the stylesheet. */
.table-wrap.global-priority-wrap table.priority-table button.priority-open-link,
.table-wrap.global-priority-wrap table.priority-table button.priority-action-btn,
.global-priority-wrap button.priority-open-link,
.global-priority-wrap button.priority-action-btn,
button.priority-open-link.priority-action-btn,
button.priority-open-link.priority-open-item-visible,
.priority-table-wrap table.priority-table button.priority-open-link,
.priority-table-wrap table.priority-table button.priority-open-item-visible,
.v613-action-list button,
.v614-action-list button,
.v611-gap-link,
.v615-action-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 96px !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #047857 !important;
  background-color: #047857 !important;
  background-image: none !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 2px solid #a7f3d0 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
.table-wrap.global-priority-wrap table.priority-table button.priority-open-link *,
.table-wrap.global-priority-wrap table.priority-table button.priority-action-btn *,
.global-priority-wrap button.priority-open-link *,
.global-priority-wrap button.priority-action-btn *,
button.priority-open-link.priority-action-btn *,
button.priority-open-link.priority-open-item-visible *,
.v613-action-list button *,
.v614-action-list button *,
.v611-gap-link *,
.v615-action-button * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}
.table-wrap.global-priority-wrap table.priority-table button.priority-open-link:hover,
.table-wrap.global-priority-wrap table.priority-table button.priority-action-btn:hover,
.global-priority-wrap button.priority-open-link:hover,
.global-priority-wrap button.priority-action-btn:hover,
button.priority-open-link.priority-action-btn:hover,
button.priority-open-link.priority-open-item-visible:hover,
.v613-action-list button:hover,
.v614-action-list button:hover,
.v611-gap-link:hover,
.v615-action-button:hover {
  background: #065f46 !important;
  background-color: #065f46 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

#clientList button.client-card.global-dashboard-card,
.client-list button.client-card.global-dashboard-card,
button.client-card.global-dashboard-card,
.global-dashboard-card {
  background: linear-gradient(135deg,#064e3b,#047857) !important;
  background-color: #047857 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(167,243,208,.75) !important;
  opacity: 1 !important;
}
#clientList button.client-card.global-dashboard-card *,
.client-list button.client-card.global-dashboard-card *,
button.client-card.global-dashboard-card *,
.global-dashboard-card *,
#clientList button.client-card.global-dashboard-card strong,
#clientList button.client-card.global-dashboard-card span,
#clientList button.client-card.global-dashboard-card small,
.client-list button.client-card.global-dashboard-card strong,
.client-list button.client-card.global-dashboard-card span,
.client-list button.client-card.global-dashboard-card small {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}
#clientList button.client-card.global-dashboard-card:hover,
#clientList button.client-card.global-dashboard-card.active,
.client-list button.client-card.global-dashboard-card:hover,
.client-list button.client-card.global-dashboard-card.active,
button.client-card.global-dashboard-card:hover,
button.client-card.global-dashboard-card.active {
  background: linear-gradient(135deg,#065f46,#059669) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  box-shadow: 0 0 0 2px rgba(167,243,208,.65), 0 12px 32px rgba(6,95,70,.28) !important;
}

/* v70.46 Logged-out public navigation position/colour fix
   Fixes the login/public top bar so it is centred, readable and does not overlap the auth panels. */
body.app-digital-theme .auth-screen > .public-launch-nav,
.auth-screen > nav.public-launch-nav {
  position: fixed !important;
  top: 18px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: min(1120px, calc(100vw - 32px)) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding: 12px 18px !important;
  border-radius: 999px !important;
  background: #064e3b !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  box-shadow: 0 18px 44px rgba(15,23,42,.24) !important;
  backdrop-filter: blur(14px) saturate(1.1) !important;
  z-index: 9999 !important;
  box-sizing: border-box !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav .public-brand,
body.app-digital-theme .auth-screen > .public-launch-nav a.public-brand {
  color: #ffffff !important;
  font-weight: 950 !important;
  text-decoration: none !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav div {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav a:not(.public-cta) {
  color: #ffffff !important;
  font-weight: 850 !important;
  text-decoration: none !important;
  opacity: .96 !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav a:not(.public-cta):hover,
body.app-digital-theme .auth-screen > .public-launch-nav a:not(.public-cta):focus-visible {
  color: #d1fae5 !important;
  text-decoration: none !important;
  opacity: 1 !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav .public-cta,
body.app-digital-theme .auth-screen > .public-launch-nav a.public-cta {
  background: #ffffff !important;
  color: #064e3b !important;
  border: 1px solid rgba(255,255,255,.75) !important;
  font-weight: 950 !important;
  text-decoration: none !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.18) !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav .public-cta:hover,
body.app-digital-theme .auth-screen > .public-launch-nav a.public-cta:hover,
body.app-digital-theme .auth-screen > .public-launch-nav .public-cta:focus-visible,
body.app-digital-theme .auth-screen > .public-launch-nav a.public-cta:focus-visible {
  background: #d1fae5 !important;
  color: #022c22 !important;
}
body.app-digital-theme .auth-screen {
  padding-top: 118px !important;
}
body.app-digital-theme .auth-screen > .auth-shell {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  body.app-digital-theme .auth-screen > .public-launch-nav,
  .auth-screen > nav.public-launch-nav {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: calc(100% - 16px) !important;
    margin: 8px auto 18px !important;
    border-radius: 22px !important;
    flex-direction: column !important;
  }
  body.app-digital-theme .auth-screen {
    padding-top: 14px !important;
  }
  body.app-digital-theme .auth-screen > .public-launch-nav div {
    justify-content: center !important;
    gap: 10px !important;
  }
}

/* =========================================================
   McKenzieCMS v70.63 - Safe Sidebar Scroll/Footer Fix
   Base: v70.61 working case opening. CSS-only change.
   Purpose: keep case opening working while making the case list
   the only scrolling middle area and locking footer to the bottom.
   SQL required: No
   ========================================================= */
html, body{
  height:100% !important;
}
body.app-digital-theme{
  overflow:hidden !important;
}
#appShell.app-shell:not(.hidden){
  display:flex !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
  align-items:stretch !important;
}
#appShell.app-shell:not(.hidden) > .sidebar{
  width:370px !important;
  flex:0 0 370px !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  min-height:0 !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
  padding:18px !important;
  gap:12px !important;
}
/* Remove the decorative flex item that was stealing bottom space. */
#appShell.app-shell:not(.hidden) > .sidebar::after{
  content:none !important;
  display:none !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > .app-title,
#appShell.app-shell:not(.hidden) > .sidebar > #newClientBtn,
#appShell.app-shell:not(.hidden) > .sidebar > .search-box,
#appShell.app-shell:not(.hidden) > .sidebar > .sidebar-footer{
  flex:0 0 auto !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > #newClientBtn{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list{
  flex:1 1 auto !important;
  min-height:0 !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  padding-right:6px !important;
  padding-bottom:8px !important;
  pointer-events:auto !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list .client-card,
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list button,
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list details,
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list summary{
  pointer-events:auto !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > .sidebar-footer{
  margin-top:0 !important;
  margin-bottom:0 !important;
  display:grid !important;
  gap:8px !important;
  background:var(--sidebar) !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  padding-top:10px !important;
  z-index:3 !important;
}
#appShell.app-shell:not(.hidden) > .main{
  flex:1 1 auto !important;
  min-width:0 !important;
  min-height:0 !important;
  height:100vh !important;
  height:100dvh !important;
  overflow:hidden !important;
}
#appShell.app-shell:not(.hidden) > .main > .workspace{
  min-height:0 !important;
  overflow:hidden !important;
}
#appShell.app-shell:not(.hidden) > .main .tab-content{
  min-height:0 !important;
  overflow:auto !important;
}
@media(max-width:760px){
  body.app-digital-theme{
    overflow:auto !important;
  }
  #appShell.app-shell:not(.hidden){
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    flex-direction:column !important;
  }
  #appShell.app-shell:not(.hidden) > .sidebar{
    width:100% !important;
    flex:0 0 auto !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list{
    flex:0 1 auto !important;
    max-height:55vh !important;
  }
  #appShell.app-shell:not(.hidden) > .main{
    height:auto !important;
    overflow:visible !important;
  }
}


/* =========================================================
   McKenzieCMS v70.66 - Sidebar middle wheel-scroll ONLY fix
   Base: v70.63, preserving working case opening and footer layout.
   SQL required: No
   ========================================================= */
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list,
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
  min-height:0 !important;
  pointer-events:auto !important;
}
#appShell.app-shell:not(.hidden) > .sidebar > #clientList.client-list .client-card,
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list .client-card{
  flex:0 0 auto !important;
  pointer-events:auto !important;
}


/* =========================================================
   McKenzieCMS v70.67 - Absolute Sidebar Middle Scroll Fix
   Base: v70.66 with working case opening. This bypasses flex sizing
   conflicts by pinning footer and measuring #clientList between search
   and footer. SQL required: No
   ========================================================= */
#appShell.app-shell:not(.hidden) > aside.sidebar{
  position:relative !important;
  height:100vh !important;
  height:100dvh !important;
  max-height:100vh !important;
  max-height:100dvh !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
#appShell.app-shell:not(.hidden) > aside.sidebar::after{
  content:none !important;
  display:none !important;
}
#appShell.app-shell:not(.hidden) > aside.sidebar > .sidebar-footer{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:14px !important;
  z-index:5 !important;
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
  padding-top:10px !important;
  background:var(--sidebar) !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  box-sizing:border-box !important;
}
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list{
  position:absolute !important;
  left:18px !important;
  right:10px !important;
  z-index:4 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:9px !important;
  min-height:80px !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior:contain !important;
  scrollbar-gutter:stable !important;
  padding-right:6px !important;
  padding-bottom:10px !important;
  box-sizing:border-box !important;
  pointer-events:auto !important;
}
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list .client-card,
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list button,
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list details,
#appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list summary{
  flex:0 0 auto !important;
  pointer-events:auto !important;
}
@media(max-width:760px){
  #appShell.app-shell:not(.hidden) > aside.sidebar{
    position:relative !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  #appShell.app-shell:not(.hidden) > aside.sidebar > .sidebar-footer{
    position:static !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
  }
  #appShell.app-shell:not(.hidden) > aside.sidebar > #clientList.client-list{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    max-height:55vh !important;
  }
}

/* v71.3 Business Dashboard Refresh */
.v713-dashboard{display:flex;flex-direction:column;gap:18px;max-width:1450px;margin:0 auto 32px;}
.v713-hero-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:center;padding:28px;border:1px solid rgba(4,120,87,.22);border-radius:22px;background:linear-gradient(135deg,rgba(236,253,245,.96),rgba(255,255,255,.98));box-shadow:0 16px 40px rgba(15,23,42,.08);}
.v713-eyebrow{margin:0 0 8px;color:#047857;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;}
.v713-hero-card h2{margin:0 0 8px;font-size:1.75rem;color:#0f172a;}
.v713-hero-card p{max-width:760px;margin:0;color:#475569;}
.v713-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.v713-status-panel{border-radius:20px;background:#064e3b;color:#ecfdf5;padding:22px;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15);}
.v713-status-panel strong{display:block;font-size:2.3rem;line-height:1;}
.v713-status-panel span{display:block;font-weight:900;margin-top:8px;}
.v713-status-panel small{display:block;margin-top:10px;color:#bbf7d0;}
.v713-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.v713-kpi-card{appearance:none;text-align:left;border:1px solid rgba(15,118,110,.18);background:#fff;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.06);display:grid;gap:6px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.v713-kpi-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(15,23,42,.09);border-color:rgba(4,120,87,.42);}
.v713-kpi-icon{font-size:1.45rem;}
.v713-kpi-card strong{font-size:2rem;color:#064e3b;line-height:1;}
.v713-kpi-card span{font-weight:900;color:#0f172a;}
.v713-kpi-card small{color:#64748b;}
.v713-two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;}
.v713-card,.v713-empty-welcome{border:1px solid rgba(15,118,110,.16);background:rgba(255,255,255,.98);border-radius:20px;padding:20px;box-shadow:0 10px 28px rgba(15,23,42,.055);}
.v713-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;border-bottom:1px solid rgba(15,118,110,.12);padding-bottom:12px;}
.v713-card-head h3{margin:0;color:#0f172a;font-size:1.1rem;}
.v713-card-head span{color:#64748b;font-size:.9rem;font-weight:700;}
.v713-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.v713-action-grid button,.v713-ai-stack button,.v713-list button{border:1px solid rgba(4,120,87,.22);background:#f8fffb;color:#0f172a;border-radius:14px;padding:12px 14px;font-weight:900;text-align:left;box-shadow:none;}
.v713-action-grid button:hover,.v713-ai-stack button:hover,.v713-list button:hover{background:#ecfdf5;border-color:#047857;}
.v713-action-grid button.primary{background:#047857;color:#fff;text-align:center;}
.v713-list,.v713-ai-stack{display:grid;gap:10px;}
.v713-list button{display:grid;grid-template-columns:32px 1fr;align-items:center;column-gap:10px;}
.v713-list button span{grid-row:span 2;font-size:1.3rem;}
.v713-list button strong{color:#0f172a;}
.v713-list button small{color:#64748b;font-weight:700;}
.v713-muted{color:#64748b;margin:0;}
.v713-empty-welcome{max-width:980px;margin:24px auto;text-align:center;padding:34px;}
.v713-empty-welcome h2{margin:0 0 8px;color:#0f172a;font-size:1.8rem;}
.v713-empty-welcome p{color:#475569;margin:0 0 18px;}
.v713-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;}
.v713-steps span{background:#ecfdf5;border:1px solid rgba(4,120,87,.18);border-radius:999px;padding:10px;font-weight:900;color:#064e3b;}
.v713-progress{height:10px;border-radius:999px;background:#d1fae5;overflow:hidden;margin:16px auto 22px;max-width:640px;}
.v713-progress i{display:block;height:100%;background:#047857;}
@media(max-width:1100px){.v713-hero-card,.v713-two-col{grid-template-columns:1fr}.v713-kpi-grid,.v713-action-grid,.v713-steps{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.v713-kpi-grid,.v713-action-grid,.v713-steps{grid-template-columns:1fr}.v713-hero-card{padding:20px}.v713-card-head{display:block}.v713-card-head span{display:block;margin-top:4px}}

/* v71.3.1 - centre Start First Case Setup button on empty/dashboard welcome states */
.v713-start-case-actions{display:flex;justify-content:center;align-items:center;width:100%;margin-top:18px;}
.v713-start-case-actions .v713-start-case-btn{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;text-align:center;}
.v713-empty-welcome > .v713-start-case-actions{margin-top:22px;}

/* v71.3.2 - exact no-client welcome-card button alignment fix */
.v713-centred-welcome-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;width:100%!important;max-width:760px!important;margin:0 auto!important;}
.v713-centred-welcome-content p{margin-left:auto!important;margin-right:auto!important;text-align:center!important;}
.v713-centred-welcome-content .v713-start-case-actions{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;margin-top:18px!important;}
.v713-centred-welcome-content .v713-start-case-btn{margin-left:auto!important;margin-right:auto!important;}
.panel:has(.v713-centred-welcome-content) h3{text-align:center!important;}

/* v71.3.3 - dashboard welcome alignment and status text contrast fix */
.panel:has(.v713-centred-welcome-content){
  text-align:center !important;
}
.panel:has(.v713-centred-welcome-content) h3{
  text-align:center !important;
}
.panel:has(.v713-centred-welcome-content) .v713-centred-welcome-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  width:100% !important;
  max-width:760px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.panel:has(.v713-centred-welcome-content) .v713-centred-welcome-content p{
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.panel:has(.v713-centred-welcome-content) .actions.v713-start-case-actions,
.panel:has(.v713-centred-welcome-content) .v713-start-case-actions,
.v713-empty-welcome .v713-start-case-actions{
  display:flex !important;
  width:100% !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.panel:has(.v713-centred-welcome-content) .v713-start-case-btn,
.v713-empty-welcome .v713-start-case-btn{
  display:inline-flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.v713-status-panel,
.v713-status-panel strong,
.v713-status-panel span,
.v713-status-panel small{
  color:#ffffff !important;
}
.v713-status-panel small{opacity:.96 !important;}


/* v71.3.4 - exact live dashboard fixes */
#tabContent .v713-status-panel,
#tabContent .v713-status-panel strong,
#tabContent .v713-status-panel span,
#tabContent .v713-status-panel small{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
#tabContent .v713-status-panel{
  background:linear-gradient(135deg,#064e3b,#047857) !important;
}
#tabContent .v713-empty-welcome,
#tabContent .v713-centred-welcome-content,
#tabContent .panel:has(.v713-centred-welcome-content){
  text-align:center !important;
}
#tabContent .v713-start-case-actions,
#tabContent .actions.v713-start-case-actions{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  text-align:center !important;
}
#tabContent .v713-start-case-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* v71.4.3 - user-controlled case automation preferences */
.automation-signup-options{
  margin: 1rem 0;
  border: 1px solid rgba(34,197,94,.25);
  background: rgba(6,78,59,.22);
  border-radius: 16px;
  padding: 1rem;
}
.automation-signup-options .auth-consent{
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  margin: .45rem 0;
  color: var(--text, #f8fafc);
}
.automation-pref-grid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}
.automation-pref-row{
  display: flex;
  gap: .7rem;
  align-items: flex-start;
  padding: .8rem;
  border: 1px solid rgba(34,197,94,.22);
  border-radius: 14px;
  background: rgba(6,78,59,.14);
}
.automation-pref-row input{ margin-top:.2rem; }
.automation-pref-row span{ display:flex; flex-direction:column; gap:.25rem; }
.automation-pref-row small{ opacity:.82; line-height:1.35; }

/* =========================================================
   McKenzieCMS v71.4.4 - Account Preferences Scroll Fix
   Purpose: allow account creation / automation preferences to scroll vertically
   on smaller screens and prevent bottom actions being cut off.
   ========================================================= */
html, body {
  min-height: 100%;
}
body.app-digital-theme .auth-screen,
.auth-screen {
  min-height: 100vh !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-items: flex-start !important;
  place-items: start center !important;
  padding-bottom: max(32px, env(safe-area-inset-bottom)) !important;
}
body.app-digital-theme .auth-screen > .auth-shell,
.auth-screen > .auth-shell {
  align-self: start !important;
  margin-bottom: 32px !important;
}
.auth-card {
  max-height: calc(100vh - 150px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-bottom: 34px !important;
}
.auth-card .actions,
.auth-card .auth-actions {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 5 !important;
  padding-top: 12px !important;
  margin-top: 14px !important;
  background: linear-gradient(to top, rgba(7, 25, 19, .98), rgba(7, 25, 19, .86), rgba(7, 25, 19, 0)) !important;
}
.automation-signup-options {
  max-height: 34vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.automation-pref-grid,
.account-automation-preferences,
.case-automation-preferences,
.portal-automation-preferences {
  max-height: min(58vh, 620px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  padding-right: 6px !important;
}
.modal-card,
.settings-card,
.panel {
  overflow-wrap: anywhere;
}
@media (max-width: 900px) {
  .auth-card {
    max-height: none !important;
    overflow-y: visible !important;
  }
  .automation-signup-options {
    max-height: none !important;
  }
  body.app-digital-theme .auth-screen,
  .auth-screen {
    display: block !important;
  }
}


/* v71.4.5 login button border fix */
.auth-actions button,
#signInBtn,
#signUpBtn{
  border:1px solid #10b981 !important;
  outline:none !important;
  box-shadow:none !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.auth-actions button:focus,
.auth-actions button:active,
.auth-actions button:focus-visible,
#signInBtn:focus,
#signUpBtn:focus{
  outline:none !important;
  box-shadow:0 0 0 2px rgba(16,185,129,.35) !important;
}

/* =========================================================
   McKenzieCMS v71.4.6 - Login Scroll and Action Bar Cleanup
   Fixes the black band behind Sign In / Create Account and removes
   nested scroll boxes on the login/register card.
   ========================================================= */
.auth-screen{
  min-height:100vh !important;
  height:auto !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding-top:24px !important;
  padding-bottom:44px !important;
  align-items:flex-start !important;
  place-items:start center !important;
}
.auth-shell{
  margin-top:0 !important;
  margin-bottom:0 !important;
  align-items:start !important;
}
.auth-card{
  max-height:none !important;
  overflow:visible !important;
  padding-bottom:30px !important;
}
.automation-signup-options{
  max-height:none !important;
  overflow:visible !important;
}
.auth-card .actions,
.auth-card .auth-actions,
.auth-actions{
  position:static !important;
  bottom:auto !important;
  z-index:auto !important;
  background:#ffffff !important;
  background-image:none !important;
  box-shadow:none !important;
  border-top:0 !important;
  padding:0 !important;
  padding-top:0 !important;
  margin-top:16px !important;
}
html[data-theme="dark"] .auth-card .actions,
html[data-theme="dark"] .auth-card .auth-actions,
html[data-theme="dark"] .auth-actions{
  background:transparent !important;
  background-image:none !important;
}
#signInBtn,
#signUpBtn,
.auth-actions button{
  border:1px solid #10b981 !important;
  outline:0 !important;
  box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
#signInBtn.primary{
  border-color:#047857 !important;
}
#signInBtn:focus-visible,
#signUpBtn:focus-visible,
.auth-actions button:focus-visible{
  outline:2px solid rgba(16,185,129,.45) !important;
  outline-offset:2px !important;
  box-shadow:none !important;
}

/* =========================================================
   McKenzieCMS v71.4.8 - Login Layout Containment Fix
   No page scrolling on login, no nested login scrollbars, no dashboard overlap.
   ========================================================= */
#authScreen.hidden,
.auth-screen.hidden{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}
#appShell.hidden,
.app-shell.hidden{display:none !important;}
body.app-digital-theme:has(#authScreen:not(.hidden)){
  height:100vh !important;
  min-height:100vh !important;
  overflow:hidden !important;
}
body.app-digital-theme:has(#appShell:not(.hidden)){
  height:100vh !important;
  overflow:hidden !important;
}
body.app-digital-theme .auth-screen:not(.hidden),
.auth-screen:not(.hidden){
  height:100vh !important;
  min-height:100vh !important;
  max-height:100vh !important;
  overflow:hidden !important;
  overflow-y:hidden !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:12px 18px !important;
  box-sizing:border-box !important;
}
body.app-digital-theme .auth-screen > .public-launch-nav,
.auth-screen > nav.public-launch-nav{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
  flex:0 0 auto !important;
  width:min(1120px, calc(100vw - 36px)) !important;
  margin:0 auto 10px !important;
  padding:10px 18px !important;
  min-height:52px !important;
  z-index:5 !important;
}
.auth-shell{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:calc(100vh - 86px) !important;
  max-height:calc(100vh - 86px) !important;
  align-items:stretch !important;
  overflow:hidden !important;
}
.auth-info-panel,
.auth-card{
  min-height:0 !important;
  max-height:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.auth-info-panel{padding:22px !important;}
.auth-info-panel h2{font-size:clamp(26px,3vw,42px) !important;line-height:1.05 !important;}
.auth-info-panel p{font-size:14px !important;line-height:1.35 !important;}
.auth-card{padding:16px 20px !important;}
.auth-card .auth-logo{display:none !important;}
.auth-card h1{font-size:26px !important;margin:0 0 4px !important;}
.auth-subtitle{font-size:13px !important;line-height:1.25 !important;margin:0 0 6px !important;}
.public-auth-links{display:none !important;}
.auth-guidance{padding:9px 11px !important;margin:8px 0 !important;}
.auth-guidance ol{margin:5px 0 0 18px !important;}
.auth-guidance li{margin:2px 0 !important;font-size:12.5px !important;line-height:1.25 !important;}
.auth-card .field{margin:7px 0 !important;}
.auth-card .field label{font-size:12px !important;margin-bottom:3px !important;}
.auth-card .field input{min-height:38px !important;padding:8px 10px !important;font-size:14px !important;}
.automation-signup-options{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
  max-height:none !important;
  overflow:visible !important;
  padding:9px !important;
  margin:8px 0 !important;
}
.automation-signup-options strong,
.automation-signup-options .mini{
  grid-column:1 / -1 !important;
  margin:0 !important;
}
.automation-signup-options .mini{font-size:11.5px !important;line-height:1.2 !important;}
.auth-consent{
  margin:0 !important;
  padding:8px 9px !important;
  font-size:12px !important;
  line-height:1.25 !important;
  min-height:auto !important;
}
.auth-card > .auth-consent{margin:8px 0 !important;}
.auth-card .actions,
.auth-card .auth-actions,
.auth-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:8px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
.auth-actions button,
#signInBtn,
#signUpBtn{
  min-height:40px !important;
  padding:9px 14px !important;
  border:1px solid #10b981 !important;
  outline:0 !important;
  box-shadow:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
}
.auth-support-row{margin-top:10px !important;padding-top:10px !important;}
.auth-message{margin:4px 0 0 !important;font-size:12px !important;}
@media (max-height:760px){
  .auth-shell{
    grid-template-columns:minmax(360px,480px) !important;
    justify-content:center !important;
  }
  .auth-info-panel{display:none !important;}
  .auth-card{width:min(480px,100%) !important;}
  .auth-card > .auth-guidance:not(.automation-signup-options){display:none !important;}
  .auth-subtitle{display:none !important;}
  .auth-card h1{font-size:22px !important;}
  .automation-signup-options{gap:6px !important;}
  .auth-consent{font-size:11.5px !important;padding:7px 8px !important;}
}
@media (max-width:720px){
  body.app-digital-theme .auth-screen > .public-launch-nav,
  .auth-screen > nav.public-launch-nav{
    min-height:auto !important;
    padding:8px 12px !important;
    border-radius:20px !important;
  }
  .auth-screen > nav.public-launch-nav div{gap:8px !important;}
  .auth-shell{grid-template-columns:1fr !important;width:100% !important;}
  .auth-info-panel{display:none !important;}
  .auth-card{width:100% !important;}
  .automation-signup-options{grid-template-columns:1fr !important;}
}

/* =========================================================
   McKenzieCMS v71.4.9 - Login Alignment Fix
   Centres the login/register card group without reintroducing page scrolling.
   ========================================================= */
body.app-digital-theme #authScreen:not(.hidden),
#authScreen.auth-screen:not(.hidden),
.auth-screen:not(.hidden){
  align-items:center !important;
  justify-content:flex-start !important;
  width:100vw !important;
  max-width:100vw !important;
  margin:0 !important;
  overflow:hidden !important;
}
body.app-digital-theme #authScreen:not(.hidden) > .auth-shell,
#authScreen.auth-screen:not(.hidden) > .auth-shell,
.auth-screen:not(.hidden) > .auth-shell{
  width:min(1120px, calc(100vw - 36px)) !important;
  max-width:min(1120px, calc(100vw - 36px)) !important;
  margin:0 auto !important;
  align-self:center !important;
  justify-self:center !important;
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(380px, 500px) !important;
  gap:24px !important;
  justify-content:center !important;
  box-sizing:border-box !important;
}
body.app-digital-theme #authScreen:not(.hidden) > .public-launch-nav,
#authScreen.auth-screen:not(.hidden) > nav.public-launch-nav,
.auth-screen:not(.hidden) > nav.public-launch-nav{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#authScreen:not(.hidden) .auth-info-panel,
#authScreen:not(.hidden) .auth-card{
  width:100% !important;
}
@media (max-height:760px){
  body.app-digital-theme #authScreen:not(.hidden) > .auth-shell,
  #authScreen.auth-screen:not(.hidden) > .auth-shell,
  .auth-screen:not(.hidden) > .auth-shell{
    width:min(500px, calc(100vw - 36px)) !important;
    max-width:min(500px, calc(100vw - 36px)) !important;
    grid-template-columns:1fr !important;
  }
}
@media (max-width:900px){
  body.app-digital-theme #authScreen:not(.hidden) > .auth-shell,
  #authScreen.auth-screen:not(.hidden) > .auth-shell,
  .auth-screen:not(.hidden) > .auth-shell{
    width:min(520px, calc(100vw - 28px)) !important;
    max-width:min(520px, calc(100vw - 28px)) !important;
    grid-template-columns:1fr !important;
  }
}

/* v71.5.0 Case Setup Automation Options */
.case-wizard-automation-panel{
  grid-column:1 / -1;
  border:1px solid rgba(16,185,129,.28);
  background:linear-gradient(180deg,rgba(236,253,245,.96),rgba(255,255,255,.96));
  border-radius:18px;
  padding:14px;
  margin-top:8px;
}
.case-wizard-automation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px;}
.case-wizard-automation-head strong{color:#064e3b;font-weight:900;}
.case-wizard-automation-head span{font-size:.82rem;color:#475569;max-width:620px;line-height:1.35;}
.case-wizard-automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.case-wizard-automation-option{display:flex;align-items:center;gap:10px;border:1px solid rgba(148,163,184,.38);background:#f8fafc;border-radius:12px;padding:10px 12px;font-weight:800;color:#0f172a;line-height:1.25;}
.case-wizard-automation-option input{width:16px;height:16px;accent-color:#059669;flex:0 0 auto;}
@media (max-width:760px){.case-wizard-automation-grid{grid-template-columns:1fr}.case-wizard-automation-head{display:block}.case-wizard-automation-head span{display:block;margin-top:4px}}

/* v71.5.4: Child Arrangements random Open button cleanup support */
body[data-active-section="childArrangementsCentre"] .child-intake-shell button:empty,
body[data-active-section="childArrangementsCentre"] .children-master-dashboard button:empty {
  display: none !important;
}


/* v71.6.0 Universal Action Deep Links */
.deep-link-card,
.deep-link-row {
  cursor: pointer;
}
.deep-link-card:hover,
.deep-link-row:hover {
  box-shadow: 0 14px 34px rgba(0, 84, 62, 0.14);
  transform: translateY(-1px);
}
.deep-link-card:focus,
.deep-link-row:focus {
  outline: 3px solid rgba(16, 185, 129, 0.35);
  outline-offset: 3px;
}
.deep-link-row td {
  transition: background 0.15s ease;
}
.deep-link-row:hover td {
  background: rgba(209, 250, 229, 0.35);
}


/* v71.6.1 Universal Action Deep Links visibility */
.action-linked-table .actionable-row,
.deep-link-card.actionable-row,
.next-action-item.deep-link-card,
.notification-preview-list li.deep-link-card {
  cursor: pointer !important;
}
.action-linked-table .actionable-row:hover,
.deep-link-card.actionable-row:hover,
.next-action-item.deep-link-card:hover,
.notification-preview-list li.deep-link-card:hover {
  outline: 2px solid rgba(16,185,129,.45);
  outline-offset: 2px;
}
.action-linked-table .actionable-row:focus,
.deep-link-card.actionable-row:focus,
.next-action-item.deep-link-card:focus,
.notification-preview-list li.deep-link-card:focus {
  outline: 3px solid rgba(16,185,129,.75) !important;
  outline-offset: 2px;
}
