/*
 * NXG Secure theme, from the Brand Book v1.0 (April 2026).
 *
 * DefectDojo's UI is built with Tailwind v4, whose utilities read these CSS
 * variables, so redefining them re-colours the whole app.
 *
 *   Cream  #F4EDE0  page, 55%      Ink    #14110C  type & structure, 30%
 *   Ochre  #C8932E  CTA, 10%       Green  #2A5D4F  verified data, 5%
 *   Support: Cream Two #EBE2D0, Cream Three #E0D5BE, Ink Two #3A352C,
 *   Ink Ghost #7A7362, Ochre Deep #9C6F1E (links/hover), Alert #B23A2F.
 *
 * Fonts (self-hosted, SIL OFL): Fraunces = voice/headlines, Inter = interface,
 * Geist Mono = data, eyebrows, code.
 */
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces-latin-opsz-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Fraunces"; src: url("../fonts/fraunces-latin-opsz-italic.woff2") format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/geist-mono-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Geist Mono"; src: url("../fonts/geist-mono-latin-500-normal.woff2") format("woff2"); font-weight: 500; font-display: swap; }

:root {
  /* Brand palette */
  --nxg-cream: #F4EDE0;
  --nxg-cream-2: #EBE2D0;
  --nxg-cream-3: #E0D5BE;
  --nxg-paper: #FBF8F1;           /* raised card surface: Cream lifted toward white */
  --nxg-ink: #14110C;
  --nxg-ink-2: #3A352C;
  --nxg-ink-ghost: #7A7362;
  --nxg-ochre: #C8932E;
  --nxg-ochre-deep: #9C6F1E;
  --nxg-green: #2A5D4F;
  --nxg-green-2: #44796A;
  --nxg-alert: #B23A2F;
  /* Text on the main colour, and on its hover shade. Recomputed per brand (saas/branding.py). */
  --nxg-on-ochre: var(--nxg-ink);
  --nxg-on-ochre-hover: var(--nxg-cream);

  --nxg-font-display: "Fraunces", Georgia, serif;
  --nxg-font-ui: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --nxg-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  /* Tailwind font tokens */
  --font-sans: var(--nxg-font-ui);
  --font-mono: var(--nxg-font-mono);

  /* Primary = Ochre (buttons, key emphasis). Ink on Ochre is the approved pairing. */
  --color-dd-primary-50: #FBF5E9;
  --color-dd-primary-100: #F5E7C9;
  --color-dd-primary-200: #EBD199;
  --color-dd-primary-300: #E0B866;
  --color-dd-primary-400: #D4A243;
  --color-dd-primary-500: #C8932E;
  --color-dd-primary-600: #C8932E;
  --color-dd-primary-700: #9C6F1E;
  --color-dd-primary-800: #7A5617;
  --color-dd-primary-900: #5C4416;
  --color-dd-on-primary: #14110C;

  --color-dd-accent: #9C6F1E;
  --color-dd-accent-hover: #7A5617;
  --color-dd-accent-dark: #5C4416;
  --color-dd-accent-light: #F5E7C9;

  /* Links / interactive = Ochre Deep on Cream ("eyebrow / link" pairing) */
  --color-dd-interactive-50: #FBF5E9;
  --color-dd-interactive-100: #F5E7C9;
  --color-dd-interactive-200: #EBD199;
  --color-dd-interactive-300: #E0B866;
  --color-dd-interactive-400: #C8932E;
  --color-dd-interactive-500: #B07F25;
  --color-dd-interactive-600: #9C6F1E;
  --color-dd-interactive-700: #9C6F1E;
  --color-dd-interactive-800: #7A5617;
  --color-dd-interactive-900: #5C4416;

  /* Surfaces and type */
  --color-frame: var(--nxg-cream);
  --color-surface: var(--nxg-paper);
  --color-surface-2: var(--nxg-cream);
  --color-surface-3: var(--nxg-cream-2);
  --color-border: var(--nxg-cream-3);
  --color-border-strong: #C8C0AF;
  --color-text: var(--nxg-ink);
  --color-text-muted: var(--nxg-ink-2);
  --color-text-faint: var(--nxg-ink-ghost);

  /* Warm neutral scale derived from the brand's cream/ink ladder */
  --color-gray-50: #FBF8F1;
  --color-gray-100: #F4EDE0;
  --color-gray-200: #EBE2D0;
  --color-gray-300: #E0D5BE;
  --color-gray-400: #C8C0AF;
  --color-gray-500: #9F947C;
  --color-gray-600: #7A7362;
  --color-gray-700: #555044;
  --color-gray-800: #3A352C;
  --color-gray-900: #14110C;
  --color-gray-950: #0B0906;

  --color-severity-critical-text: var(--nxg-alert);
  --color-badge-count: var(--nxg-alert);
  --color-badge-count-zero: var(--nxg-green);
}

