/* ============================================================
   AuditAIKit tool pages — dark theme overlay.
   Loaded AFTER each tool's inline <style> so it wins on cascade.
   Remaps the cream/navy tokens to the dark homepage palette and
   patches the components that used --ink/--surface as fills.
   ============================================================ */
:root{
  --bg:#0A1320;
  --surface:#0E1B2E;
  --surface-alt:#15273E;
  --ink:#E7EEF7;          /* now the primary LIGHT text */
  --ink-soft:#AEBCD2;
  --ink-mute:#7E8DA8;
  --rust:#D98A5E;
  --rust-soft:#E7A985;
  --forest:#52D699;
  --amber:#F2C14E;
  --danger:#F18C7B;
  --critical:#F4A79D;
  --border:rgba(255,255,255,0.10);
  --border-soft:rgba(255,255,255,0.055);
}
html,body{background:var(--bg);color:var(--ink)}
/* light grain on dark instead of the dark navy grain */
body::before{
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.03 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")!important;
  opacity:0.5!important;
}

/* ---- dark-fill components (were var(--ink) bg + var(--surface) text) ---- */
thead,th,.heatmap-table th{background:#0b1a2e!important;color:var(--ink)!important}
.heatmap-table td:first-child{background:var(--surface-alt)!important}
.btn-primary{background:var(--rust)!important;color:#0A1320!important}
.btn-primary:hover:not(:disabled){background:var(--rust-soft)!important}
.btn-primary:disabled{background:#27374f!important;color:var(--ink-mute)!important}
.toast{background:#15273E!important;color:var(--ink)!important}
.toast.error{background:#5a2420!important}
.toast.success{background:#173a2c!important}

/* ---- dark accent borders (were solid var(--ink)) ---- */
.opinion-card{border-top-color:var(--rust)!important}
.section-header,.tabs{border-bottom-color:var(--border-strong,rgba(255,255,255,0.16))!important}

/* ---- severity tints: light pastels → translucent on dark ---- */
.heat-0{background:var(--surface)!important;color:var(--ink-mute)!important}
.heat-low,.badge.low{background:rgba(82,214,153,0.14)!important;color:var(--forest)!important;border-color:rgba(82,214,153,0.3)!important}
.heat-med,.badge.med{background:rgba(242,193,78,0.14)!important;color:var(--amber)!important}
.heat-high,.badge.high{background:rgba(241,140,123,0.16)!important;color:var(--danger)!important}
.heat-crit,.badge.critical{background:rgba(244,167,157,0.20)!important;color:#FFD9D2!important;border-color:rgba(244,167,157,0.4)!important}

/* ---- upload states (hardcoded light greens/creams) ---- */
.upload-card.has-file{background:rgba(82,214,153,0.08)!important;border-color:rgba(82,214,153,0.4)!important}
.upload-zone:hover,.upload-zone.drag-over{background:rgba(217,138,94,0.12)!important;border-color:var(--rust)!important}

/* ---- priority chips: bright bg keeps dark text ---- */
.rec-priority.critical,.rec-priority.high,.rec-priority.medium{color:#0A1320!important}

/* ---- form controls ---- */
.control-group input,.control-group select,.mapping-row select,input,select,textarea{
  background:var(--surface-alt)!important;color:var(--ink)!important;border-color:var(--border)!important
}

/* ---- legend swatches / misc fills referencing --ink ---- */
.bar-expected{opacity:0.55!important}