html, body { font-family: var(--nxg-font-ui); color: var(--nxg-ink); }
body { background: var(--nxg-cream); }
h1, h2, .nxg-display { font-family: var(--nxg-font-display); font-weight: 800; letter-spacing: -0.02em; color: var(--nxg-ink); }
code, pre, kbd, samp, .font-mono { font-family: var(--nxg-font-mono); }
a { color: var(--nxg-ochre-deep); }
a:hover { color: var(--color-dd-primary-800); }
.nxg-eyebrow { font-family: var(--nxg-font-mono); font-size: 11px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--nxg-ochre-deep); }

/* ---- Brand lockup: mark + 1pt divider + wordmark (Inter 700 / 300) ---- */
.nxg-lockup { display: inline-flex; align-items: center; gap: .6rem; line-height: 1; white-space: nowrap; }
.nxg-lockup__mark { height: 1.15rem; width: auto; }
.nxg-lockup__divider { width: 1px; height: 1.05rem; background: currentColor; opacity: .35; }
.nxg-lockup__word { font-family: var(--nxg-font-ui); font-size: 1.15rem; letter-spacing: -0.02em; }
.nxg-lockup__strong { font-weight: 700; }
.nxg-lockup__light { font-weight: 300; letter-spacing: .005em; opacity: .56; }
.nxg-lockup--ink { color: var(--nxg-ink); }
.nxg-lockup--cream { color: var(--nxg-cream); }
.nxg-lockup--cream .nxg-lockup__light { opacity: .7; }

/* ---- App shell: Ink sidebar ("reversed lockup, preferred at night") ---- */
#dd-sidebar { background: var(--nxg-ink); color: var(--nxg-cream); border-inline-end: 0; scrollbar-color: var(--nxg-ink-2) transparent; }
#dd-sidebar .dd-logo-bar { background: var(--nxg-ink); border-bottom: 1px solid #2C2820; }
#dd-sidebar a, #dd-sidebar button { color: #E6DCC8; }
#dd-sidebar a:hover, #dd-sidebar button:hover { color: var(--nxg-cream); background: #2C2820; }
#dd-sidebar nav i.fa-solid { color: #B5AA94; }
#dd-sidebar div[x-data] > div a { color: #B5AA94; }
#dd-sidebar div[x-data] > div a:hover { color: var(--nxg-cream); }
#dd-sidebar a[aria-current="page"], #dd-sidebar a.active { color: var(--nxg-cream); box-shadow: inset 2px 0 0 var(--nxg-ochre); }
header.sticky { background: var(--nxg-cream) !important; border-color: var(--nxg-cream-3) !important; }

/* Primary actions: Ochre pill with Ink text (brand UI buttons, radius 999) */
.btn-primary, button.bg-dd-primary-600, a.bg-dd-primary-600 { border-radius: 999px; }
.btn-primary { background: var(--nxg-ochre); border-color: var(--nxg-ochre); color: var(--nxg-on-ochre); }
.btn-primary:hover, .btn-primary:focus { background: var(--nxg-ochre-deep); border-color: var(--nxg-ochre-deep); color: var(--nxg-on-ochre-hover); }

/* ---- Login: Ink stage, Cream card ---- */
body:has(.login-wrapper) { background: var(--nxg-ink); }
.login-wrapper { background: var(--nxg-ink) !important; }
.login-card { background: var(--nxg-cream) !important; border: 0 !important; border-radius: 1rem !important; box-shadow: 0 30px 80px rgba(0, 0, 0, .45) !important; }
.login-logo { display: flex; justify-content: center; }
.login-logo .nxg-lockup__mark { height: 1.6rem; }
.login-logo .nxg-lockup__word { font-size: 1.6rem; }
.login-title { font-family: var(--nxg-font-display) !important; font-weight: 800 !important; letter-spacing: -0.02em; }
.login-card button[type=submit], .login-card input[type=submit] { background: var(--nxg-ochre) !important; color: var(--nxg-on-ochre) !important; border-radius: 999px !important; border: 0 !important; font-weight: 600; }
.login-card button[type=submit]:hover, .login-card input[type=submit]:hover { background: var(--nxg-ochre-deep) !important; color: var(--nxg-on-ochre-hover) !important; }

/* ---- Connect page (saas/templates/saas/connect.html) ---- */
.saas-connect { max-width: 56rem; margin: 0 auto; padding: 1.5rem 0 3rem; }
.saas-page-header h1 { font-family: var(--nxg-font-display); font-size: 2.25rem; font-weight: 800; letter-spacing: -0.025em; line-height: 1.15; margin: .25rem 0 .5rem; color: var(--nxg-ink); }
.saas-page-header p, .saas-muted { color: var(--color-text-muted); }
.saas-steps { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: 1.25rem; }
.saas-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: .75rem; padding: 1.5rem; }
.saas-card h2 { font-family: var(--nxg-font-ui); letter-spacing: -0.01em;  font-size: 1.125rem; font-weight: 600; margin: 0 0 .5rem; display: flex; align-items: center; gap: .6rem; }
.saas-step { display: inline-grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 999px; background: var(--color-dd-primary-600); color: var(--color-dd-on-primary); font-size: .875rem; }
.saas-kv { display: grid; grid-template-columns: max-content 1fr; gap: .5rem 1rem; margin: 1rem 0; align-items: center; }
.saas-kv dt { font-weight: 600; color: var(--color-text-muted); }
.saas-kv dd { margin: 0; display: flex; gap: .75rem; align-items: center; flex-wrap: wrap; }
.saas-card code { color: var(--color-text); font-size: .85rem; background: var(--color-surface-3); padding: .15rem .4rem; border-radius: .25rem; word-break: break-all; }
.saas-card pre { background: var(--nxg-ink); color: var(--nxg-cream); padding: 1rem; border-radius: .5rem; overflow-x: auto; margin: .5rem 0 0; }
.saas-card pre code { background: none; color: inherit; padding: 0; word-break: normal; }
.saas-card details { margin-top: .75rem; }
.saas-card summary { cursor: pointer; font-weight: 600; }
.saas-inline { display: inline; }
.saas-link { background: none; border: 0; padding: 0; color: var(--color-dd-interactive-700); cursor: pointer; text-decoration: underline; }
.saas-status { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1rem; }
.saas-status li { border: 1px solid var(--color-border); border-radius: 999px; padding: .2rem .75rem; font-size: .8rem; color: var(--color-text-muted); }
.saas-status li.is-on { border-color: var(--nxg-green); color: var(--nxg-cream); background: var(--nxg-green); }
.saas-form fieldset { border: 0; border-top: 1px solid var(--color-border); padding: 1rem 0 .25rem; margin: 0; }
.saas-form legend { font-weight: 600; padding-right: .5rem; }
.saas-field { display: grid; gap: .25rem; margin-bottom: .75rem; }
.saas-field label { font-weight: 500; font-size: .9rem; }
.saas-field input, .saas-field select { font-family: var(--nxg-font-ui); }
.saas-check input[type=checkbox] { width: 1.1rem; height: 1.1rem; accent-color: var(--nxg-ink); }
.saas-field input:not([type=checkbox]):not([type=radio]) { border: 1px solid var(--color-border-strong); border-radius: .375rem; padding: .45rem .6rem; width: 100%; max-width: 36rem; background: var(--nxg-paper); }
.saas-field small { color: var(--color-text-faint); }
.saas-form ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .35rem; }
.saas-form ul label { display: flex; gap: .5rem; align-items: center; font-weight: 400; }
.saas-error { color: var(--nxg-alert); font-size: .875rem; }
.saas-actions { display: flex; gap: .75rem; padding-top: 1rem; flex-wrap: wrap; }
.saas-button { display: inline-block; background: var(--nxg-ochre); color: var(--nxg-on-ochre); border: 0; border-radius: 999px; padding: .55rem 1.25rem; font-weight: 600; cursor: pointer; text-decoration: none; }
.saas-button:hover { background: var(--nxg-ochre-deep); color: var(--nxg-on-ochre-hover); }
.saas-button-secondary { background: transparent; color: var(--nxg-ink); border: 1px solid var(--nxg-ink); }
.saas-button-secondary:hover { background: var(--nxg-ink); color: var(--nxg-cream); }

/* ---- Integrations page (ingest/templates/ingest/integrations.html) ---- */
.saas-connect > .saas-card + .saas-card, .saas-connect > section { margin-top: 1.25rem; }
.saas-highlight { border-color: var(--nxg-ochre); background: var(--nxg-cream-2); }
.saas-card h3 { font-size: 1rem; font-weight: 600; margin: 1.25rem 0 .5rem; }
.saas-howto { padding-left: 1.25rem; display: grid; gap: .35rem; list-style: decimal; }
.saas-table-wrap { overflow-x: auto; }
.saas-table { width: 100%; border-collapse: collapse; font-size: .875rem; }
.saas-table th, .saas-table td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.saas-table th { color: var(--color-text-muted); font-weight: 600; }
.saas-delivery { font-size: .75rem; white-space: nowrap; color: var(--color-text-muted); }
.saas-delivery.is-processed { color: var(--nxg-green); }
.saas-delivery.is-failed { color: var(--nxg-alert); }
.saas-actions-cell { white-space: nowrap; }
.saas-actions-cell form + form { margin-left: .75rem; }
.saas-danger { color: var(--nxg-alert); }
.saas-field select { border: 1px solid var(--color-border-strong); border-radius: .375rem; padding: .45rem .6rem; max-width: 36rem; background: var(--nxg-paper); }

/* ---- Access & two-factor pages (platform/access/templates) ---- */
.saas-wide { max-width: 72rem; }
.nxg-mono { font-family: var(--nxg-font-mono); font-size: .8rem; }
.nxg-pill { display: inline-block; font-family: var(--nxg-font-mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; padding: .15rem .55rem; border-radius: 999px; border: 1px solid var(--nxg-ink); color: var(--nxg-ink); }
.nxg-pill--ink { background: var(--nxg-ink); color: var(--nxg-cream); }
.nxg-pill--green { background: var(--nxg-green); border-color: var(--nxg-green); color: var(--nxg-cream); }
.nxg-role-row { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; margin-bottom: .25rem; }
.nxg-role-legend { display: grid; grid-template-columns: max-content 1fr; gap: .35rem 1rem; margin-top: 1.25rem; font-size: .875rem; }
.nxg-role-legend dt { font-weight: 700; }
.nxg-role-legend dd { margin: 0; color: var(--nxg-ink-2); }
.saas-check label { display: flex; gap: .5rem; align-items: center; font-weight: 500; }
.saas-check input { width: auto; }
.nxg-event--login_failed td, .nxg-event--mfa_failed td { color: var(--nxg-ochre-deep); }
.nxg-event--login_locked td { color: var(--nxg-alert); font-weight: 600; }

/* Sign-in gate (second factor, recovery codes): same stage as the login page */
body:has(.nxg-gate) { background: var(--nxg-ink); }
.nxg-gate { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; background: var(--nxg-ink); }
.nxg-gate__card { width: 100%; max-width: 30rem; background: var(--nxg-cream); border-radius: 1rem; padding: 2rem; box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.nxg-gate__logo { display: flex; justify-content: center; margin-bottom: 1.5rem; }
.nxg-gate h1 { font-size: 1.9rem; margin: .25rem 0 .5rem; }
.nxg-qr { display: flex; justify-content: center; margin: 1rem 0; }
.nxg-qr svg { width: 220px; height: 220px; }
.nxg-secret { letter-spacing: .08em; word-break: break-all; }
.nxg-codes { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; margin: 1rem 0 1.5rem; }
.nxg-codes code { display: block; text-align: center; padding: .4rem; background: var(--nxg-cream-2); border-radius: .375rem; font-family: var(--nxg-font-mono); }

/* Standalone sign-in gate: form basics without the app stylesheet */
.nxg-gate .saas-form { margin-top: 1rem; }
.nxg-gate .saas-field input { box-sizing: border-box; font-size: 1.1rem; letter-spacing: .15em; }
.nxg-gate .saas-actions { display: flex; gap: .75rem; padding-top: 1rem; }
.nxg-gate .saas-muted { color: var(--nxg-ink-2); line-height: 1.5; }
.nxg-gate .saas-howto { padding-left: 1.25rem; line-height: 1.6; }
.nxg-gate a.saas-button { text-decoration: none; }

/* ---- Custom brand (MSSP or customer logo instead of the NXG lockup) ---- */
.nxg-lockup__logo { height: 1.6rem; width: auto; max-width: 11rem; object-fit: contain; }
.nxg-lockup--cream .nxg-lockup__logo { background: var(--nxg-cream); border-radius: .3rem; padding: .15rem .35rem; }
.login-logo .nxg-lockup__logo, .nxg-gate__logo .nxg-lockup__logo { height: 2.75rem; max-width: 16rem; }
.nxg-lockup__name { font-family: var(--nxg-font-ui); font-weight: 700; font-size: 1.15rem; letter-spacing: -0.01em; }
.nxg-support-banner { background: var(--nxg-alert); color: #fff; text-align: center; font-size: .85rem; padding: .35rem 1rem; }
@media (min-width: 1024px) { .nxg-support-banner { padding-left: 15rem; } }
.nxg-support-banner a { color: #fff; text-decoration: underline; }
.nxg-swatch { display: inline-block; width: 1.1rem; height: 1.1rem; border-radius: .25rem; border: 1px solid var(--color-border-strong); vertical-align: middle; }
.nxg-logo-preview { max-height: 3rem; max-width: 14rem; background: var(--nxg-paper); border: 1px solid var(--color-border); border-radius: .375rem; padding: .35rem; }

/* ---- Master console (saas/templates/saas/console) ---- */
.nxg-console { display: grid; grid-template-columns: 15rem 1fr; min-height: 100vh; }
.nxg-console__side { background: var(--nxg-ink); color: var(--nxg-cream); padding: 1.25rem 1rem; display: flex; flex-direction: column; gap: 1.5rem; }
.nxg-console__side nav { display: grid; gap: .15rem; }
.nxg-console__side nav a { color: #E6DCC8; text-decoration: none; padding: .45rem .6rem; border-radius: .375rem; font-size: .925rem; }
.nxg-console__side nav a:hover, .nxg-console__side nav a.is-active { background: #2C2820; color: var(--nxg-cream); }
.nxg-console__side nav a.is-active { box-shadow: inset 2px 0 0 var(--nxg-ochre); }
.nxg-console__who { margin-top: auto; font-size: .8rem; color: #B5AA94; line-height: 1.5; }
.nxg-console__who a { color: #E6DCC8; }
.nxg-console__main { padding: 2rem 2.5rem 3rem; max-width: 76rem; }
.nxg-console__main h1 { font-size: 2rem; margin: .25rem 0 1rem; }
.nxg-console__main .saas-card + .saas-card { margin-top: 1.25rem; }
.nxg-console .saas-field input:not([type=checkbox]):not([type=radio]), .nxg-console .saas-field select { box-sizing: border-box; }
.nxg-flash { padding: .6rem 1rem; border-radius: .5rem; margin-bottom: 1rem; background: var(--nxg-cream-2); border: 1px solid var(--color-border); }
.nxg-flash--error { border-color: var(--nxg-alert); color: var(--nxg-alert); }
.nxg-flash--success { border-color: var(--nxg-green); }
.nxg-stat-row { display: flex; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.25rem; }
.nxg-stat { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: .75rem; padding: .85rem 1.1rem; min-width: 9rem; }
.nxg-stat b { display: block; font-family: var(--nxg-font-display); font-size: 1.6rem; }
.nxg-stat span { font-size: .8rem; color: var(--color-text-muted); }
.nxg-secret-box { background: var(--nxg-ink); color: var(--nxg-cream); border-radius: .5rem; padding: 1rem; font-family: var(--nxg-font-mono); font-size: .85rem; word-break: break-all; }
.nxg-secret-box dt { color: #B5AA94; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; margin-top: .6rem; }
.nxg-secret-box dt:first-child { margin-top: 0; }
.nxg-secret-box dd { margin: .15rem 0 0; }
@media (max-width: 800px) { .nxg-console { grid-template-columns: 1fr; } .nxg-console__main { padding: 1.25rem 1rem 2rem; } }
.nxg-event--support_access td { color: var(--nxg-alert); font-weight: 600; }

/* ------------------------------------------------------------------ dashboard: triage funnel + readiness checklist */
.nxg-funnel { list-style: none; margin: 0 auto; padding: 0; max-width: 40rem; }
.nxg-funnel-step { display: flex; flex-direction: column; align-items: center; }
.nxg-funnel-removed { margin: .25rem 0; font-size: .8rem; font-style: italic; color: var(--nxg-ink-2); text-align: center; }
.nxg-funnel-removed span { display: block; font-style: normal; font-size: .6rem; color: var(--nxg-ink-ghost); }
.nxg-funnel-bar {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 4.25rem; padding: .5rem 1rem 1rem; text-align: center; text-decoration: none !important;
  transition: filter .15s;
}
.nxg-funnel-bar:hover, .nxg-funnel-bar:focus-visible { filter: brightness(1.08) saturate(1.05); }
.nxg-funnel-bar:focus-visible { outline: 2px solid var(--nxg-ink); outline-offset: 2px; }
.nxg-funnel-label { font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; }
.nxg-funnel-count { font-size: 1.6rem; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; }
.nxg-funnel-share { font-size: .72rem; opacity: .85; }
.nxg-funnel-bar--todo {
  border: 2px dashed var(--nxg-cream-3); border-radius: 4px; color: var(--nxg-ink-2) !important; background: transparent;
}
.nxg-funnel-todo { font-size: .8rem; }
.nxg-queue {
  margin: 1rem auto 0; max-width: 40rem; padding: .6rem 1rem; text-align: center; font-size: .9rem;
  border: 1px solid var(--nxg-cream-3); border-radius: 6px; background: #fff;
}
.nxg-tag { display: inline-block; padding: 0 .4rem; border-radius: 999px; font-size: .7rem; font-weight: 600; }
.nxg-tag--alert { background: #FBE3E1; color: #8A1C12; }
.nxg-checklist-score { float: right; font-size: .8rem; font-weight: 600; color: var(--nxg-ink-2); }
.nxg-checklist { list-style: none; margin: 0; padding: 0; }
.nxg-checklist li { display: flex; gap: .75rem; padding: .6rem 0; border-bottom: 1px solid var(--nxg-cream-2); }
.nxg-checklist li:last-child { border-bottom: 0; }
.nxg-checklist i { margin-top: .2rem; font-size: 1.05rem; color: var(--nxg-ink-ghost); }
.nxg-checklist li.is-done i { color: #2E7D32; }
.nxg-checklist a { display: block; font-weight: 600; color: var(--nxg-ink) !important; }
.nxg-checklist small { color: var(--nxg-ink-2); }
