/* Conpledge Contracts web fonts (OFL), Latin subsets */
@font-face{font-family:'Manrope';src:url('/assets/Manrope-Variable-latin-DMgiK1wa.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/SourceSerif4-latin-BI8doA35.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:'Source Serif 4';src:url('/assets/SourceSerif4-Italic-latin-1r1IZxSf.woff2') format('woff2');font-style:italic;font-weight:200 900;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/Inter-latin-CR6-i77s.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/IBMPlexMono-Regular-latin-CMIyuRNO.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/IBMPlexMono-Medium-latin-BZBynR1o.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
/* Conpledge Contracts design tokens v1.0 — generated, do not edit by hand. */
/* Source: D:\Conpledge\Brand\identity\tokens\tokens.css */
/* Fonts: Manrope (headings), Inter (UI), IBM Plex Mono (all SIL OFL). See ../fonts/web/fonts.css */
:root {
  /* Brand palette (exact) */
  --ip-ink-navy: #0B1F3A; /* Ink Navy: Primary: wordmark, headings, nav */
  --ip-forge-teal: #1A8C8C; /* Forge Teal: Accent: 'Pen', rules, icons, focus ring; text only >= 24px / 18.66px bold */
  --ip-deep-teal: #136B6B; /* Deep Teal: Small teal text, links, accent buttons */
  --ip-seal-amber: #E0A526; /* Seal Amber: Evidence / attention accent, sparing; never text on light */
  --ip-graphite: #1F2933; /* Graphite: Body text */
  --ip-steel: #5B6675; /* Steel: Secondary text, captions */
  --ip-vellum: #F7F5F0; /* Vellum: Paper / app background */
  --ip-teal-mist: #E3F1F1; /* Teal Mist: Surface tint, table headers, selected rows */
  --ip-signal-red: #B3261E; /* Signal Red: Functional: block, error */
  --ip-verified-green: #2E7D4F; /* Verified Green: Functional: certified, pass */
  --ip-registry-blue: #2F5D9B; /* Registry Blue: info / in review (non-text icons OK on light) */
  --ip-registry-blue-on-dark: #8DB4E8;
  --ip-kiln: #A84A0E; /* Kiln: warning / awaiting signature / expiring */
  --ip-kiln-on-dark: #F29B5E;
  --ip-pewter: #7A8799; /* Pewter: neutral draft — icons/borders/dots only, never text */
  --ip-pewter-on-dark: #8C99AA;
  /* Derived UI support values */
  --ip-white: #FFFFFF; /* White: Card / input surface */
  --ip-navy-raised: #16304F; /* Navy Raised: Hover / selected surface on Ink Navy */
  --ip-teal-on-dark: #5CC2C2; /* Teal on Dark: Links and teal text on Ink Navy */
  --ip-steel-on-dark: #A9B4C2; /* Steel on Dark: Secondary text on Ink Navy */
  --ip-border-subtle: #D9DEE3; /* Border Subtle: Decorative dividers, card outlines */
  --ip-border-strong: #7B8594; /* Border Strong: Input / control boundaries (>= 3:1) */
  --ip-amber-ink: #8A5A00; /* Amber Ink: Warning / evidence TEXT on light surfaces */
  --ip-amber-wash: #FCF3DE; /* Amber Wash: Evidence / warning surface */
  --ip-green-wash: #F0F7F2; /* Green Wash: Success surface */
  --ip-red-wash: #FBEEEC; /* Red Wash: Error surface */

  /* Semantic tokens: use these in product code */
  --color-bg: var(--ip-vellum); /* App / page canvas */
  --color-surface: var(--ip-white); /* Cards, panels, inputs */
  --color-surface-tint: var(--ip-teal-mist); /* Table headers, selected rows, info callouts */
  --color-surface-inverse: var(--ip-ink-navy); /* Nav rail, header, reversed areas */
  --color-surface-inverse-raised: var(--ip-navy-raised); /* Hover / active item on navy */
  --color-text-primary: var(--ip-graphite); /* Body copy */
  --color-text-heading: var(--ip-ink-navy); /* Headings, titles */
  --color-text-secondary: var(--ip-steel); /* Meta, captions, helper text */
  --color-text-on-dark: var(--ip-white); /* Text on Ink Navy */
  --color-text-secondary-on-dark: var(--ip-steel-on-dark); /* Secondary text on Ink Navy */
  --color-link: var(--ip-deep-teal); /* Inline links (underlined) */
  --color-link-hover: var(--ip-ink-navy); /* Link hover */
  --color-link-on-dark: var(--ip-teal-on-dark); /* Links on Ink Navy */
  --color-accent: var(--ip-forge-teal); /* Rules, icons, progress, large display text */
  --color-accent-strong: var(--ip-deep-teal); /* Accent button fill (white label) */
  --color-action-primary: var(--ip-ink-navy); /* Primary button fill (white label) */
  --color-action-primary-hover: var(--ip-navy-raised); /* Primary button hover */
  --color-focus-ring: var(--ip-forge-teal); /* 2px ring, 2px offset, on light surfaces */
  --color-focus-ring-on-dark: var(--ip-seal-amber); /* 2px ring on Ink Navy */
  --color-border: var(--ip-border-subtle); /* Dividers (decorative) */
  --color-border-strong: var(--ip-border-strong); /* Inputs, checkboxes, controls */
  --color-success: var(--ip-verified-green); /* Certified / pass icon + text */
  --color-success-surface: var(--ip-green-wash); /* Success banner background */
  --color-error: var(--ip-signal-red); /* Blocked / error icon + text */
  --color-error-surface: var(--ip-red-wash); /* Error banner background */
  --color-evidence: var(--ip-seal-amber); /* Evidence marker, seal dot, attention fill (navy label) */
  --color-evidence-text: var(--ip-amber-ink); /* Evidence text on light (Seal Amber is evidence-only) */
  --color-evidence-surface: var(--ip-amber-wash); /* Evidence banner background */
  --color-warning: var(--ip-kiln);
  --color-info: var(--ip-registry-blue);
  --color-neutral: var(--ip-pewter);

  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;

  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */

  /* Document scale (print) */
  --type-doc-title: 600 26pt/32pt var(--font-serif); /* Cover / document title [Cambria 26] */
  --type-doc-h1: 600 18pt/24pt var(--font-serif); /* Heading 1 [Cambria 18] */
  --type-doc-h2: 600 15pt/20pt var(--font-serif); /* Heading 2 [Cambria 15] */
  --type-doc-h3: 600 12.5pt/17pt var(--font-sans); /* Heading 3 [Calibri 12.5 bold] */
  --type-doc-body: 400 10.5pt/15pt var(--font-sans); /* Body [Calibri 11 / 1.3] */
  --type-doc-small: 400 8.5pt/12pt var(--font-sans); /* Footnotes, footer [Calibri 8.5] */
  --type-doc-mono: 400 9pt/13pt var(--font-mono); /* Hashes, clause IDs [Consolas 9] */

  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
  --focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-focus-ring);
  --shadow-card: 0 1px 2px rgba(11,31,58,.06), 0 1px 1px rgba(11,31,58,.04);
}

/* Usage restrictions (from the contrast audit):
   - --ip-forge-teal text only at >= 24px regular or >= 18.66px bold (4.06:1 on white, 3.73:1 on Vellum, 3.50:1 on Teal Mist).
   - --ip-seal-amber is never text on light surfaces (2.19:1 on white). As a fill, label it with Ink Navy (7.54:1).
   - --ip-verified-green small text: OK on white (5.05), Vellum (4.63), Green Wash (4.63); NOT on Teal Mist (4.35) — use Graphite text + green icon there.
   - --ip-steel, --ip-deep-teal and --ip-graphite are not for text on Ink Navy; use the *-on-dark tokens.
*/
.ip-type-display{font:var(--type-display);letter-spacing:var(--type-display-tracking)}
.ip-type-h1{font:var(--type-h1);letter-spacing:var(--type-h1-tracking)}
.ip-type-h2{font:var(--type-h2);letter-spacing:var(--type-h2-tracking)}
.ip-type-h3{font:var(--type-h3)}
.ip-type-body{font:var(--type-body);letter-spacing:var(--type-body-tracking)}
.ip-type-mono{font:var(--type-mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}
/* All Conpledge Contracts themes. Default applies at :root; switch with <html data-theme="contracts-dark"> etc. */
/* Conpledge Contracts - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
:root, html[data-ui-theme='contracts'] {
  color-scheme: light;
  --color-bg: #F7F5F0;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #F1EFE9;
  --color-surface-tint: #E3F1F1;
  --color-surface-inverse: #0B1F3A;
  --color-surface-inverse-raised: #16304F;
  --color-overlay: #0B1F3A99;
  --color-text-primary: #1F2933;
  --color-text-heading: #0B1F3A;
  --color-record-list-title-link: #0B1F3A;
  --color-text-secondary: #5B6675;
  --color-text-disabled: #7F8999;
  --color-text-on-dark: #FFFFFF;
  --color-text-secondary-on-dark: #A9B4C2;
  --color-border: #D9DEE3;
  --color-border-strong: #7B8594;
  --color-action-primary: #0B1F3A;
  --color-action-primary-hover: #16304F;
  --color-on-action-primary: #FFFFFF;
  --color-action-secondary-bg: #FFFFFF;
  --color-action-secondary-hover: #E3F1F1;
  --color-action-secondary-border: #7B8594;
  --color-action-secondary-text: #0B1F3A;
  --color-accent: #1A8C8C;
  --color-accent-strong: #136B6B;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #136B6B;
  --color-link-hover: #0B1F3A;
  --color-link-on-dark: #5CC2C2;
  --color-focus-ring: #1A8C8C;
  --color-focus-ring-on-dark: #E0A526;
  --color-success: #2E7D4F;
  --color-success-surface: #F0F7F2;
  --color-success-text: #1F5E3A;
  --color-success-border: #A9CFB7;
  --color-warning: #A84A0E;
  --color-warning-surface: #FCEEE3;
  --color-warning-text: #8A3C0B;
  --color-warning-border: #EBB894;
  --color-error: #B3261E;
  --color-error-surface: #FBEEEC;
  --color-error-text: #8C1D17;
  --color-error-border: #EBB3AE;
  --color-info: #2F5D9B;
  --color-info-surface: #EAF0F8;
  --color-info-text: #24497C;
  --color-info-border: #AFC4E2;
  --color-neutral: #7A8799;
  --color-neutral-surface: #EEF0F2;
  --color-neutral-text: #3E4753;
  --color-neutral-border: #C9CFD6;
  --color-evidence: #E0A526;
  --color-on-evidence: #0B1F3A;
  --color-evidence-surface: #FCF3DE;
  --color-evidence-text: #8A5A00;
  --color-evidence-border: #EBCB85;
  --color-nav-bg: #0B1F3A;
  --color-nav-text: #D5DCE5;
  --color-nav-text-muted: #A9B4C2;
  --color-nav-active-bg: #16304F;
  --color-nav-active-text: #FFFFFF;
  --color-nav-indicator: #5CC2C2;
  --color-nav-border: #1E3656;
  --color-header-bg: #FFFFFF;
  --color-header-text: #0B1F3A;
  --color-header-text-muted: #5B6675;
  --color-header-border: #D9DEE3;
  --color-table-header-bg: #E3F1F1;
  --color-table-header-text: #0B1F3A;
  --color-table-border: #E4E7EB;
  --color-row-hover: #F4F8F8;
  --color-row-selected: #E3F1F1;
  --color-input-bg: #FFFFFF;
  --color-input-border: #7B8594;
  --color-input-text: #1F2933;
  --color-input-placeholder: #5B6675;
  --color-input-focus-border: #1A8C8C;
  --color-chart-1: #0B1F3A;
  --color-chart-2: #1A8C8C;
  --color-chart-3: #2F5D9B;
  --color-chart-4: #E0A526;
  --color-chart-5: #7A8799;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(11,31,58,.06);
  --shadow-md: 0 4px 16px rgba(11,31,58,.10);
  --shadow-card: 0 1px 2px rgba(11,31,58,.06);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-reversed";
  --logo-header: "conpledge-contracts-horizontal-color";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
}

/* Conpledge Contracts Dark - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-dark'] {
  color-scheme: dark;
  --color-bg: #0D1626;
  --color-surface: #132033;
  --color-surface-raised: #1A2A40;
  --color-surface-subtle: #101B2C;
  --color-surface-tint: #15303A;
  --color-surface-inverse: #0A1220;
  --color-surface-inverse-raised: #1A2A40;
  --color-overlay: #000000B3;
  --color-text-primary: #DDE3EA;
  --color-text-heading: #F2F4F7;
  --color-record-list-title-link: #F2F4F7;
  --color-text-secondary: #A3AFBE;
  --color-text-disabled: #6B7787;
  --color-text-on-dark: #F2F4F7;
  --color-text-secondary-on-dark: #A3AFBE;
  --color-border: #26364C;
  --color-border-strong: #6C7B90;
  --color-action-primary: #5CC2C2;
  --color-action-primary-hover: #7DD1D1;
  --color-on-action-primary: #0B1F3A;
  --color-action-secondary-bg: #132033;
  --color-action-secondary-hover: #1A2A40;
  --color-action-secondary-border: #6C7B90;
  --color-action-secondary-text: #E7ECF1;
  --color-accent: #5CC2C2;
  --color-accent-strong: #136B6B;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #7CCFCF;
  --color-link-hover: #B5E6E6;
  --color-link-on-dark: #7CCFCF;
  --color-focus-ring: #E0A526;
  --color-focus-ring-on-dark: #E0A526;
  --color-success: #63BE8A;
  --color-success-surface: #143022;
  --color-success-text: #A8E0BE;
  --color-success-border: #2F6B48;
  --color-warning: #F29B5E;
  --color-warning-surface: #38220F;
  --color-warning-text: #F7C9A6;
  --color-warning-border: #7A4520;
  --color-error: #F28B82;
  --color-error-surface: #3A1715;
  --color-error-text: #F9C0BA;
  --color-error-border: #7D3530;
  --color-info: #8DB4E8;
  --color-info-surface: #162B47;
  --color-info-text: #C3D7F2;
  --color-info-border: #34557F;
  --color-neutral: #8C99AA;
  --color-neutral-surface: #222F43;
  --color-neutral-text: #D0D7E0;
  --color-neutral-border: #3E4D63;
  --color-evidence: #E0A526;
  --color-on-evidence: #0B1F3A;
  --color-evidence-surface: #33280F;
  --color-evidence-text: #F0C063;
  --color-evidence-border: #6E5420;
  --color-nav-bg: #0A1220;
  --color-nav-text: #C9D2DD;
  --color-nav-text-muted: #8C99AA;
  --color-nav-active-bg: #1A2A40;
  --color-nav-active-text: #FFFFFF;
  --color-nav-indicator: #5CC2C2;
  --color-nav-border: #1C2A3E;
  --color-header-bg: #101B2C;
  --color-header-text: #F2F4F7;
  --color-header-text-muted: #A3AFBE;
  --color-header-border: #22324A;
  --color-table-header-bg: #182739;
  --color-table-header-text: #C9D2DD;
  --color-table-border: #223247;
  --color-row-hover: #192A3E;
  --color-row-selected: #15303A;
  --color-input-bg: #0F1A2B;
  --color-input-border: #6C7B90;
  --color-input-text: #E7ECF1;
  --color-input-placeholder: #8C99AA;
  --color-input-focus-border: #5CC2C2;
  --color-chart-1: #C9D6E8;
  --color-chart-2: #5CC2C2;
  --color-chart-3: #8DB4E8;
  --color-chart-4: #E0A526;
  --color-chart-5: #8C99AA;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.40);
  --shadow-md: 0 6px 20px rgba(0,0,0,.45);
  --shadow-card: 0 1px 2px rgba(0,0,0,.40);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-reversed";
  --logo-header: "conpledge-contracts-horizontal-reversed";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
}

/* Conpledge Contracts High Contrast - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-high-contrast'] {
  color-scheme: light;
  --color-bg: #FFFFFF;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #F2F4F6;
  --color-surface-tint: #E6F0F0;
  --color-surface-inverse: #0B1F3A;
  --color-surface-inverse-raised: #16304F;
  --color-overlay: #000000CC;
  --color-text-primary: #111418;
  --color-text-heading: #0B1F3A;
  --color-record-list-title-link: #0B1F3A;
  --color-text-secondary: #3D4550;
  --color-text-disabled: #646C78;
  --color-text-on-dark: #FFFFFF;
  --color-text-secondary-on-dark: #D5DCE5;
  --color-border: #5B6675;
  --color-border-strong: #111418;
  --color-action-primary: #0B1F3A;
  --color-action-primary-hover: #000000;
  --color-on-action-primary: #FFFFFF;
  --color-action-secondary-bg: #FFFFFF;
  --color-action-secondary-hover: #E6EAEE;
  --color-action-secondary-border: #0B1F3A;
  --color-action-secondary-text: #0B1F3A;
  --color-accent: #0E5454;
  --color-accent-strong: #0E5454;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #0E5454;
  --color-link-hover: #000000;
  --color-link-on-dark: #5CC2C2;
  --color-focus-ring: #0E5454;
  --color-focus-ring-on-dark: #E0A526;
  --color-success: #1B5E37;
  --color-success-surface: #E6F2EA;
  --color-success-text: #0F4226;
  --color-success-border: #1B5E37;
  --color-warning: #8A3A0A;
  --color-warning-surface: #FBEADC;
  --color-warning-text: #692B06;
  --color-warning-border: #8A3A0A;
  --color-error: #8C1D17;
  --color-error-surface: #FBE9E7;
  --color-error-text: #741711;
  --color-error-border: #8C1D17;
  --color-info: #1F4A82;
  --color-info-surface: #E6EEF8;
  --color-info-text: #183C6B;
  --color-info-border: #1F4A82;
  --color-neutral: #3D4550;
  --color-neutral-surface: #ECEEF1;
  --color-neutral-text: #22282F;
  --color-neutral-border: #3D4550;
  --color-evidence: #E0A526;
  --color-on-evidence: #000000;
  --color-evidence-surface: #FCF1D6;
  --color-evidence-text: #5E3E00;
  --color-evidence-border: #5E3E00;
  --color-nav-bg: #FFFFFF;
  --color-nav-text: #111418;
  --color-nav-text-muted: #3D4550;
  --color-nav-active-bg: #0B1F3A;
  --color-nav-active-text: #FFFFFF;
  --color-nav-indicator: #8A5A00;
  --color-nav-border: #111418;
  --color-header-bg: #FFFFFF;
  --color-header-text: #0B1F3A;
  --color-header-text-muted: #3D4550;
  --color-header-border: #111418;
  --color-table-header-bg: #0B1F3A;
  --color-table-header-text: #FFFFFF;
  --color-table-border: #5B6675;
  --color-row-hover: #EEF1F4;
  --color-row-selected: #E6F0F0;
  --color-input-bg: #FFFFFF;
  --color-input-border: #111418;
  --color-input-text: #111418;
  --color-input-placeholder: #3D4550;
  --color-input-focus-border: #0E5454;
  --color-chart-1: #0B1F3A;
  --color-chart-2: #0E5454;
  --color-chart-3: #1F4A82;
  --color-chart-4: #8A5A00;
  --color-chart-5: #3D4550;
  --border-width: 2px;
  --focus-width: 3px;
  --focus-offset: 2px;
  --shadow-sm: none;
  --shadow-md: none;
  --shadow-card: none;
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-black";
  --logo-header: "conpledge-contracts-horizontal-black";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
}

/* Conpledge Contracts Counsel - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-counsel'] {
  color-scheme: light;
  --color-bg: #F4F5F7;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #EEF0F3;
  --color-surface-tint: #E8ECF1;
  --color-surface-inverse: #1F2933;
  --color-surface-inverse-raised: #353F4B;
  --color-overlay: #1F293399;
  --color-text-primary: #1F2933;
  --color-text-heading: #1F2933;
  --color-record-list-title-link: #1F2933;
  --color-text-secondary: #5B6675;
  --color-text-disabled: #7F8999;
  --color-text-on-dark: #FFFFFF;
  --color-text-secondary-on-dark: #B8C1CC;
  --color-border: #DCE0E5;
  --color-border-strong: #7B8594;
  --color-action-primary: #1F2933;
  --color-action-primary-hover: #353F4B;
  --color-on-action-primary: #FFFFFF;
  --color-action-secondary-bg: #FFFFFF;
  --color-action-secondary-hover: #EEF0F3;
  --color-action-secondary-border: #7B8594;
  --color-action-secondary-text: #1F2933;
  --color-accent: #1F2933;
  --color-accent-strong: #3E4753;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #24548F;
  --color-link-hover: #1F2933;
  --color-link-on-dark: #9CC0EE;
  --color-focus-ring: #2F5D9B;
  --color-focus-ring-on-dark: #E0A526;
  --color-success: #2E7D4F;
  --color-success-surface: #F0F7F2;
  --color-success-text: #1F5E3A;
  --color-success-border: #A9CFB7;
  --color-warning: #A84A0E;
  --color-warning-surface: #FCEEE3;
  --color-warning-text: #8A3C0B;
  --color-warning-border: #EBB894;
  --color-error: #B3261E;
  --color-error-surface: #FBEEEC;
  --color-error-text: #8C1D17;
  --color-error-border: #EBB3AE;
  --color-info: #2F5D9B;
  --color-info-surface: #EAF0F8;
  --color-info-text: #24497C;
  --color-info-border: #AFC4E2;
  --color-neutral: #7A8799;
  --color-neutral-surface: #EEF0F2;
  --color-neutral-text: #3E4753;
  --color-neutral-border: #C9CFD6;
  --color-evidence: #E0A526;
  --color-on-evidence: #1F2933;
  --color-evidence-surface: #FCF3DE;
  --color-evidence-text: #8A5A00;
  --color-evidence-border: #EBCB85;
  --color-nav-bg: #FFFFFF;
  --color-nav-text: #1F2933;
  --color-nav-text-muted: #5B6675;
  --color-nav-active-bg: #EEF0F3;
  --color-nav-active-text: #1F2933;
  --color-nav-indicator: #1F2933;
  --color-nav-border: #DCE0E5;
  --color-header-bg: #FFFFFF;
  --color-header-text: #1F2933;
  --color-header-text-muted: #5B6675;
  --color-header-border: #DCE0E5;
  --color-table-header-bg: #EEF0F3;
  --color-table-header-text: #1F2933;
  --color-table-border: #E4E7EB;
  --color-row-hover: #F6F7F9;
  --color-row-selected: #E8ECF1;
  --color-input-bg: #FFFFFF;
  --color-input-border: #7B8594;
  --color-input-text: #1F2933;
  --color-input-placeholder: #5B6675;
  --color-input-focus-border: #2F5D9B;
  --color-chart-1: #1F2933;
  --color-chart-2: #2F5D9B;
  --color-chart-3: #1A8C8C;
  --color-chart-4: #E0A526;
  --color-chart-5: #7A8799;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(31,41,51,.06);
  --shadow-md: 0 4px 16px rgba(31,41,51,.10);
  --shadow-card: 0 1px 2px rgba(31,41,51,.06);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-color";
  --logo-header: "conpledge-contracts-horizontal-color";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;
}
/* Plum - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-plum'] {
  color-scheme: light;
  --color-bg: #F8F6F7;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #F2EEF1;
  --color-surface-tint: #F3E9F0;
  --color-surface-inverse: #3E1E3C;
  --color-surface-inverse-raised: #55304F;
  --color-overlay: #2A122999;
  --color-text-primary: #1F2933;
  --color-text-heading: #3E1E3C;
  --color-record-list-title-link: #3E1E3C;
  --color-text-secondary: #5B6675;
  --color-text-disabled: #7F8999;
  --color-text-on-dark: #FFFFFF;
  --color-text-secondary-on-dark: #D4BFD0;
  --color-border: #E2DAE0;
  --color-border-strong: #7E7383;
  --color-action-primary: #6B2D5C;
  --color-action-primary-hover: #55234A;
  --color-on-action-primary: #FFFFFF;
  --color-action-secondary-bg: #FFFFFF;
  --color-action-secondary-hover: #F3E9F0;
  --color-action-secondary-border: #7E7383;
  --color-action-secondary-text: #3E1E3C;
  --color-accent: #B05C8A;
  --color-accent-strong: #883F7C;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #7A3368;
  --color-link-hover: #3E1E3C;
  --color-link-on-dark: #E8B8D8;
  --color-focus-ring: #883F7C;
  --color-focus-ring-on-dark: #F5D0E6;
  --color-success: #2E7D4F;
  --color-success-surface: #F0F7F2;
  --color-success-text: #1F5E3A;
  --color-success-border: #A9CFB7;
  --color-warning: #A84A0E;
  --color-warning-surface: #FCEEE3;
  --color-warning-text: #8A3C0B;
  --color-warning-border: #EBB894;
  --color-error: #B3261E;
  --color-error-surface: #FBEEEC;
  --color-error-text: #8C1D17;
  --color-error-border: #EBB3AE;
  --color-info: #2F5D9B;
  --color-info-surface: #EAF0F8;
  --color-info-text: #24497C;
  --color-info-border: #AFC4E2;
  --color-neutral: #7A8799;
  --color-neutral-surface: #EEF0F2;
  --color-neutral-text: #3E4753;
  --color-neutral-border: #C9CFD6;
  --color-evidence: #E0A526;
  --color-on-evidence: #0B1F3A;
  --color-evidence-surface: #FCF3DE;
  --color-evidence-text: #8A5A00;
  --color-evidence-border: #EBCB85;
  --color-nav-bg: #3E1E3C;
  --color-nav-text: #EADDE7;
  --color-nav-text-muted: #C9B3C4;
  --color-nav-active-bg: #55304F;
  --color-nav-active-text: #FFFFFF;
  --color-nav-indicator: #E3A6CB;
  --color-nav-border: #4E2A4B;
  --color-header-bg: #FFFFFF;
  --color-header-text: #3E1E3C;
  --color-header-text-muted: #5B6675;
  --color-header-border: #E2DAE0;
  --color-table-header-bg: #F3E9F0;
  --color-table-header-text: #3E1E3C;
  --color-table-border: #ECE5EA;
  --color-row-hover: #FAF6F9;
  --color-row-selected: #F3E9F0;
  --color-input-bg: #FFFFFF;
  --color-input-border: #7E7383;
  --color-input-text: #1F2933;
  --color-input-placeholder: #5B6675;
  --color-input-focus-border: #883F7C;
  --color-chart-1: #3E1E3C;
  --color-chart-2: #B05C8A;
  --color-chart-3: #2F5D9B;
  --color-chart-4: #1A8C8C;
  --color-chart-5: #7A8799;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(62,30,60,.06);
  --shadow-md: 0 4px 16px rgba(62,30,60,.10);
  --shadow-card: 0 1px 2px rgba(62,30,60,.06);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-reversed";
  --logo-header: "conpledge-contracts-horizontal-color";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;

}

/* Aubergine - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-aubergine'] {
  color-scheme: dark;
  --color-bg: #160D17;
  --color-surface: #1E1320;
  --color-surface-raised: #281A2A;
  --color-surface-subtle: #1A101B;
  --color-surface-tint: #2E1A2C;
  --color-surface-inverse: #120A13;
  --color-surface-inverse-raised: #2A1A2B;
  --color-overlay: #000000B3;
  --color-text-primary: #E8DFE6;
  --color-text-heading: #F6F1F5;
  --color-record-list-title-link: #F6F1F5;
  --color-text-secondary: #B9A9B6;
  --color-text-disabled: #786A77;
  --color-text-on-dark: #F6F1F5;
  --color-text-secondary-on-dark: #B9A9B6;
  --color-border: #3A2A3A;
  --color-border-strong: #85738A;
  --color-action-primary: #E3A6CB;
  --color-action-primary-hover: #EDBDDA;
  --color-on-action-primary: #2A1229;
  --color-action-secondary-bg: #1E1320;
  --color-action-secondary-hover: #281A2A;
  --color-action-secondary-border: #85738A;
  --color-action-secondary-text: #F0E8EE;
  --color-accent: #E3A6CB;
  --color-accent-strong: #883F7C;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #F0B8DA;
  --color-link-hover: #F9DDEE;
  --color-link-on-dark: #F0B8DA;
  --color-focus-ring: #F5D0E6;
  --color-focus-ring-on-dark: #F5D0E6;
  --color-success: #63BE8A;
  --color-success-surface: #143022;
  --color-success-text: #A8E0BE;
  --color-success-border: #2F6B48;
  --color-warning: #F29B5E;
  --color-warning-surface: #38220F;
  --color-warning-text: #F7C9A6;
  --color-warning-border: #7A4520;
  --color-error: #F28B82;
  --color-error-surface: #3A1715;
  --color-error-text: #F9C0BA;
  --color-error-border: #7D3530;
  --color-info: #8DB4E8;
  --color-info-surface: #162B47;
  --color-info-text: #C3D7F2;
  --color-info-border: #34557F;
  --color-neutral: #8C99AA;
  --color-neutral-surface: #222F43;
  --color-neutral-text: #D0D7E0;
  --color-neutral-border: #3E4D63;
  --color-evidence: #E0A526;
  --color-on-evidence: #0B1F3A;
  --color-evidence-surface: #33280F;
  --color-evidence-text: #F0C063;
  --color-evidence-border: #6E5420;
  --color-nav-bg: #120A13;
  --color-nav-text: #D9CCD6;
  --color-nav-text-muted: #A08F9D;
  --color-nav-active-bg: #2A1A2B;
  --color-nav-active-text: #FFFFFF;
  --color-nav-indicator: #E3A6CB;
  --color-nav-border: #2A1C2B;
  --color-header-bg: #1A101B;
  --color-header-text: #F6F1F5;
  --color-header-text-muted: #B9A9B6;
  --color-header-border: #2E1F2F;
  --color-table-header-bg: #241626;
  --color-table-header-text: #D9CCD6;
  --color-table-border: #2E1F2F;
  --color-row-hover: #241827;
  --color-row-selected: #2E1A2C;
  --color-input-bg: #170E18;
  --color-input-border: #85738A;
  --color-input-text: #F0E8EE;
  --color-input-placeholder: #A08F9D;
  --color-input-focus-border: #E3A6CB;
  --color-chart-1: #EAD7E5;
  --color-chart-2: #E3A6CB;
  --color-chart-3: #8DB4E8;
  --color-chart-4: #5CC2C2;
  --color-chart-5: #8C99AA;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.40);
  --shadow-md: 0 6px 20px rgba(0,0,0,.45);
  --shadow-card: 0 1px 2px rgba(0,0,0,.40);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-reversed";
  --logo-header: "conpledge-contracts-horizontal-reversed";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;

}

/* Heather - Conpledge Contracts Theme Standard v1.0. Generated by themes/src/build_tokens.py; do not edit by hand.
   Semantic names follow identity/tokens/tokens.css (--color-*); scales are copied verbatim from it. */
html[data-ui-theme='contracts-heather'] {
  color-scheme: light;
  --color-bg: #F7F2F5;
  --color-surface: #FFFFFF;
  --color-surface-raised: #FFFFFF;
  --color-surface-subtle: #F1EAEF;
  --color-surface-tint: #EFE3EC;
  --color-surface-inverse: #4A2747;
  --color-surface-inverse-raised: #5F3A5B;
  --color-overlay: #2A122999;
  --color-text-primary: #2A2230;
  --color-text-heading: #4A2747;
  --color-record-list-title-link: #4A2747;
  --color-text-secondary: #645A66;
  --color-text-disabled: #857C88;
  --color-text-on-dark: #FFFFFF;
  --color-text-secondary-on-dark: #DCC8D8;
  --color-border: #E6DBE3;
  --color-border-strong: #847889;
  --color-action-primary: #4A2747;
  --color-action-primary-hover: #3A1C38;
  --color-on-action-primary: #FFFFFF;
  --color-action-secondary-bg: #FFFFFF;
  --color-action-secondary-hover: #EFE3EC;
  --color-action-secondary-border: #847889;
  --color-action-secondary-text: #4A2747;
  --color-accent: #A85A86;
  --color-accent-strong: #883F7C;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #7A3368;
  --color-link-hover: #4A2747;
  --color-link-on-dark: #F0C2DD;
  --color-focus-ring: #883F7C;
  --color-focus-ring-on-dark: #F5D0E6;
  --color-success: #2E7D4F;
  --color-success-surface: #F0F7F2;
  --color-success-text: #1F5E3A;
  --color-success-border: #A9CFB7;
  --color-warning: #A84A0E;
  --color-warning-surface: #FCEEE3;
  --color-warning-text: #8A3C0B;
  --color-warning-border: #EBB894;
  --color-error: #B3261E;
  --color-error-surface: #FBEEEC;
  --color-error-text: #8C1D17;
  --color-error-border: #EBB3AE;
  --color-info: #2F5D9B;
  --color-info-surface: #EAF0F8;
  --color-info-text: #24497C;
  --color-info-border: #AFC4E2;
  --color-neutral: #7A8799;
  --color-neutral-surface: #EEF0F2;
  --color-neutral-text: #3E4753;
  --color-neutral-border: #C9CFD6;
  --color-evidence: #E0A526;
  --color-on-evidence: #0B1F3A;
  --color-evidence-surface: #FCF3DE;
  --color-evidence-text: #8A5A00;
  --color-evidence-border: #EBCB85;
  --color-nav-bg: #FBF7FA;
  --color-nav-text: #2A2230;
  --color-nav-text-muted: #645A66;
  --color-nav-active-bg: #EFE3EC;
  --color-nav-active-text: #4A2747;
  --color-nav-indicator: #A85A86;
  --color-nav-border: #E6DBE3;
  --color-header-bg: #FFFFFF;
  --color-header-text: #4A2747;
  --color-header-text-muted: #645A66;
  --color-header-border: #E6DBE3;
  --color-table-header-bg: #F3EAF0;
  --color-table-header-text: #4A2747;
  --color-table-border: #EEE5EB;
  --color-row-hover: #FBF7FA;
  --color-row-selected: #EFE3EC;
  --color-input-bg: #FFFFFF;
  --color-input-border: #847889;
  --color-input-text: #2A2230;
  --color-input-placeholder: #645A66;
  --color-input-focus-border: #883F7C;
  --color-chart-1: #4A2747;
  --color-chart-2: #A85A86;
  --color-chart-3: #2F5D9B;
  --color-chart-4: #1A8C8C;
  --color-chart-5: #7A8799;
  --border-width: 1px;
  --focus-width: 2px;
  --focus-offset: 2px;
  --shadow-sm: 0 1px 2px rgba(74,39,71,.05);
  --shadow-md: 0 4px 16px rgba(74,39,71,.08);
  --shadow-card: 0 1px 2px rgba(74,39,71,.05);
  --focus-ring: 0 0 0 var(--focus-offset) var(--color-surface), 0 0 0 calc(var(--focus-offset) + var(--focus-width)) var(--color-focus-ring);
  --logo-nav: "conpledge-contracts-horizontal-color";
  --logo-header: "conpledge-contracts-horizontal-color";
  /* Type families */
  --font-serif: 'Manrope', Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-sans: Inter, Calibri, 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  --font-mono: 'IBM Plex Mono', Consolas, 'SFMono-Regular', Menlo, monospace;
  /* Web type scale: size / line-height / weight / tracking */
  --type-display: 600 3rem/3.5rem var(--font-serif); --type-display-tracking: -0.015em; /* 48/56px — Marketing hero, login headline */
  --type-h1: 600 2.438rem/3rem var(--font-serif); --type-h1-tracking: -0.01em; /* 39/48px — Page title (editorial) */
  --type-h2: 600 1.938rem/2.5rem var(--font-serif); --type-h2-tracking: -0.005em; /* 31/40px — Section title */
  --type-h3: 600 1.562rem/2rem var(--font-serif); --type-h3-tracking: 0em; /* 25/32px — Card / panel title */
  --type-h4: 600 1.25rem/1.75rem var(--font-sans); --type-h4-tracking: -0.01em; /* 20/28px — UI group title */
  --type-body-lg: 400 1.125rem/1.75rem var(--font-sans); --type-body-lg-tracking: -0.01em; /* 18/28px — Lead paragraph */
  --type-body: 400 1rem/1.5rem var(--font-sans); --type-body-tracking: -0.006em; /* 16/24px — Default body / form text */
  --type-ui: 500 0.875rem/1.25rem var(--font-sans); --type-ui-tracking: 0em; /* 14/20px — Nav, buttons, table cells */
  --type-caption: 500 0.75rem/1rem var(--font-sans); --type-caption-tracking: 0.01em; /* 12/16px — Meta, timestamps, helper text */
  --type-overline: 600 0.75rem/1rem var(--font-sans); --type-overline-tracking: 0.08em; /* 12/16px — Section labels (uppercase, sparing) */
  --type-mono: 400 0.8125rem/1.25rem var(--font-mono); --type-mono-tracking: 0em; /* 13/20px — Proof Ledger hashes, IDs, build stamps */
  /* Space (4px base) and radius */
  --space-0: 0px; --space-1: 2px; --space-2: 4px; --space-3: 8px; --space-4: 12px; --space-5: 16px; --space-6: 24px; --space-7: 32px; --space-8: 40px; --space-9: 48px; --space-10: 64px; --space-11: 80px;
  --radius-sm: 4px; --radius-md: 6px; --radius-lg: 10px; --radius-pill: 999px;

}
/* Platform brand kits — Default (v1) and Orange (v2). Active on html[data-brand-kit]. */

/* —— Default (v1): navy primary, teal accent —— */
html[data-brand-kit='v1'][data-ui-theme='contracts'] {
  --color-action-primary: #0B1F3A;
  --color-action-primary-hover: #16304F;
  --color-on-action-primary: #FFFFFF;
  --color-accent: #1A8C8C;
  --color-accent-strong: #136B6B;
  --color-link: #136B6B;
  --color-link-hover: #0B1F3A;
  --color-link-on-dark: #5CC2C2;
  --color-focus-ring: #1A8C8C;
  --color-nav-bg: #0B1F3A;
  --color-nav-active-bg: #16304F;
  --color-nav-indicator: #5CC2C2;
  --color-surface-tint: #E3F1F1;
  --color-input-focus-border: #1A8C8C;
  --color-chart-2: #1A8C8C;
}

html[data-brand-kit='v1'][data-ui-theme='contracts-dark'] {
  --color-action-primary: #5CC2C2;
  --color-action-primary-hover: #7CCFCF;
  --color-nav-indicator: #5CC2C2;
  --color-accent: #5CC2C2;
  --color-link: #7CCFCF;
  --color-chart-2: #5CC2C2;
}

html[data-brand-kit='v1'][data-ui-theme='contracts-high-contrast'] {
  --color-action-primary: #0B1F3A;
  --color-accent: #0E5454;
  --color-link: #0E5454;
  --color-nav-indicator: #0E5454;
  --color-chart-2: #0E5454;
}

/* —— Orange (v2): violet primary, vivid orange accent —— */
html[data-brand-kit='v2'][data-ui-theme='contracts'] {
  color-scheme: light;
  --color-bg: #F6F5FB;
  --color-surface-tint: #F3F0FF;
  --color-text-heading: #0E0B26;
  --color-record-list-title-link: #0E0B26;
  --color-action-primary: #5A3BF0;
  --color-action-primary-hover: #4728CC;
  --color-on-action-primary: #FFFFFF;
  --color-accent: #F97316;
  --color-accent-strong: #EA580C;
  --color-on-accent-strong: #FFFFFF;
  --color-link: #5A3BF0;
  --color-link-hover: #4728CC;
  --color-link-on-dark: #FB923C;
  --color-focus-ring: #1F55E0;
  --color-nav-bg: #0E0B26;
  --color-nav-active-bg: #1D1845;
  --color-nav-indicator: #F97316;
  --color-nav-border: #262052;
  --color-input-focus-border: #1F55E0;
  --color-chart-1: #5A3BF0;
  --color-chart-2: #F97316;
  --color-row-selected: #F3F0FF;
  --color-row-hover: #F6F5FB;
  --color-table-header-bg: #F3F0FF;
}

html[data-brand-kit='v2'][data-ui-theme='contracts-dark'] {
  --color-action-primary: #9182FF;
  --color-action-primary-hover: #B3A6FF;
  --color-on-action-primary: #0E0B26;
  --color-accent: #FB923C;
  --color-accent-strong: #F97316;
  --color-link: #B3A6FF;
  --color-link-hover: #CFC4FF;
  --color-link-on-dark: #FB923C;
  --color-focus-ring: #8FB2FF;
  --color-nav-indicator: #FB923C;
  --color-input-focus-border: #8FB2FF;
  --color-chart-2: #FB923C;
  --color-row-selected: #251E5C;
}

html[data-brand-kit='v2'][data-ui-theme='contracts-high-contrast'] {
  --color-action-primary: #3820A3;
  --color-action-primary-hover: #261673;
  --color-accent: #C2410C;
  --color-accent-strong: #9A3412;
  --color-link: #3820A3;
  --color-link-hover: #000000;
  --color-nav-indicator: #C2410C;
  --color-focus-ring: #000000;
  --color-focus-ring-on-dark: #000000;
  --focus-width: 3px;
  --color-input-focus-border: #000000;
  --color-chart-2: #C2410C;
}

/* Counsel co-brand: keep firm colour on primary chrome; v2 still uses orange nav indicator. */
html[data-brand-kit='v2'][data-ui-theme='contracts-counsel'] {
  --color-nav-indicator: #F97316;
  --color-link-on-dark: #FB923C;
}

html[data-brand-kit='v1'][data-ui-theme='contracts-counsel'] {
  --color-nav-indicator: #5CC2C2;
}
.lpod-admin-settings-hub {
  display: grid;
  grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.lpod-admin-settings-hub__main {
  min-width: 0;
}

@media (max-width: 899px) {
  .lpod-admin-settings-hub {
    grid-template-columns: 1fr;
  }

  .lpod-admin-settings-nav__list {
    max-width: none;
  }
}

.lpod-admin-settings-nav {
  margin: 0 0 1rem;
}

.lpod-admin-settings-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 16rem;
}

.lpod-admin-settings-nav__link {
  width: 100%;
  justify-content: flex-start;
  border-radius: var(--radius-md, 8px);
  font-weight: 500;
}

.lpod-admin-settings-nav__link.is-current {
  background: var(--surface-raised, var(--card));
  border-color: var(--border-strong, var(--border));
  color: var(--ink);
  font-weight: 600;
}

.lpod-admin-settings-nav__link.is-current[aria-current='page'] {
  box-shadow: inset 3px 0 0 var(--link);
}

.lpod-settings-hub {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
  gap: 1rem 1.25rem;
  margin-top: 0.5rem;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__list > li {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__link {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-content: flex-start;
  border-radius: var(--radius-md, 8px);
  font-weight: 500;
}

/* Ported from legalpod-themes.css — legacy theme variables; Conpledge Contracts brand uses data-ui-theme=conpledge */
:root {
  --ink: var(--color-text-primary);
  --surface: var(--color-bg);
  --card: var(--color-surface);
  --border: var(--color-border);
  --border-strong: var(--ip-border-strong);
  --accent: var(--color-accent-strong);
  --accent-hover: var(--color-action-primary-hover);
  --accent-soft: var(--color-surface-tint);
  --ink-muted: var(--color-text-secondary);
  --success: var(--color-success);
  --success-soft: var(--color-success-surface);
  --danger: var(--color-error);
  --danger-soft: var(--color-error-surface);
  --warning: var(--color-warning-text);
  --info: var(--color-info-text);
  --neutral: var(--color-neutral);
  --evidence: var(--color-evidence);
  --link: var(--color-link);
  --link-hover: var(--color-link-hover);
  --color-record-list-title-link: var(--color-text-heading);
  --btn-primary-bg: var(--color-action-primary);
  --btn-primary-border: var(--color-action-primary);
  --btn-primary-hover: var(--color-action-primary-hover);
  --btn-primary-text: var(--color-on-action-primary);
  --btn-accent-bg: var(--color-accent-strong);
  --btn-accent-border: var(--color-accent-strong);
  --btn-accent-hover: var(--color-action-primary);
  --btn-accent-text: var(--color-on-accent-strong);

  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 0.75rem;
  --space-lg: 1rem;
  --space-xl: 1.5rem;
  --space-2xl: 2rem;
  --space-3xl: 3rem;

  --text-xs: 0.75rem;
  --text-sm: 0.8125rem;
  --text-base: 0.9375rem;
  --text-lg: 1.0625rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;

  --radius-sm: 0.375rem;
  --radius-md: 0.625rem;
  --radius-lg: 0.875rem;
  --radius-xl: 1rem;

  --shadow-sm:
    0 1px 2px rgba(16, 24, 40, 0.05),
    0 1px 3px rgba(16, 24, 40, 0.04);
  --shadow-md: 0 8px 20px rgba(16, 24, 40, 0.08);
  --shadow-lg: 0 18px 44px rgba(16, 24, 40, 0.14);

  /* Stacking (low → high). Toasts stay below modals and the help drawer. */
  --z-sticky-chrome: 300;
  --z-popover: 400;
  --z-modal-backdrop: 1000;
  --z-toast: 1100;
  --z-overlay-panel: 1200;
  --z-modal: 1300;
  --z-help-button: 1350;
  --z-help-drawer: 1400;
  --z-global-search: 10000;
}

html[data-ui-theme='material3-dark'],
html[data-ui-theme='dark'],
html.theme-dark {
  color-scheme: dark;
  --ink: #e6e0e9;
  --surface: #141218;
  --card: #2b2930;
  --border: #49454f;
  --border-strong: #5c5863;
  --accent: #d0bcff;
  --accent-hover: #e8deff;
  --accent-soft: #332d41;
  --ink-muted: #cac4d0;
  --success: #a8d5a2;
  --success-soft: #1a2e1a;
  --danger: #f2b8b5;
  --danger-soft: #3b1a18;
  --warning: #f5d98e;
  --info: #a8c7fa;
  --link: #9ec5fe;
  --link-hover: #c5d8fc;
  --shadow-sm:
    0 1px 2px rgba(0, 0, 0, 0.35),
    0 1px 3px rgba(0, 0, 0, 0.25);
  --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 18px 44px rgba(0, 0, 0, 0.5);
}

html[data-ui-theme='material3-dark'],
html[data-ui-theme='material3-dark'] body,
html[data-ui-theme='dark'],
html[data-ui-theme='dark'] body,
html.theme-dark,
html.theme-dark body {
  background: var(--surface);
  background-attachment: initial;
}

html[data-ui-theme='pure-white'] {
  --ink: #1a1a1a;
  --surface: #ffffff;
  --card: #fafafa;
  --border: #e0e0e0;
  --accent: #1565c0;
  --ink-muted: #616161;
}

html[data-ui-theme='ocean'] {
  --ink: #0d1b2a;
  --surface: #e8f4f8;
  --card: #d6eef5;
  --border: #90caf9;
  --accent: #0277bd;
  --ink-muted: #455a64;
}

html[data-ui-theme='forest'] {
  --ink: #1b2e1b;
  --surface: #f1f8e9;
  --card: #e8f5e9;
  --border: #a5d6a7;
  --accent: #2e7d32;
  --ink-muted: #4e5d4e;
}

html[data-ui-theme='sunset'] {
  --ink: #3e2723;
  --surface: #fff8e1;
  --card: #ffecb3;
  --border: #ffcc80;
  --accent: #e65100;
  --ink-muted: #6d4c41;
}

html[data-ui-theme='slate'] {
  --ink: #263238;
  --surface: #eceff1;
  --card: #cfd8dc;
  --border: #90a4ae;
  --accent: #455a64;
  --ink-muted: #546e7a;
}

html[data-ui-theme='gray-blue'] {
  --ink: #1e293b;
  --surface: #eef2f7;
  --card: rgba(255, 255, 255, 0.78);
  --border: #b8c5d4;
  --accent: #1d4ed8;
  --ink-muted: #64748b;
  --success: #166534;
  --danger: #b91c1c;
  --warning: #b45309;
  --info: #2563eb;
}

html[data-ui-theme='gray-blue'],
html[data-ui-theme='gray-blue'] body {
  background:
    radial-gradient(ellipse 120% 80% at 0% 0%, rgba(148, 163, 184, 0.55), transparent 55%),
    radial-gradient(ellipse 90% 70% at 100% 10%, rgba(96, 165, 250, 0.45), transparent 50%),
    linear-gradient(165deg, #cbd5e1 0%, #e2e8f0 28%, #dbeafe 52%, #94a3b8 78%, #bfdbfe 100%);
  background-attachment: fixed;
}

html[data-ui-theme='gray-blue'] .lpod-sidebar {
  background: color-mix(in srgb, var(--card) 72%, transparent);
  backdrop-filter: blur(14px);
}

html[data-ui-theme='gray-blue'] .lpod-card,
html[data-ui-theme='gray-blue'] .lpod-app-header,
html[data-ui-theme='gray-blue'] .lpod-app-footer,
html[data-ui-theme='gray-blue'] .conpledge-table {
  backdrop-filter: blur(10px);
}

html[data-ui-theme='liquid-display'] {
  --ink: #0f172a;
  --surface: rgba(248, 250, 252, 0.55);
  --card: rgba(255, 255, 255, 0.42);
  --border: rgba(148, 163, 184, 0.38);
  --accent: #7c3aed;
  --ink-muted: #475569;
  --success: #059669;
  --danger: #dc2626;
  --warning: #d97706;
  --info: #0284c7;
}

html[data-ui-theme='liquid-display'],
html[data-ui-theme='liquid-display'] body {
  background:
    radial-gradient(ellipse 85% 65% at 8% 18%, rgba(56, 189, 248, 0.55), transparent 52%),
    radial-gradient(ellipse 75% 55% at 92% 12%, rgba(167, 139, 250, 0.48), transparent 48%),
    radial-gradient(ellipse 65% 75% at 48% 100%, rgba(34, 211, 238, 0.38), transparent 58%),
    linear-gradient(155deg, #e0f2fe 0%, #f5f3ff 32%, #ecfeff 62%, #ddd6fe 100%);
  background-attachment: fixed;
}

html[data-ui-theme='liquid-display'] .lpod-sidebar {
  background: color-mix(in srgb, var(--card) 68%, transparent);
  backdrop-filter: blur(22px) saturate(1.45);
  -webkit-backdrop-filter: blur(22px) saturate(1.45);
  border-right-color: color-mix(in srgb, var(--border) 70%, transparent);
}

html[data-ui-theme='liquid-display'] .lpod-card,
html[data-ui-theme='liquid-display'] .lpod-app-header,
html[data-ui-theme='liquid-display'] .lpod-app-footer,
html[data-ui-theme='liquid-display'] .conpledge-table,
html[data-ui-theme='liquid-display'] .lpod-modal-panel,
html[data-ui-theme='liquid-display'] .lpod-dialog {
  background: color-mix(in srgb, var(--card) 88%, transparent);
  backdrop-filter: blur(20px) saturate(1.35);
  -webkit-backdrop-filter: blur(20px) saturate(1.35);
  box-shadow: 0 8px 32px rgba(15, 23, 42, 0.08);
  border-color: color-mix(in srgb, var(--border) 75%, transparent);
}

html[data-ui-theme='liquid-display'] .lpod-btn {
  backdrop-filter: blur(8px);
}

html[data-ui-theme='high-contrast'] {
  --ink: #000000;
  --surface: #ffffff;
  --card: #f5f5f5;
  --border: #000000;
  --accent: #0000cc;
  --ink-muted: #333333;
}

html[data-ui-theme='material3'] {
  --ink: #1d1b20;
  --surface: #fef7ff;
  --card: #f7f2fa;
  --border: #cac4d0;
  --border-strong: #79747e;
  --accent: #6750a4;
  --accent-hover: #4f378b;
  --accent-soft: #e8def8;
  --ink-muted: #49454f;
  --success: #386a20;
  --success-soft: #ecf3e7;
  --danger: #b3261e;
  --danger-soft: #f9dedc;
  --warning: #8a5a00;
  --info: #1d4ed8;
  --link: #6750a4;
  --link-hover: #4f378b;
}

html[data-conpledge-shell='true'] {
  --ink: var(--color-text-primary);
  --surface: var(--color-bg);
  --card: var(--color-surface);
  --border: var(--color-border);
  --border-strong: var(--ip-border-strong);
  /* UI chrome accent = link violet — decorative orange stays on nav-indicator / charts only */
  --accent: var(--color-link);
  --accent-hover: var(--color-link-hover);
  --accent-soft: var(--color-neutral-surface, var(--color-surface-tint));
  --ink-muted: var(--color-text-secondary);
  --success: var(--color-success);
  --success-soft: var(--color-success-surface);
  --danger: var(--color-error);
  --danger-soft: var(--color-error-surface);
  --warning: var(--color-warning-text);
  --info: var(--color-info-text);
  --neutral: var(--color-neutral);
  --evidence: var(--color-evidence);
  --link: var(--color-link);
  --link-hover: var(--color-link-hover);
  --btn-primary-bg: var(--color-action-primary);
  --btn-primary-border: var(--color-action-primary);
  --btn-primary-hover: var(--color-action-primary-hover);
  --btn-primary-pressed: var(--color-action-primary-hover);
  --btn-primary-text: var(--color-on-action-primary);
  --btn-accent-bg: var(--color-action-primary);
  --btn-accent-border: var(--color-action-primary);
  --btn-accent-hover: var(--color-action-primary-hover);
  --btn-accent-pressed: var(--color-action-primary-hover);
  --btn-accent-text: var(--color-on-action-primary);
  --btn-outline-color: var(--color-link);
  --btn-outline-border: var(--color-border-strong);
  --btn-secondary-bg: var(--color-action-secondary-bg, var(--card));
  --btn-secondary-border: var(--color-action-secondary-border, var(--border-strong));
  --color-toast-bg: var(--color-info-surface);
  --color-toast-text: var(--color-info-text);
  --color-toast-border: var(--color-info-border);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'],
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] {
  --btn-primary-focus-ring: var(--color-surface-inverse);
}

html[data-conpledge-shell='true'],
html[data-conpledge-shell='true'] body {
  background: var(--color-bg);
  background-attachment: initial;
  color: var(--color-text-primary);
  font-family: var(--font-sans);
}

html[data-conpledge-shell='true'] h1:not(.login-brand-panel-headline),
html[data-conpledge-shell='true'] h2,
html[data-conpledge-shell='true'] h3,
html[data-conpledge-shell='true'] .lpod-page-header-title {
  color: var(--color-text-heading);
  font-family: var(--font-serif);
}

/* Login marketing panel sits on --color-surface-inverse; do not apply page heading ink */
html[data-conpledge-shell='true'] .login-brand-panel-headline {
  color: var(--color-text-on-dark);
  font-family: var(--font-serif);
}

html[data-conpledge-shell='true'] .lpod-app-header {
  background: var(--color-header-bg);
  border-bottom: var(--border-width, 1px) solid var(--color-header-border);
  box-shadow: none;
  backdrop-filter: none;
}

html[data-conpledge-shell='true'] .lpod-app-header-brand-name {
  color: var(--color-header-text);
  font-family: var(--font-serif);
  font-weight: 600;
}

html[data-conpledge-shell='true'] .lpod-app-header-title {
  color: var(--color-header-text-muted);
}

html[data-conpledge-shell='true'] .lpod-header-resources-link {
  color: var(--color-header-text-muted);
  border-color: var(--color-border);
}

html[data-conpledge-shell='true'] .lpod-header-resources-link:hover {
  color: var(--color-header-text);
  background: var(--color-row-hover);
}

html[data-conpledge-shell='true'] .lpod-sidebar {
  background: var(--color-nav-bg);
  backdrop-filter: none;
  border-right: var(--border-width, 1px) solid var(--color-nav-border);
  color: var(--color-nav-text);
  padding: 1.375rem 0.875rem 1rem;
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-brand {
  color: var(--color-nav-text);
  font-family: var(--font-serif);
  font-weight: 600;
  padding: 0.125rem 0.625rem 1.375rem;
  background: transparent;
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-sidebar-logo,
html[data-conpledge-shell='true'] .lpod-sidebar .lpod-sidebar-logo-mark {
  background: transparent;
}

html[data-conpledge-shell='true'] .lpod-sidebar-toggle {
  border-color: var(--color-nav-border);
  color: var(--color-nav-text-muted);
}

html[data-conpledge-shell='true'] .lpod-sidebar-toggle:hover {
  background: var(--color-nav-active-bg);
  color: var(--color-nav-active-text);
}

html[data-conpledge-shell='true'] .lpod-sidebar-footer {
  border-top-color: var(--color-nav-border);
}

html[data-conpledge-shell='true'] .lpod-sidebar-user {
  color: var(--color-nav-text-muted);
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-sidebar-logout.lpod-btn-outline,
html[data-conpledge-shell='true'] .lpod-sidebar .fui-Button.lpod-sidebar-logout {
  background: transparent;
  border: 1px solid var(--color-nav-border);
  color: var(--color-nav-text);
  box-shadow: none;
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-sidebar-logout.lpod-btn-outline:hover:not(:disabled),
html[data-conpledge-shell='true'] .lpod-sidebar .fui-Button.lpod-sidebar-logout:hover:not(:disabled) {
  background: var(--color-nav-active-bg);
  border-color: var(--color-border-strong);
  color: var(--color-nav-active-text);
  transform: none;
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-sidebar-logout.lpod-btn-outline:focus-visible,
html[data-conpledge-shell='true'] .lpod-sidebar .fui-Button.lpod-sidebar-logout:focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring-on-dark, var(--color-focus-ring));
  outline-offset: var(--focus-offset, 2px);
}

html[data-conpledge-shell='true'] .lpod-sidebar .lpod-brand-mark {
  background: color-mix(in srgb, var(--color-nav-text) 14%, transparent);
  color: var(--color-nav-active-text);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-tab.active,
html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] a.lpod-tab.active,
html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-tab-bar .lpod-btn.active,
html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-tab-bar .fui-Button.active,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-tab.active,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] a.lpod-tab.active,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-tab-bar .lpod-btn.active,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-tab-bar .fui-Button.active {
  color: var(--color-link);
  background: var(--color-surface-raised);
  border-color: var(--color-border-strong);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-btn-danger,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-btn-danger {
  background: var(--color-error-surface);
  color: var(--color-error-text);
  border-color: var(--color-error-border);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-btn-danger:hover:not(:disabled),
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-btn-danger:hover:not(:disabled) {
  background: color-mix(in srgb, var(--color-error) 22%, var(--color-error-surface));
  color: var(--color-error-text);
  border-color: var(--color-error);
}

html[data-conpledge-shell='true'] .lpod-btn-outline,
html[data-conpledge-shell='true'] .fui-Button.lpod-btn-outline {
  background: var(--color-action-secondary-bg, var(--card));
  border-color: var(--btn-outline-border, var(--color-border-strong));
  color: var(--btn-outline-color, var(--color-link));
  box-shadow: none;
}

html[data-conpledge-shell='true'] .lpod-btn-outline:hover:not(:disabled),
html[data-conpledge-shell='true'] .fui-Button.lpod-btn-outline:hover:not(:disabled) {
  background: var(--color-action-secondary-hover, var(--accent-soft));
  border-color: var(--color-border-strong);
  color: var(--color-link-hover);
  transform: none;
}

html[data-conpledge-shell='true'] .lpod-btn-secondary,
html[data-conpledge-shell='true'] .fui-Button.lpod-btn-secondary {
  background: var(--color-action-secondary-bg, var(--card));
  border-color: var(--color-action-secondary-border, var(--border-strong));
  color: var(--color-action-secondary-text, var(--ink));
  box-shadow: none;
}

html[data-conpledge-shell='true'] .lpod-btn-secondary:hover:not(:disabled),
html[data-conpledge-shell='true'] .fui-Button.lpod-btn-secondary:hover:not(:disabled) {
  background: var(--color-action-secondary-hover, color-mix(in srgb, var(--accent-soft) 35%, var(--card)));
  border-color: var(--color-border-strong);
  color: var(--color-text-primary, var(--ink));
  transform: none;
}

html[data-conpledge-shell='true'] .lpod-app-header .lpod-role-badge {
  border-color: var(--color-border-strong);
  background: var(--color-neutral-surface, var(--color-surface-raised, var(--card)));
  color: var(--color-text-primary);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger {
  background: var(--color-surface-raised);
  border-color: var(--color-border-strong);
  color: var(--color-header-text);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger:hover,
html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger[aria-expanded='true'],
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger:hover,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger[aria-expanded='true'],
html[data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger:hover,
html[data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger[aria-expanded='true'] {
  background: var(--color-row-hover);
  border-color: var(--color-border-strong);
  color: var(--color-header-text);
}

html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger-meta,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger-meta,
html[data-ui-theme='contracts-dark'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger-chevron,
html[data-ui-theme='contracts-aubergine'][data-conpledge-shell='true'] .lpod-app-header .lpod-user-menu-trigger-chevron {
  color: var(--color-text-secondary);
}

html[data-conpledge-shell='true'] .lpod-nav-folder-title {
  color: var(--color-nav-text-muted);
}

html[data-conpledge-shell='true'] .lpod-nav-btn {
  color: var(--color-nav-text);
  min-height: 2.5rem;
  border-radius: 0.5rem;
  font: var(--type-ui);
}

html[data-conpledge-shell='true'] .lpod-nav-btn:hover {
  background: var(--color-nav-active-bg);
  color: var(--color-nav-active-text);
}

html[data-conpledge-shell='true'] .lpod-nav-btn[aria-current='page'],
html[data-conpledge-shell='true'] .lpod-nav-btn.is-active {
  background: var(--color-nav-active-bg);
  color: var(--color-nav-active-text);
  box-shadow: inset 3px 0 0 0 var(--color-nav-indicator);
}

html[data-conpledge-shell='true'] .lpod-global-search-trigger {
  border-radius: 0.5rem;
  background: var(--color-bg);
  max-width: 28.75rem;
  height: 2.375rem;
}

html[data-conpledge-shell='true'] .lpod-card,
html[data-conpledge-shell='true'] .lpod-app-footer,
html[data-conpledge-shell='true'] .conpledge-table,
html[data-conpledge-shell='true'] .lpod-modal-panel,
html[data-conpledge-shell='true'] .lpod-dialog,
html[data-conpledge-shell='true'] .lpod-api-loading-panel {
  backdrop-filter: none;
  background: var(--color-surface);
  box-shadow: var(--shadow-card);
}

html[data-conpledge-shell='true'] .conpledge-table thead th {
  background: var(--color-table-header-bg);
  color: var(--color-table-header-text);
  font-weight: 600;
  white-space: nowrap;
}

html[data-conpledge-shell='true'] .conpledge-table tbody tr:hover {
  background: var(--color-row-hover);
}

html[data-conpledge-shell='true'] .lpod-btn {
  font: var(--type-ui);
}

html[data-conpledge-shell='true'] code,
html[data-conpledge-shell='true'] .lpod-mono,
html[data-conpledge-shell='true'] .tabular-nums {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

html[data-conpledge-shell='true'] .lpod-login-host {
  background: var(--color-bg);
}

.theme-pick {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.theme-pick-swatch {
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border) 80%, var(--ink));
  flex-shrink: 0;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.35);
}

.theme-pick-swatch[data-swatch='material3'] {
  background: linear-gradient(135deg, #6750a4, #f7f2fa);
}

.theme-pick-swatch[data-swatch='material3-dark'],
.theme-pick-swatch[data-swatch='dark'] {
  background: linear-gradient(135deg, #211f26, #d0bcff);
}

.theme-pick-swatch[data-swatch='pure-white'] {
  background: linear-gradient(135deg, #ffffff, #1565c0);
}

.theme-pick-swatch[data-swatch='ocean'] {
  background: linear-gradient(135deg, #e8f4f8, #0277bd);
}

.theme-pick-swatch[data-swatch='forest'] {
  background: linear-gradient(135deg, #e8f5e9, #2e7d32);
}

.theme-pick-swatch[data-swatch='sunset'] {
  background: linear-gradient(135deg, #ffecb3, #e65100);
}

.theme-pick-swatch[data-swatch='slate'] {
  background: linear-gradient(135deg, #eceff1, #455a64);
}

.theme-pick-swatch[data-swatch='gray-blue'] {
  background: linear-gradient(135deg, #94a3b8 0%, #60a5fa 48%, #cbd5e1 100%);
}

.theme-pick-swatch[data-swatch='liquid-display'] {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.9) 0%, rgba(167, 139, 250, 0.85) 45%, rgba(255, 255, 255, 0.75) 100%);
}

.theme-pick-swatch[data-swatch='high-contrast'] {
  background: linear-gradient(135deg, #ffffff, #0000cc);
}

.theme-pick-swatch[data-swatch='contracts'] {
  background: linear-gradient(135deg, var(--ip-ink-navy) 0%, var(--ip-deep-teal) 55%, var(--ip-vellum) 100%);
}

.theme-pick-swatch[data-swatch='contracts-dark'] {
  background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-action-primary) 55%, var(--color-nav-bg) 100%);
}

.theme-pick-swatch[data-swatch='contracts-high-contrast'] {
  background: linear-gradient(135deg, var(--ip-white) 0%, var(--ip-ink-navy) 100%);
}

.theme-pick-swatch[data-swatch='contracts-counsel'] {
  background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-action-primary) 100%);
}

.theme-pick-swatch[data-swatch='contracts-plum'] {
  background: linear-gradient(135deg, var(--color-nav-bg) 0%, var(--color-accent-strong) 55%, var(--color-bg) 100%);
}

.theme-pick-swatch[data-swatch='contracts-aubergine'] {
  background: linear-gradient(135deg, var(--color-bg) 0%, var(--color-action-primary) 55%, var(--color-nav-bg) 100%);
}

.theme-pick-swatch[data-swatch='contracts-heather'] {
  background: linear-gradient(135deg, var(--color-nav-bg) 0%, var(--color-accent) 55%, var(--color-bg) 100%);
}

html {
  --fontFamilyBase: var(--tenant-font-family, system-ui, sans-serif);
  --fontFamilyNumeric: var(--tenant-font-family, system-ui, sans-serif);
}

html,
body {
  background: var(--surface);
  background-attachment: initial;
}

body {
  margin: 0;
  font-family: var(--tenant-font-family, var(--font-sans));
  font-size: var(--text-base);
  line-height: 1.5;
  color: var(--ink);
}

.lpod-sidebar {
  background: color-mix(in srgb, var(--card) 72%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.lpod-card,
.lpod-app-header,
.lpod-app-footer,
.conpledge-table,
.lpod-modal-panel,
.lpod-dialog,
.lpod-api-loading-panel {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

a:not([class*='lpod-']) {
  color: var(--link);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}

a:not([class*='lpod-']):hover {
  color: var(--link-hover);
}

code {
  font-family: ui-monospace, 'Cascadia Code', Consolas, monospace;
  font-size: 0.875em;
  color: var(--ink-muted);
  background: color-mix(in srgb, var(--ink) 7%, var(--card));
  padding: 0.1em 0.35em;
  border-radius: var(--radius-sm);
}

.lpod-btn {
  background: var(--btn-primary-bg, var(--accent));
  border: 1px solid var(--btn-primary-border, var(--accent));
  color: var(--btn-primary-text, #fff);
  border-radius: var(--radius-md);
  min-height: 2.375rem;
  padding: 0.45rem 0.9rem;
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  font-size: var(--text-base);
  line-height: 1.25;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  box-shadow: var(--shadow-sm);
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
  min-width: unset;
  vertical-align: middle;
}

.fui-Button.lpod-btn,
.fui-Button.lpod-btn-secondary,
.fui-Button.lpod-btn-outline,
.fui-Button.lpod-btn-danger,
.fui-Button.lpod-nav-btn,
.fui-Button.lpod-text-btn {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  box-sizing: border-box;
}

.lpod-btn:hover:not(:disabled) {
  background: var(--btn-primary-hover, var(--accent-hover));
  border-color: var(--btn-primary-hover, var(--accent-hover));
  transform: translateY(-1px);
}

.lpod-btn:active:not(:disabled) {
  background: var(--btn-primary-pressed, var(--btn-primary-hover, var(--accent-hover)));
  border-color: var(--btn-primary-pressed, var(--btn-primary-hover, var(--accent-hover)));
  transform: none;
}

.lpod-btn-accent {
  background: var(--btn-accent-bg, var(--color-accent-strong));
  border: 1px solid var(--btn-accent-border, var(--color-accent-strong));
  color: var(--btn-accent-text, var(--color-on-accent-strong));
}

.lpod-btn-accent:hover:not(:disabled) {
  background: var(--btn-accent-hover, var(--btn-accent-bg, var(--color-accent-strong)));
  border-color: var(--btn-accent-hover, var(--btn-accent-bg, var(--color-accent-strong)));
  transform: translateY(-1px);
}

.lpod-btn-accent:active:not(:disabled) {
  background: var(--btn-accent-pressed, var(--btn-accent-hover, var(--btn-accent-bg)));
  border-color: var(--btn-accent-pressed, var(--btn-accent-hover, var(--btn-accent-bg)));
  transform: none;
}

.lpod-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

.lpod-btn-secondary {
  background: var(--btn-secondary-bg, var(--card));
  border: 1px solid var(--btn-secondary-border, var(--border-strong));
  color: var(--ink);
  box-shadow: var(--shadow-sm);
}

.lpod-btn-secondary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent-soft) 35%, var(--card));
  border-color: var(--border-strong);
  color: var(--ink);
  transform: none;
}

.lpod-btn-outline {
  background: var(--card);
  border: 1px solid var(--btn-outline-border, var(--accent));
  color: var(--btn-outline-color, var(--accent));
  text-decoration: none;
  box-shadow: var(--shadow-sm);
}

.lpod-btn-outline:hover:not(:disabled) {
  background: var(--accent-soft);
  border-color: var(--accent);
  color: var(--accent-hover);
  transform: none;
}

.lpod-btn-icon-mode {
  min-width: 2.375rem;
  padding-left: 0.55rem;
  padding-right: 0.55rem;
  gap: 0;
}

.lpod-btn-glyph {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.1rem;
  font-size: 1rem;
  line-height: 1;
  font-weight: 700;
}

.lpod-tab.lpod-btn-icon-mode,
.lpod-nav-btn.lpod-btn-icon-mode {
  min-width: 2.125rem;
}

.lpod-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.lpod-card-header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  padding: 0.85rem 1.25rem;
  border-bottom: 1px solid var(--border);
  font-weight: 600;
  font-size: var(--text-lg);
  color: var(--ink);
}

.lpod-card-header-title {
  flex: 1 1 auto;
  min-width: 0;
}

.lpod-card-body {
  padding: 1.25rem;
  max-width: 100%;
  min-width: 0;
}

input[type="radio"] {
  width: 1.0625rem;
  height: 1.0625rem;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--accent);
  vertical-align: middle;
  cursor: pointer;
}

input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 2.5rem;
  height: 1.375rem;
  margin: 0;
  flex-shrink: 0;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--ink-muted) 35%, var(--border));
  background-color: color-mix(in srgb, var(--ink-muted) 18%, var(--surface));
  background-image: radial-gradient(circle at 0.6875rem center, var(--card) 0, var(--card) 0.4375rem, transparent 0.45rem);
  background-repeat: no-repeat;
  cursor: pointer;
  vertical-align: middle;
  transition: background-color 0.15s ease, border-color 0.15s ease, background-image 0.15s ease;
}

input[type="checkbox"]:checked {
  background-color: var(--accent);
  border-color: var(--accent);
  background-image: radial-gradient(circle at calc(100% - 0.6875rem) center, var(--card) 0, var(--card) 0.4375rem, transparent 0.45rem);
}

input[type="checkbox"]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

input[type="checkbox"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 65%, transparent);
  outline-offset: 2px;
}

.lpod-checkbox,
.lpod-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  user-select: none;
  color: var(--ink);
}

.lpod-checkbox input[type="checkbox"],
.lpod-switch input[type="checkbox"] {
  margin: 0;
}

.lpod-checkbox-label,
.lpod-switch-label {
  font-size: var(--text-base);
  line-height: 1.4;
}

.lpod-switch-label {
  color: var(--ink);
}

.lpod-checkbox-block,
.lpod-switch-block {
  display: flex;
  width: 100%;
  margin-bottom: 0.35rem;
}

fieldset {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.35rem;
  margin: 1rem 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 0.75rem 1rem;
  min-width: 0;
}

fieldset legend {
  padding: 0 0.35rem;
  font-weight: 600;
  color: var(--ink);
}

label:has(> input[type="checkbox"]),
label:has(> input[type="radio"]) {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.record-field-input,
.lpod-card-body input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]),
.lpod-card-body textarea,
.lpod-card-body select {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--card);
  color: var(--ink);
  font: inherit;
  font-size: var(--text-base);
}

.entity-form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.75rem;
  grid-auto-rows: min-content;
  align-items: start;
}

.entity-form-row {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.75rem;
}

.entity-form-cell {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.entity-form-cell.label-left {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
}

.entity-form-cell.label-left .entity-form-label {
  flex: 0 0 9rem;
  margin: 0;
  padding-top: 0.45rem;
}

.entity-form-cell.label-left .record-field-input,
.entity-form-cell.label-left .filterable-combobox,
.entity-form-cell.label-left .record-table-field,
.entity-form-cell.label-left .record-field-bool {
  flex: 1;
  min-width: 0;
}

.entity-form-cell.label-right {
  flex-direction: row;
  align-items: flex-start;
  gap: 0.75rem;
}

.entity-form-cell.label-right .entity-form-label {
  order: 2;
  flex: 0 0 9rem;
  margin: 0;
  padding-top: 0.45rem;
  text-align: right;
}

.entity-form-cell.label-right > :not(.entity-form-label):not(.entity-form-extraction-hint) {
  order: 1;
  flex: 1;
  min-width: 0;
}

.entity-form-cell.label-right .entity-form-extraction-hint {
  order: 3;
  flex: 1 1 100%;
}

.entity-form-cell.label-bottom .entity-form-label {
  order: 2;
  margin-top: 0.15rem;
}

.entity-form-cell.label-bottom .entity-form-extraction-hint {
  order: 1;
}

.entity-form-cell.label-bottom > :not(.entity-form-label):not(.entity-form-extraction-hint) {
  order: 0;
}

.entity-form-cell.label-none .entity-form-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.entity-form-extraction-hint {
  margin-top: 0.25rem;
  padding: 0.45rem 0.65rem;
  border-left: 3px solid var(--accent, var(--color-accent-strong));
  background: color-mix(in srgb, var(--surface-elevated, #f8fafc) 88%, var(--accent, var(--color-accent-strong)) 12%);
  color: var(--ink-muted);
  font-size: var(--text-sm);
  line-height: 1.45;
}

.entity-form-extraction-hint blockquote {
  margin: 0.35rem 0 0;
  font-style: italic;
}

.entity-form-extraction-hint .extraction-confidence {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.85em;
}

.entity-form-extraction-hint.warning {
  border-left-color: var(--warning, #d97706);
  background: color-mix(in srgb, var(--surface-elevated, #fffbeb) 90%, var(--warning, #d97706) 10%);
}

.entity-form-cell--active {
  outline: 2px solid color-mix(in srgb, var(--accent, var(--color-accent-strong)) 55%, transparent);
  outline-offset: 2px;
  border-radius: 0.35rem;
}

.third-party-review-workspace.compliance-review-workspace {
  margin-top: 0.75rem;
  height: clamp(28rem, 72vh, calc(100vh - 8rem));
  min-height: 28rem;
}

.third-party-review-split.compliance-review-split > .compliance-review-document,
.third-party-review-split.compliance-review-split > .compliance-review-obligations {
  flex: 1 1 50%;
  width: 50%;
  max-width: 50%;
  min-width: 0;
}

.third-party-review-document-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 0;
  overflow: hidden;
}

.third-party-review-pdf-frame {
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
  border: 1px solid var(--border);
  border-radius: 0.35rem;
  background: var(--card);
}

.third-party-review-text-panel {
  flex: 0 0 30%;
  min-height: 6rem;
  max-height: 40%;
  margin: 0;
  padding: 0.75rem;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-word;
  font: inherit;
  font-size: var(--text-sm);
  line-height: 1.5;
  border: 1px solid var(--border);
  border-radius: 0.35rem;
  background: var(--surface-elevated, #f8fafc);
}

.third-party-review-form {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.third-party-review-form-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0.35rem;
}

.third-party-review-form .entity-form-row {
  grid-template-columns: minmax(0, 1fr);
}

.third-party-review-form .entity-form-cell {
  grid-column: 1 / -1 !important;
}

.third-party-review-form .entity-form-cell.label-left,
.third-party-review-form .entity-form-cell.label-right {
  flex-direction: column;
  align-items: stretch;
}

.third-party-review-form .entity-form-cell.label-left .entity-form-label,
.third-party-review-form .entity-form-cell.label-right .entity-form-label {
  flex: none;
  padding-top: 0;
  order: unset;
  text-align: left;
}

.third-party-review-form .entity-form-panel {
  margin-bottom: 0.75rem;
}

.third-party-review-document .compliance-review-docx-workspace {
  flex: 1;
  min-height: 0;
  overflow: auto;
}

@media (max-width: 900px) {
  .third-party-review-split.compliance-review-split > .compliance-review-document,
  .third-party-review-split.compliance-review-split > .compliance-review-obligations {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
  }

  .third-party-review-form-scroll {
    max-height: 28rem;
  }
}

.entity-form-label {
  font-size: 0.85rem;
  color: var(--ink-muted);
}

.entity-form-panel {
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  padding: 1rem;
  margin-bottom: 1rem;
  background: color-mix(in srgb, var(--card) 80%, var(--surface));
}

.entity-form-panel-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
}

.entity-form-tab-bar {
  margin-bottom: 0.75rem;
}

.entity-form-tab-bar button {
  font: inherit;
}

.entity-form-wizard-steps {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1rem;
  flex-wrap: wrap;
}

.entity-form-wizard-steps button {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--ink);
  border-radius: 0.375rem;
  padding: 0.35rem 0.65rem;
  cursor: pointer;
  font-size: 0.875rem;
}

.entity-form-wizard-steps button.active {
  background: color-mix(in srgb, var(--accent) 20%, var(--card));
  border-color: var(--accent);
}

.entity-form-wizard-steps button.done {
  border-color: color-mix(in srgb, var(--accent) 50%, var(--border));
}

.entity-form-wizard-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 999px;
  background: var(--surface);
  font-size: 0.75rem;
  font-weight: 600;
}

.entity-form-wizard-nav {
  margin-top: 1rem;
}

.record-field-bool {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.75rem;
}

.entity-form-cell.label-left:has(.record-field-bool),
.entity-form-cell.label-right:has(.record-field-bool) {
  align-items: center;
}

.entity-form-cell.label-left .record-field-bool,
.entity-form-cell.label-right .record-field-bool {
  padding-top: 0;
}

.conpledge-bool-cell {
  text-align: center;
  font-size: 1rem;
  line-height: 1;
  width: 3rem;
}

.conpledge-bool-cell--yes {
  color: var(--success);
}

.conpledge-bool-cell--no {
  color: var(--ink-muted);
}

.record-table-field {
  width: 100%;
  overflow-x: auto;
}

.record-table-editor td {
  vertical-align: top;
  min-width: 8rem;
}

.record-table-editor .record-field-input {
  width: 100%;
  min-width: 6rem;
}

.record-list-actions-cell {
  width: 6.5rem;
  min-width: 6.5rem;
  max-width: 6.5rem;
  white-space: nowrap;
  padding: 0.2rem 0.3rem !important;
  vertical-align: middle;
}

.record-list-select-cell {
  width: 2.25rem;
  min-width: 2.25rem;
}

input[type="checkbox"].record-list-checkbox {
  appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  width: 1rem;
  height: 1rem;
  margin: 0;
  flex-shrink: 0;
  border-radius: 0.1875rem;
  border: 1px solid var(--border-strong, var(--border));
  background-color: var(--surface);
  background-image: none;
  cursor: pointer;
  vertical-align: middle;
  transition: background-color 0.15s ease, border-color 0.15s ease;
}

input[type="checkbox"].record-list-checkbox::after {
  content: '';
  position: absolute;
  display: none;
  pointer-events: none;
  box-sizing: border-box;
}

input[type="checkbox"].record-list-checkbox:checked {
  border-color: var(--btn-primary-bg);
  background-color: var(--btn-primary-bg);
  background-image: none;
}

input[type="checkbox"].record-list-checkbox:checked::after {
  display: block;
  left: 50%;
  top: 46%;
  width: 0.25rem;
  height: 0.4375rem;
  border-right: 2px solid var(--btn-primary-text);
  border-bottom: 2px solid var(--btn-primary-text);
  transform: translate(-50%, -50%) rotate(45deg);
}

input[type="checkbox"].record-list-checkbox:indeterminate {
  border-color: var(--btn-primary-bg);
  background-color: var(--btn-primary-bg);
  background-image: none;
}

input[type="checkbox"].record-list-checkbox:indeterminate::after {
  display: block;
  left: 50%;
  top: 50%;
  width: 0.5rem;
  height: 2px;
  background-color: var(--btn-primary-text);
  transform: translate(-50%, -50%);
}

input[type="checkbox"].record-list-checkbox:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

input[type="checkbox"].record-list-checkbox:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 65%, transparent);
  outline-offset: 2px;
}

.record-list-title-cell {
  min-width: 10rem;
}

.record-list-title-cell-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
}

.lpod-record-title {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  border-radius: 0;
  min-height: unset;
  appearance: none;
  font: inherit;
  font-weight: 500;
  line-height: inherit;
  color: var(--color-record-list-title-link);
  text-decoration: none;
  cursor: pointer;
  vertical-align: baseline;
}

a.lpod-record-title:visited {
  color: var(--color-record-list-title-link);
}

.record-list-row.is-clickable:hover .lpod-record-title,
.record-list-row.is-clickable:focus-within .lpod-record-title,
.contract-repo-table-row:hover .lpod-record-title,
.contract-repo-table-row:focus-within .lpod-record-title,
.conpledge-table tbody tr:hover a.lpod-record-title,
.conpledge-table tbody tr:focus-within a.lpod-record-title {
  color: var(--link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.conpledge-table a.lpod-record-title:hover {
  color: var(--color-record-list-title-link);
  text-decoration: none;
}

.conpledge-table tbody tr:hover a.lpod-record-title:hover,
.conpledge-table tbody tr:focus-within a.lpod-record-title:hover {
  color: var(--link);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.lpod-record-title:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring, 0 0 0 var(--focus-offset, 2px) var(--color-surface), 0 0 0 calc(var(--focus-offset, 2px) + var(--focus-width, 2px)) var(--color-focus-ring));
}

.record-list-readonly-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--ink-muted);
  white-space: nowrap;
}

.record-list-readonly-chip svg {
  width: 0.8125rem;
  height: 0.8125rem;
  flex-shrink: 0;
}

.record-list-row.is-clickable {
  cursor: pointer;
}

.record-list-row.is-clickable:hover,
.record-list-row.is-clickable:focus-within {
  background: var(--color-row-hover);
}

.record-list-bulk-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0.75rem 0;
  padding: 0.65rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.record-list-bulk-bar-count {
  font-weight: 600;
  color: var(--ink);
  margin-right: 0.25rem;
}

.lpod-row-overflow {
  position: relative;
  display: inline-flex;
}

.lpod-row-overflow-menu {
  min-width: 9rem;
  margin: 0;
  padding: 0.35rem 0;
  list-style: none;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--card);
  box-shadow: var(--shadow-md);
}

.lpod-row-overflow-menu--portal {
  position: fixed;
  z-index: var(--z-popover);
}

.lpod-row-overflow-menu-item {
  display: block;
  width: 100%;
  padding: 0.45rem 0.75rem;
  border: none;
  background: transparent;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.lpod-row-overflow-menu-item:hover,
.lpod-row-overflow-menu-item:focus-visible {
  background: color-mix(in srgb, var(--accent-soft) 50%, var(--card));
  color: var(--accent);
  outline: none;
}

.lpod-row-overflow-menu-item.is-destructive {
  color: var(--danger);
}

.lpod-inline-error {
  margin: 0.75rem 0;
  padding: 0.85rem 1rem;
  border: 1px solid color-mix(in srgb, var(--danger) 35%, var(--border));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--danger) 8%, var(--card));
}

.lpod-inline-error-message {
  margin: 0 0 0.65rem;
  color: var(--ink);
}

.lpod-inline-error-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.lpod-inline-error-trace {
  font-size: var(--text-sm);
  color: var(--ink-muted);
}

.lpod-empty-state-secondary-action {
  margin-top: 0.35rem;
}

.record-list-actions {
  display: inline-flex;
  align-items: center;
  gap: 0;
  white-space: nowrap;
}

.lpod-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 1.5rem;
  height: 1.5rem;
  min-width: 0;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  text-decoration: none;
  line-height: 0;
  flex: 0 0 auto;
  font: inherit;
}

.lpod-icon-btn svg {
  width: 1rem;
  height: 1rem;
  display: block;
}

.lpod-icon-btn:hover {
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
  color: var(--accent);
}

.lpod-icon-btn-outline {
  border: 1px solid var(--border);
}

.lpod-icon-btn-danger {
  color: var(--danger);
}

.lpod-icon-btn-danger:hover {
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 12%, var(--card));
}

.record-list-actions .hint {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  padding: 0;
  line-height: 0;
}

.record-list-actions .hint svg {
  width: 1rem;
  height: 1rem;
}

.record-column-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 0.75rem 1rem;
  margin: 0.75rem 0;
  background: var(--surface);
}

.record-column-list {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
}

.record-column-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--border);
}

.record-list-toolbar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin: 0.75rem 0;
}

.record-saved-view-select select {
  min-width: 10rem;
  max-width: 14rem;
}

.record-saved-view-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.75rem 0;
}

.record-saved-view-manage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.record-saved-view-manage-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--lpod-border, #e5e7eb);
}

.record-list-toolbar-filters {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
  padding-right: 0.5rem;
  margin-right: 0.15rem;
  border-right: 1px solid var(--border);
}

.record-list-toolbar-filters.lpod-tab-bar {
  margin: 0 0.5rem 0 0;
  flex-shrink: 0;
}

.lpod-admin-nav {
  margin-bottom: 1rem;
}

.record-list-toolbar-start,
.record-list-toolbar-end {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.record-list-toolbar-end {
  margin-left: auto;
}

.record-list-toolbar-search {
  min-width: 12rem;
  max-width: 22rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 4px);
  background: var(--surface);
  color: var(--ink);
}

.nav-icon-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  margin-right: 0.35rem;
  font-size: 1rem;
  line-height: 1;
  color: var(--accent);
}

.button-icon-config-table input {
  width: 4rem;
  font-size: 1rem;
  text-align: center;
}

.button-icon-config-table .lpod-btn-glyph {
  margin-right: 0.5rem;
}

.button-icon-config {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem;
}

.lpod-entity-toolbar.lpod-tab-bar {
  margin-bottom: 1rem;
}

.record-status-select {
  min-width: 12rem;
  padding: 0.45rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--card);
  color: var(--ink);
  font: inherit;
}

.audit-detail-row td {
  background: color-mix(in srgb, var(--accent) 4%, var(--surface));
}

.audit-detail-panel {
  padding: 0.5rem 0;
}

.audit-detail-panel pre {
  white-space: pre-wrap;
  margin: 0.5rem 0 0;
  padding: 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--card);
  font-size: 0.85rem;
}

.record-tab-panel {
  margin-top: 0.5rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.record-tab-panel h3 {
  margin: 0 0 0.75rem;
}

.conpledge-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  overflow: hidden;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--ink) 6%, transparent);
}

.conpledge-table thead {
  position: sticky;
  top: 0;
  z-index: 1;
}

.conpledge-table th,
.conpledge-table td {
  border-bottom: 1px solid var(--border);
  padding: 0.75rem 0.9rem;
  text-align: left;
  vertical-align: middle;
}

.conpledge-table .conpledge-table-actions-col,
.conpledge-table td:last-child:has(.lpod-row-actions) {
  width: 1%;
  white-space: nowrap;
  text-align: right;
}

.conpledge-table thead th {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  color: var(--ink);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap;
}

.conpledge-table thead th:not(.record-list-select-cell):not(.conpledge-table-actions-col) {
  min-width: 6rem;
}

.record-list-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.record-list-sort-btn:hover,
.record-list-sort-btn.is-active {
  color: var(--link);
}

.record-list-sort-indicator {
  font-size: 0.85em;
  opacity: 0.85;
}

.record-list-sort-btn.is-active .record-list-sort-indicator {
  opacity: 1;
}

.record-list-hidden-columns {
  margin: 0.35rem 0 0.75rem;
}

.record-list-hidden-columns-toggle {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--link);
  font: inherit;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.record-list-hidden-columns-toggle:hover,
.record-list-hidden-columns-toggle:focus-visible {
  color: var(--accent);
}

.conpledge-table .record-list-col-title {
  min-width: 12rem;
  width: 28%;
}

.conpledge-table .record-list-col-party {
  min-width: 8rem;
  width: 16%;
}

.conpledge-table .record-list-col-status {
  min-width: 6.5rem;
  width: 10%;
}

.conpledge-table .record-list-col-value {
  min-width: 6rem;
  width: 9%;
  text-align: right;
}

.conpledge-table .record-list-col-date {
  min-width: 6.5rem;
  width: 11%;
  white-space: nowrap;
}

.conpledge-table .record-list-col-default {
  min-width: 6rem;
  width: 12%;
}

.conpledge-table tbody tr:hover {
  background: color-mix(in srgb, var(--accent) 4%, var(--card));
}

.conpledge-table tbody tr:last-child td {
  border-bottom: none;
}

.conpledge-table tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--ink) 2%, var(--card));
}

.conpledge-table tbody tr:nth-child(even):hover {
  background: color-mix(in srgb, var(--accent) 5%, var(--card));
}

.conpledge-table a:not(.lpod-record-title) {
  color: var(--link);
  font-weight: 500;
  text-decoration: none;
}

.conpledge-table a:not(.lpod-record-title):hover {
  color: var(--link-hover);
  text-decoration: underline;
}

.conpledge-table a:not(.lpod-record-title):visited {
  color: var(--link);
}

.lpod-tab-bar-wrap {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0.25rem;
  margin: 0 0 1rem;
}

.lpod-tab-bar-wrap[data-scroll-left='true']::before,
.lpod-tab-bar-wrap[data-scroll-right='true']::after {
  content: '';
  position: absolute;
  top: 0.25rem;
  bottom: 0.25rem;
  width: 1.75rem;
  pointer-events: none;
  z-index: 2;
}

.lpod-tab-bar-wrap[data-scroll-left='true']::before {
  left: 2.25rem;
  background: linear-gradient(to right, color-mix(in srgb, var(--surface) 92%, var(--card)), transparent);
}

.lpod-tab-bar-wrap[data-scroll-right='true']::after {
  right: 2.25rem;
  background: linear-gradient(to left, color-mix(in srgb, var(--surface) 92%, var(--card)), transparent);
}

.lpod-tab-bar-scroll {
  flex: 0 0 auto;
  align-self: center;
  min-width: 2rem;
  min-height: 2rem;
  padding: 0 0.35rem;
  z-index: 3;
}

.lpod-tab-bar {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.25rem;
  flex: 1 1 auto;
  min-width: 0;
  padding: 0.25rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.lpod-tab-bar::-webkit-scrollbar {
  display: none;
}

.lpod-tab-bar-item {
  flex: 0 0 auto;
}

.lpod-tab,
a.lpod-tab,
.lpod-tab-bar .lpod-btn,
.lpod-tab-bar .fui-Button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.4rem 0.85rem;
  border: 1px solid transparent;
  border-radius: calc(var(--radius-md) - 2px);
  background: transparent;
  color: var(--ink-muted);
  font: inherit;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: none;
  min-width: unset;
  transform: none;
}

.lpod-tab:hover,
a.lpod-tab:hover,
.lpod-tab-bar .lpod-btn:hover:not(:disabled),
.lpod-tab-bar .fui-Button:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent-soft) 65%, var(--card));
  color: var(--ink);
  border-color: transparent;
  transform: none;
}

.lpod-tab.active,
a.lpod-tab.active,
.lpod-tab-bar .lpod-btn.active,
.lpod-tab-bar .fui-Button.active {
  color: var(--accent);
  background: var(--card);
  border-color: var(--border);
  box-shadow: var(--shadow-sm);
  font-weight: 600;
}

.lpod-nav-settings-tabs {
  flex-wrap: wrap;
  overflow-x: visible;
  padding-bottom: 0.25rem;
  margin-bottom: 0.75rem;
}

.lpod-nav-folder-settings {
  margin-bottom: 0;
}

.lpod-nav-folder-toolbar {
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 0.75rem;
}

.lpod-nav-settings-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 1rem;
}

.word-template-editor {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 1rem;
  align-items: start;
}

.lpod-word-document-editor {
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  overflow: hidden;
  background: var(--card);
}

.lpod-word-document-editor.is-disabled {
  opacity: 0.7;
}

.lpod-word-document-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.word-template-editor-main {
  min-width: 0;
}

.word-template-editor-workspace--docx {
  padding: 1.5rem;
  background: #d6d6d6;
  min-height: 32rem;
  max-height: calc(100vh - 14rem);
  overflow: auto;
}

.word-docx-preview-host {
  display: flex;
  justify-content: center;
}

.word-docx-preview-styles {
  display: none;
}

.word-docx-preview-mount .docx-wrapper {
  margin: 0 auto;
  background: #fff;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 8px 24px rgba(0, 0, 0, 0.12);
}

.word-docx-preview-mount section.docx {
  background: #fff;
}

.word-docx-preview-mount--editable {
  cursor: text;
  outline: none;
}

.word-docx-preview-mount--editable:focus {
  box-shadow: inset 0 0 0 2px rgba(37, 99, 235, 0.35);
}

.word-template-editor-workspace {
  min-height: 32rem;
  max-height: calc(100vh - 14rem);
  overflow: auto;
  padding: 1.5rem;
  background: #d6d6d6;
}

.word-template-editor-page {
  width: 8.5in;
  min-height: 11in;
  margin: 0 auto;
  padding: 1in;
  background: #fff;
  color: #000;
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 8px 24px rgba(0, 0, 0, 0.12);
  font-family: Calibri, 'Segoe UI', Candara, Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.15;
  outline: none;
  box-sizing: border-box;
}

.word-template-editor-page:focus {
  box-shadow:
    0 1px 3px rgba(0, 0, 0, 0.12),
    0 8px 24px rgba(0, 0, 0, 0.12),
    0 0 0 2px color-mix(in srgb, var(--accent) 45%, transparent);
}

.word-template-editor-page p {
  margin: 0 0 8pt;
}

.word-template-editor-page h1 {
  margin: 12pt 0 6pt;
  font-size: 16pt;
  font-weight: 700;
  line-height: 1.2;
}

.word-template-editor-page h2 {
  margin: 10pt 0 4pt;
  font-size: 13pt;
  font-weight: 700;
  line-height: 1.2;
}

.word-template-editor-page h3 {
  margin: 8pt 0 4pt;
  font-size: 12pt;
  font-weight: 700;
  line-height: 1.2;
}

.word-template-editor-page ul,
.word-template-editor-page ol {
  margin: 0 0 8pt;
  padding-left: 0.5in;
}

.word-template-editor-page li {
  margin-bottom: 2pt;
}

.word-template-editor-page table {
  width: 100%;
  border-collapse: collapse;
  margin: 8pt 0;
  font-size: inherit;
}

.word-template-editor-page th,
.word-template-editor-page td {
  border: 1px solid #000;
  padding: 4pt 6pt;
  vertical-align: top;
  text-align: left;
}

.word-template-editor-page a {
  color: #0563c1;
  text-decoration: underline;
}

.word-template-editor-pane {
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--card);
  min-height: 28rem;
  padding: 1rem 1.25rem;
  overflow: auto;
}

.word-template-editor-sidebar {
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--surface);
  padding: 0.75rem;
  max-height: 32rem;
  overflow: auto;
}

.word-template-editor-sidebar button {
  display: block;
  width: 100%;
  text-align: left;
  margin-bottom: 0.35rem;
}

.word-template-editor-field-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.word-template-editor-field-list li {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--border);
}

.word-template-editor-field-label {
  font-size: var(--text-sm);
  color: var(--ink);
}

.word-template-editor-field-list code {
  font-size: var(--text-xs);
  color: var(--ink-muted);
}

.onlyoffice-word-editor {
  width: 100%;
  min-height: 45rem;
  display: block;
}

.onlyoffice-word-editor-mount {
  width: 100%;
  min-height: 45rem;
}

.onlyoffice-word-editor-mount iframe {
  width: 100% !important;
}

.word-template-editor--onlyoffice {
  grid-template-columns: minmax(0, 1fr) 16rem;
  align-items: stretch;
}

.word-template-editor--onlyoffice .word-template-editor-main {
  min-height: 45rem;
  display: flex;
  flex-direction: column;
}

.contract-settings-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.65rem;
  margin-bottom: 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--surface);
}

.contract-settings-toolbar .lpod-btn,
.contract-settings-toolbar .lpod-nav-btn {
  font-size: 0.875rem;
}

.contract-template-row-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.contract-template-row-toolbar .lpod-btn,
.contract-template-row-toolbar .lpod-nav-btn {
  font-size: 0.8125rem;
  padding: 0.25rem 0.55rem;
}

@media (max-width: 960px) {
  .word-template-editor {
    grid-template-columns: 1fr;
  }
}

.conpledge-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 0.5rem;
}

.conpledge-table-wrap .conpledge-table {
  margin: 0;
  width: auto;
  min-width: 100%;
}

.conpledge-table-wide {
  width: 100%;
  min-width: min(72rem, 100%);
}

.lpod-table-cell-truncate {
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conpledge-table .lpod-table-cell-truncate code {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
}

.ai-fallback-reason {
  max-width: 16rem;
  font-size: var(--text-sm);
  color: var(--ink-muted);
}

.error { color: var(--danger); }
.success { color: var(--success); }
.hint { color: var(--ink-muted); font-size: var(--text-sm); line-height: 1.45; }

.lpod-page-header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.25rem;
}

.lpod-page-header-main {
  min-width: 0;
  flex: 1 1 16rem;
}

.lpod-page-eyebrow {
  margin: 0 0 0.35rem;
  font-size: var(--text-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.lpod-page-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
}

.lpod-page-title {
  margin: 0;
  font-size: var(--text-2xl);
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.lpod-page-description {
  margin: 0.5rem 0 0;
  color: var(--ink-muted);
  font-size: var(--text-base);
  line-height: 1.5;
  max-width: 42rem;
}

.lpod-page-help {
  position: relative;
  display: inline-flex;
  flex-shrink: 0;
}

.lpod-page-help-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink-muted);
  cursor: pointer;
  line-height: 0;
}

.lpod-page-help-trigger:hover,
.lpod-page-help-trigger:focus-visible {
  color: var(--ink);
  border-color: var(--border-strong, var(--border));
  outline: 2px solid var(--focus-ring, rgba(59, 130, 246, 0.45));
  outline-offset: 1px;
}

.lpod-page-help-popover {
  position: absolute;
  z-index: 40;
  top: calc(100% + 0.35rem);
  left: 0;
  min-width: min(20rem, 85vw);
  max-width: min(28rem, 92vw);
  padding: 0.75rem 0.9rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 8px);
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  color: var(--ink-muted);
  font-size: var(--text-sm);
  line-height: 1.5;
  font-weight: 400;
  text-align: left;
}

.lpod-page-help-popover-body > *:first-child {
  margin-top: 0;
}

.lpod-page-help-popover-body > *:last-child {
  margin-bottom: 0;
}

.lpod-page-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.lpod-info-panel {
  margin: 1rem 0 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--info) 6%, var(--card));
  color: var(--ink);
  font-size: var(--text-sm);
  line-height: 1.5;
}

.lpod-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--ink);
  font-size: var(--text-sm);
  font-weight: 600;
  white-space: nowrap;
}

.lpod-status-badge::before {
  content: '';
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--ink-muted);
  flex-shrink: 0;
}

.lpod-status-badge--success {
  border-color: color-mix(in srgb, var(--success) 35%, var(--border));
  background: var(--success-soft);
  color: var(--success);
}

.lpod-status-badge--success::before {
  background: var(--success);
}

.lpod-status-badge--neutral::before {
  background: var(--ink-muted);
}

.conpledge-status-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-1) var(--space-4);
  border-radius: var(--radius-pill);
  border: var(--border-width, 1px) solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text-primary);
  font: var(--type-caption);
  font-weight: 600;
  white-space: nowrap;
}

.conpledge-status-chip__icon {
  font-size: 0.75rem;
  line-height: 1;
  color: var(--color-neutral);
}

.conpledge-status-chip--success {
  border-color: var(--color-success-border);
  background: var(--color-success-surface);
  color: var(--color-success-text);
}

.conpledge-status-chip--success .conpledge-status-chip__icon {
  color: var(--color-success);
}

.conpledge-status-chip--warning {
  border-color: var(--color-warning-border);
  background: var(--color-warning-surface);
  color: var(--color-warning-text);
}

.conpledge-status-chip--warning .conpledge-status-chip__icon {
  color: var(--color-warning);
}

.conpledge-status-chip--error {
  border-color: var(--color-error-border);
  background: var(--color-error-surface);
  color: var(--color-error-text);
}

.conpledge-status-chip--error .conpledge-status-chip__icon {
  color: var(--color-error);
}

.conpledge-status-chip--info {
  border-color: var(--color-info-border);
  background: var(--color-info-surface);
  color: var(--color-info-text);
}

.conpledge-status-chip--info .conpledge-status-chip__icon {
  color: var(--color-info);
}

.conpledge-status-chip--neutral {
  border-color: var(--color-neutral-border);
  background: var(--color-neutral-surface);
  color: var(--color-neutral-text);
}

.conpledge-status-chip--neutral .conpledge-status-chip__icon {
  color: var(--color-neutral);
}

.conpledge-status-chip--evidence {
  border-color: var(--color-evidence-border);
  background: var(--color-evidence-surface);
  color: var(--color-evidence-text);
}

.conpledge-status-chip--evidence .conpledge-status-chip__icon {
  color: var(--color-evidence);
}

html[data-ui-theme='contracts-high-contrast'] a:not(.lpod-btn):not(.lpod-nav-btn) {
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

html[data-ui-theme='contracts-counsel'] .lpod-sidebar-powered-by {
  padding: var(--space-4) var(--space-5) 0;
}

html[data-ui-theme='contracts-counsel'] .lpod-sidebar-powered-by-logo {
  display: block;
  max-width: 9rem;
  max-height: 1.25rem;
  width: 100%;
  object-fit: contain;
  opacity: 0.92;
}

.lpod-icon-flag-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card);
  color: var(--ink-muted);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.lpod-icon-flag-toggle:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
  color: var(--ink);
}

.lpod-icon-flag-toggle:disabled {
  opacity: 0.55;
  cursor: wait;
}

.lpod-icon-flag-toggle--on {
  border-color: color-mix(in srgb, var(--success) 35%, var(--border));
  background: var(--success-soft);
  color: var(--success);
}

.lpod-icon-flag-glyph {
  font-size: 0.95rem;
  line-height: 1;
}

.lpod-role-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--border-strong, var(--border)) 85%, var(--border));
  background: var(--color-neutral-surface, color-mix(in srgb, var(--accent-soft) 65%, var(--card)));
  color: var(--color-text-primary, var(--ink));
  font-size: var(--text-xs);
  font-weight: 600;
  white-space: nowrap;
}

.mfe-record,
.mfe-entity,
.mfe-user,
.mfe-tenant,
.mfe-elsa,
.mfe-contract {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.mfe-actions {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  align-items: center;
  margin: 0.75rem 0;
}

.mfe-actions > .error,
.mfe-actions > .success,
.mfe-actions > .hint {
  flex: 1 1 100%;
  margin: 0;
}

.entity-nav-actions {
  margin-top: 0.75rem;
}

.lpod-nav-btn {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 2.5rem;
  text-align: left;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  color: var(--ink);
  padding: 0.45rem 0.65rem;
  cursor: pointer;
  font: inherit;
  font-weight: 500;
  text-decoration: none;
  box-shadow: none;
}

.lpod-nav-btn:hover {
  background: color-mix(in srgb, var(--accent-soft) 70%, var(--card));
  color: var(--ink);
  opacity: 1;
  transform: none;
}

.lpod-nav-btn[aria-current="page"],
.lpod-nav-btn.is-active {
  background: var(--accent-soft);
  border-color: color-mix(in srgb, var(--accent) 25%, var(--border));
  color: var(--accent);
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--accent);
}

.lpod-text-btn {
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
  border-radius: var(--radius-md, 0.5rem);
  padding: 0.4rem 0.75rem;
  cursor: pointer;
  font: inherit;
  text-decoration: none;
}

.lpod-text-btn:hover,
.lpod-nav-btn:hover {
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
  opacity: 1;
}

.lpod-html-editor {
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.5rem);
  background: var(--card);
  overflow: hidden;
}

.lpod-html-editor.is-disabled {
  opacity: 0.7;
}

.lpod-html-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding: 0.4rem 0.5rem;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.lpod-html-editor-btn {
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  background: var(--card);
  color: var(--ink);
  padding: 0.2rem 0.45rem;
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
}

.lpod-html-editor-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
  border-color: var(--accent);
}

.lpod-html-editor-btn:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.lpod-html-editor-sep {
  width: 1px;
  height: 1.25rem;
  margin: 0 0.15rem;
  background: var(--border);
}

.lpod-html-editor-pane {
  padding: 0.75rem 1rem;
  min-height: 14rem;
  outline: none;
  overflow: auto;
  background: var(--surface);
  color: var(--ink);
}

.lpod-html-editor-pane:focus {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent);
}

.lpod-html-editor-pane ul,
.lpod-html-editor-pane ol {
  margin: 0.5rem 0;
  padding-left: 1.5rem;
}

.lpod-html-editor-pane h2 {
  margin: 0.5rem 0;
  font-size: 1.1rem;
}

.lpod-html-editor-pane a {
  color: var(--accent);
}

.mfe-form-stack label {
  display: block;
  margin-bottom: 0.75rem;
}

.mfe-form-stack fieldset {
  margin: 1rem 0;
}

.lov-admin-layout { display: grid; grid-template-columns: 16rem 1fr; gap: 1rem; min-height: 20rem; }
.lov-admin-tree, .lov-admin-detail {
  border: 1px solid var(--border);
  border-radius: 0.375rem;
  padding: 0.75rem;
  background: color-mix(in srgb, var(--card) 60%, var(--surface));
  color: var(--ink);
}
.lov-tree-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0.25rem 0.35rem;
  border-radius: 0.25rem;
  cursor: pointer;
  font: inherit;
  color: var(--ink);
}
.lov-tree-row code {
  color: var(--ink-muted);
  background: color-mix(in srgb, var(--ink) 8%, transparent);
}
.lov-tree-row-active {
  background: color-mix(in srgb, var(--accent) 14%, var(--card));
  color: var(--ink);
}
.lov-tree-row-active code {
  color: var(--ink);
}
.lov-tree-toggle, .lov-tree-label {
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
}
.lov-tree-label { flex: 1; text-align: left; }
.mfe-form-inline { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; }

.filterable-combobox { position: relative; width: 100%; }
.filterable-combobox.is-disabled { opacity: 0.7; }
.filterable-combobox-control { position: relative; display: flex; align-items: center; }
.filterable-combobox-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.4rem 2rem 0.4rem 0.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
.filterable-combobox-clear {
  position: absolute;
  right: 1.5rem;
  border: none;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0 0.25rem;
}
.filterable-combobox-chevron {
  position: absolute;
  right: 0.5rem;
  color: var(--ink-muted);
  pointer-events: none;
}
.filterable-combobox-panel {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  max-height: 14rem;
  overflow: auto;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
}
.filterable-combobox-option {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  color: var(--ink);
  padding: 0.45rem 0.6rem;
  cursor: pointer;
  font: inherit;
}
.filterable-combobox-option:hover,
.filterable-combobox-option.selected {
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
}
.multi-select-backdrop {
  position: fixed;
  inset: 0;
  z-index: 20;
}
.multi-select-panel { z-index: 30; }
.multi-select-empty {
  margin: 0.5rem 0.6rem;
  color: var(--ink-muted);
  font-size: var(--text-sm);
}

.lookup-field-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.lookup-field-actions {
  display: flex;
  gap: 0.5rem;
  align-items: flex-start;
}

.lookup-field-actions .lookup-field-control {
  flex: 1;
  min-width: 0;
}

.lookup-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.lookup-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.15rem 0.45rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--border) 55%, var(--card));
  font-size: var(--text-sm);
}

.lookup-chip-remove {
  border: none;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  padding: 0;
  line-height: 1;
  font-size: 1rem;
}

.lookup-chip-remove:hover {
  color: var(--ink);
}

.lookup-multi-picker {
  margin-top: 0.25rem;
}

.entity-fields-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem 1rem;
}

.entity-fields-grid .grid-span-2 {
  grid-column: span 2;
}

.entity-field-form {
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 1rem;
  margin-bottom: 1rem;
  background: var(--card);
}

.entity-field-form h2 {
  margin: 0 0 1rem;
  font-size: var(--text-lg);
}

.entity-field-form h3 {
  margin: 0.5rem 0;
  font-size: var(--text-base);
}

.entity-field-form .form-group label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: var(--text-sm);
}

.entity-field-form input[type='text'],
.entity-field-form input[type='number'],
.entity-field-form input[type='date'],
.entity-field-form input:not([type]),
.entity-field-form select,
.entity-field-form textarea {
  width: 100%;
  box-sizing: border-box;
}

.form-hint {
  color: var(--ink-muted);
  font-size: var(--text-sm);
  margin: 0.25rem 0;
}

.badge {
  display: inline-block;
  font-size: var(--text-xs);
  padding: 0.1rem 0.35rem;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--border) 70%, var(--card));
  margin-left: 0.35rem;
  vertical-align: middle;
}

.badge-system {
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
  color: var(--accent);
}

.badge-contract {
  background: color-mix(in srgb, var(--color-clm-accent, #1a8c8c) 20%, var(--card));
  color: var(--color-clm-accent, #1a8c8c);
}

.badge-contract-secondary {
  background: color-mix(in srgb, var(--border) 70%, var(--card));
  color: var(--text-secondary);
  margin-left: 0.35rem;
}

.entity-list-contract-col .badge {
  margin-left: 0;
}

.entity-list-contract-col .badge + .badge {
  margin-left: 0.35rem;
}

/* Focus-visible outlines for all interactive elements */
:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent);
  outline-offset: 2px;
}

.lpod-btn:focus-visible,
.lpod-btn-outline:focus-visible,
.lpod-nav-btn:focus-visible,
.lpod-text-btn:focus-visible,
.lpod-tab:focus-visible,
.lpod-html-editor-btn:focus-visible,
.lov-tree-row:focus-visible,
.lov-tree-toggle:focus-visible,
.lov-tree-label:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

html[data-conpledge-shell='true'] .lpod-btn:focus-visible {
  outline-color: var(--btn-primary-focus-ring, var(--color-focus-ring));
}

html[data-conpledge-shell='true'] .lpod-btn-accent:focus-visible {
  outline-color: var(--color-focus-ring);
}

html[data-conpledge-shell='true'] :focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring);
  outline-offset: var(--focus-offset, 2px);
}

html[data-conpledge-shell='true'] .lpod-btn:focus-visible,
html[data-conpledge-shell='true'] .lpod-btn-outline:focus-visible,
html[data-conpledge-shell='true'] .lpod-nav-btn:focus-visible,
html[data-conpledge-shell='true'] .lpod-text-btn:focus-visible,
html[data-conpledge-shell='true'] .lpod-tab:focus-visible,
html[data-conpledge-shell='true'] .lpod-html-editor-btn:focus-visible,
html[data-conpledge-shell='true'] .lov-tree-row:focus-visible,
html[data-conpledge-shell='true'] .lov-tree-toggle:focus-visible,
html[data-conpledge-shell='true'] .lov-tree-label:focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring);
  outline-offset: var(--focus-offset, 2px);
}

html[data-conpledge-shell='true'] input:focus-visible,
html[data-conpledge-shell='true'] textarea:focus-visible,
html[data-conpledge-shell='true'] select:focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring);
  outline-offset: var(--focus-offset, 1px);
  border-color: var(--color-input-focus-border, var(--color-focus-ring));
}

input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 1px;
  border-color: var(--accent);
}

/* Hover state for tree rows */
.lov-tree-row:hover {
  background: color-mix(in srgb, var(--accent) 8%, var(--card));
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Responsive breakpoints */
@media (max-width: 768px) {
  .entity-form-row {
    grid-template-columns: 1fr;
  }

  .entity-form-row .entity-form-cell {
    grid-column: 1 / -1 !important;
  }

  .entity-form-cell.label-left,
  .entity-form-cell.label-right {
    flex-direction: column;
    align-items: stretch;
  }

  .entity-form-cell.label-left .entity-form-label,
  .entity-form-cell.label-right .entity-form-label {
    flex: none;
    padding-top: 0;
    order: unset;
    text-align: left;
  }

  .lov-admin-layout {
    grid-template-columns: 1fr;
  }

  .lpod-page-header {
    gap: 0.75rem 1rem;
  }

  .lpod-page-title {
    font-size: var(--text-xl);
  }

  .lpod-card-header,
  .lpod-card-body {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .record-list-toolbar {
    align-items: stretch;
    gap: 0.65rem;
  }

  .record-list-toolbar > .lpod-nav-btn,
  .record-list-toolbar > .lpod-btn,
  .record-list-toolbar > .record-saved-view-select,
  .record-list-toolbar > details {
    flex: 1 1 auto;
  }

  .record-list-toolbar-filters {
    width: 100%;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0.5rem;
  }

  .record-list-toolbar-search {
    min-width: 0;
    max-width: none;
    width: 100%;
    flex: 1 1 12rem;
  }

  .record-list-actions-cell {
    white-space: normal;
  }

  .record-list-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    white-space: normal;
  }

  .mfe-actions {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }

  .mfe-actions > .lpod-btn,
  .mfe-actions > .lpod-nav-btn {
    flex: 0 1 auto;
  }

  .conpledge-table {
    font-size: var(--text-sm);
  }

  .conpledge-table th,
  .conpledge-table td {
    padding: 0.55rem 0.65rem;
  }
}

/* Spinner */
.lpod-spinner {
  display: inline-block;
  border: 2px solid var(--border);
  border-top-color: var(--accent);
  border-radius: 50%;
  animation: lpod-spin 0.6s linear infinite;
}
@keyframes lpod-spin { to { transform: rotate(360deg); } }

.lpod-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2rem 1rem;
  color: var(--ink-muted);
}

.lpod-loading-inline {
  flex-direction: row;
  padding: 0.75rem 0;
  justify-content: flex-start;
}

.lpod-api-loading {
  position: fixed;
  inset: 0;
  z-index: var(--z-overlay-panel);
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--surface) 55%, transparent);
  pointer-events: none;
}

.lpod-api-loading-panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card);
  box-shadow: var(--shadow-lg);
  color: var(--ink-muted);
}

/* EmptyState */
.lpod-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2.5rem 1.5rem;
  color: var(--ink-muted);
  max-width: 28rem;
  margin: 0 auto;
}

.lpod-empty-state-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin-bottom: 0.75rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-soft) 80%, var(--card));
  color: var(--accent);
  font-size: 1.25rem;
  font-weight: 700;
}

.lpod-empty-state-title {
  margin: 0 0 0.35rem;
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--ink);
}

.lpod-empty-state-description {
  margin: 0 0 1rem;
  line-height: 1.5;
}

.lpod-empty-state-action {
  margin-top: 0.25rem;
}

.lpod-row-actions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  white-space: nowrap;
}

.conpledge-table .lpod-row-actions .lpod-btn,
.conpledge-table .lpod-row-actions .lpod-nav-btn,
.conpledge-table .lpod-row-actions a.lpod-btn {
  flex-shrink: 0;
  min-height: 2rem;
  padding: 0.35rem 0.65rem;
  font-size: var(--text-sm);
}

.lpod-alert {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  line-height: 1.45;
}

.lpod-alert--error {
  border-color: color-mix(in srgb, var(--danger) 35%, var(--border));
  background: var(--danger-soft);
  color: var(--danger);
}

.lpod-alert--success {
  border-color: color-mix(in srgb, var(--success) 35%, var(--border));
  background: var(--success-soft);
  color: var(--success);
}

.lpod-alert--info {
  border-color: color-mix(in srgb, var(--info) 35%, var(--border));
  background: color-mix(in srgb, var(--info) 6%, var(--card));
  color: var(--ink);
}

.login-form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.login-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--ink);
}

.login-form input:not([type="checkbox"]):not([type="radio"]) {
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.7rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--card);
  color: var(--ink);
  font: inherit;
  font-size: var(--text-base);
}

.login-form .lpod-btn[type="submit"] {
  width: 100%;
  margin-top: 0.25rem;
}

.login-form-footer {
  margin: 0.25rem 0 0;
  font-size: var(--text-sm);
  color: var(--ink-muted);
  text-align: center;
}

.lpod-form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 1rem;
}

.lpod-settings-section {
  margin-bottom: 1.5rem;
}

.lpod-route-pending {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
}

@media (max-width: 768px) {
  .lpod-form-grid-2 {
    grid-template-columns: 1fr;
  }
}

.lpod-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}
.lpod-pagination-summary {
  font-size: var(--text-sm);
  color: var(--ink-muted);
}
.lpod-pagination-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.lpod-pagination-page {
  font-size: var(--text-sm);
  color: var(--ink-muted);
  min-width: 6rem;
  text-align: center;
}

/* Intake clause assist (F-061) */
.record-form-with-assist {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
  gap: 1.25rem;
  align-items: start;
}

.record-form-with-assist-main {
  min-width: 0;
}

.intake-assist-panel {
  position: sticky;
  top: 0.5rem;
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 8rem);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--card);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}

.intake-assist-panel-collapsed {
  position: sticky;
  top: 0.5rem;
  align-self: start;
}

.intake-assist-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--border);
}

.intake-assist-header .hint {
  margin: 0.25rem 0 0;
  font-size: var(--text-xs);
}

.intake-assist-body {
  flex: 1;
  min-height: 8rem;
  overflow-y: auto;
  padding: 0.75rem 1rem;
}

.intake-assist-footer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border);
}

.intake-assist-footer textarea {
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  min-height: 3rem;
  font: inherit;
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
}

.intake-assist-line {
  margin-bottom: 0.75rem;
  font-size: var(--text-sm);
}

.intake-assist-line-user p {
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  padding: 0.5rem 0.65rem;
  border-radius: var(--radius-md);
}

.intake-assist-citations {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: var(--text-xs);
  color: var(--ink-muted);
}

.intake-assist-proposals {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-top: 0.5rem;
}

.intake-assist-proposal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

@media (max-width: 960px) {
  .record-form-with-assist {
    grid-template-columns: 1fr;
  }

  .intake-assist-panel {
    position: static;
    max-height: none;
  }
}

/* ConfirmDialog */
.lpod-dialog-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: var(--z-modal-backdrop);
}
.lpod-modal-layer {
  z-index: var(--z-modal);
}
.lpod-dialog {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 0.5rem;
  padding: 1.5rem;
  max-width: 28rem;
  width: 90%;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 1;
  pointer-events: auto;
  max-height: min(90vh, 48rem);
  display: flex;
  flex-direction: column;
}
.lpod-dialog h3 { margin: 0; }
.lpod-confirm-dialog-message {
  margin: 0.75rem 0 0;
  color: var(--ink-muted);
  line-height: 1.5;
}
.lpod-dialog-actions { display: flex; gap: 0.5rem; justify-content: flex-end; margin-top: 1rem; }
.lpod-modal-wide {
  max-width: 36rem;
}
.lpod-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.lpod-modal-close {
  min-width: 2rem;
  padding: 0.2rem 0.5rem;
  font-size: 1.25rem;
  line-height: 1;
}
.lpod-modal-body {
  max-height: min(60vh, 28rem);
  overflow-y: auto;
}
.lpod-modal-footer {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}
.lpod-btn-danger {
  background: var(--btn-secondary-bg, var(--card));
  color: var(--danger);
  border: 1px solid var(--danger);
  box-shadow: var(--shadow-sm);
}

.lpod-btn-danger:hover:not(:disabled) {
  background: var(--danger-soft);
  border-color: var(--danger);
  color: var(--danger);
  transform: none;
}

/* Toast */
.lpod-toast {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  z-index: var(--z-toast);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
  animation: lpod-toast-in 0.2s ease-out;
}
@keyframes lpod-toast-in { from { opacity: 0; transform: translateY(0.5rem); } }
.lpod-toast-success {
  background: var(--color-toast-bg, var(--color-success-surface, var(--success-soft)));
  color: var(--color-toast-text, var(--color-success-text, var(--success)));
  border: 1px solid var(--color-toast-border, var(--color-success-border, var(--border)));
}
.lpod-toast-error {
  background: var(--color-toast-bg, var(--color-error-surface, var(--danger-soft)));
  color: var(--color-toast-text, var(--color-error-text, var(--danger)));
  border: 1px solid var(--color-toast-border, var(--color-error-border, var(--border)));
}
.lpod-toast-info {
  background: var(--color-toast-bg, var(--color-info-surface, var(--card)));
  color: var(--color-toast-text, var(--color-info-text, var(--ink)));
  border: 1px solid var(--color-toast-border, var(--color-info-border, var(--border-strong)));
}
.lpod-toast-close {
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.record-family-panel {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border-subtle, #e5e7eb);
}

.record-family-rollup {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0.75rem 0 1rem;
}

.record-family-rollup-item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 6rem;
}

.record-family-rollup-wide {
  min-width: 12rem;
}

.record-family-rollup-label {
  font-size: 0.75rem;
  color: var(--text-muted, #6b7280);
}

.record-family-group {
  margin: 0.75rem 0;
}

.record-family-group-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
  font-weight: 600;
}

.record-family-node-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  padding: 0.35rem 0;
}

.record-family-node-link {
  color: var(--accent, var(--color-accent-strong));
  text-decoration: none;
}

.record-family-node-link:hover {
  text-decoration: underline;
}

.record-family-link {
  margin: 0.75rem 0 1rem;
}

.record-family-link-form {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.record-family-link-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
}

.record-family-link-row label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.record-family-direct-links {
  margin: 1rem 0;
}

.record-family-direct-links h4,
.record-family-panel h4 {
  margin: 0.75rem 0 0.35rem;
  font-size: 0.95rem;
}

.record-family-link-results {
  list-style: none;
  margin: 0;
  padding: 0;
}

.record-family-link-result {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-subtle, #e5e7eb);
}

.record-family-link-result:last-child {
  border-bottom: none;
}

.record-repository-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.75rem 1rem;
  margin-bottom: 1rem;
}

.record-repository-filters label {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.record-repository-toggle {
  flex-direction: row !important;
  align-items: center;
  gap: 0.5rem !important;
}

.record-family-filter-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--accent, var(--color-accent-strong));
  cursor: pointer;
  text-align: left;
}

.record-family-filter-link:hover {
  text-decoration: underline;
}

.contract-repo-entity-col {
  width: 2.75rem;
  text-align: center;
  padding-inline: 0.35rem;
}

.contract-repo-entity-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: var(--card);
  color: var(--accent);
  font-size: 0.95rem;
  line-height: 1;
}

.contract-repo-layout {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.contract-repo-layout-main {
  flex: 1 1 auto;
  min-width: 0;
}

.contract-repo-preview-panel {
  flex: 0 0 min(26rem, 42vw);
  max-height: calc(100vh - 8rem);
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 8px);
  padding: 1rem;
  background: var(--card);
  position: sticky;
  top: 1rem;
}

.contract-repo-preview-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.contract-repo-preview-header h3 {
  margin: 0;
  font-size: 1.05rem;
}

.contract-repo-preview-meta {
  display: grid;
  gap: 0.35rem;
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
}

.contract-repo-preview-meta div {
  display: grid;
  grid-template-columns: 5.5rem 1fr;
  gap: 0.5rem;
}

.contract-repo-preview-meta dt {
  margin: 0;
  color: var(--muted);
}

.contract-repo-preview-meta dd {
  margin: 0;
}

.contract-repo-preview-text {
  white-space: pre-wrap;
  word-break: break-word;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 0.82rem;
  line-height: 1.45;
  max-height: 24rem;
  overflow: auto;
  padding: 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 6px);
  background: var(--background);
}

.contract-repo-preview-text mark {
  background: #ffe08a;
  color: inherit;
  padding: 0 0.1em;
}

.contract-repo-table-row.is-selected {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
}

.contract-repo-table-row {
  cursor: pointer;
}

.entity-icon-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  font-size: 1rem;
  line-height: 1;
}

.entity-icon-select {
  min-width: 12rem;
}

.record-note-body .note-mention {
  display: inline-block;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--lpod-accent, var(--color-accent-strong)) 16%, transparent);
  color: var(--lpod-text, inherit);
  font-weight: 600;
}

.record-notes-list {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
}

.record-notes-list li + li {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, var(--lpod-border, #d1d5db) 70%, transparent);
}

/* --- S2A-LANE-B record MFE quick wins (QW-03, QW-04, QW-16) --- */
.lpod-mono-id-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-wrap: wrap;
}

.lpod-mono-id {
  font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  padding: 0.1rem 0.35rem;
  border-radius: var(--radius-sm, 4px);
  background: color-mix(in srgb, var(--ink-muted) 12%, var(--card));
  color: var(--ink);
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
}

.lpod-mono-id-copy.lpod-btn {
  padding: 0.15rem 0.45rem;
  font-size: 0.75rem;
  min-height: 1.75rem;
}

.record-detail-id-row {
  margin: 0 0 0.75rem;
}

.record-detail-title-stack {
  margin: 0 0 0.75rem;
}

.record-detail-title-stack .lpod-card-header-title {
  display: block;
  margin: 0;
}

.record-detail-mono-id-line {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
  font-size: 0.8125rem;
  color: var(--ink-muted);
}

.record-detail-mono-id-label {
  font-size: inherit;
  font-weight: 500;
}

.record-detail-mono-id-line .record-detail-mono-id {
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  font-size: inherit;
}

.record-detail-mono-id-copy.lpod-btn {
  padding: 0.1rem 0.35rem;
  font-size: 0.75rem;
  min-height: auto;
  color: var(--color-link, var(--deep-teal));
}

.record-list-title-peek-anchor {
  position: relative;
  display: inline;
}

.record-list-peek-card {
  position: absolute;
  z-index: 40;
  left: 0;
  top: calc(100% + 0.35rem);
  min-width: 14rem;
  max-width: 22rem;
  padding: 0.65rem 0.75rem;
  border-radius: var(--radius-md, 8px);
  border: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
  pointer-events: none;
  text-align: left;
}

.record-list-peek-card-title {
  margin: 0 0 0.45rem;
  font-weight: 600;
  font-size: var(--text-sm, 0.875rem);
  color: var(--ink);
}

.record-list-peek-card-fields {
  margin: 0;
}

.record-list-peek-card-row {
  display: grid;
  grid-template-columns: minmax(5rem, 38%) 1fr;
  gap: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.record-list-peek-card-row + .record-list-peek-card-row {
  margin-top: 0.25rem;
}

.record-list-peek-card-row dt {
  margin: 0;
  color: var(--ink-muted);
  font-weight: 500;
}

.record-list-peek-card-row dd {
  margin: 0;
  color: var(--ink);
  word-break: break-word;
}

.lpod-empty-state--compact {
  padding: 1.25rem 1rem;
  max-width: none;
  margin: 0;
}

.lpod-empty-state--designed .lpod-empty-state-title {
  color: var(--ink);
}

.notification-bell-panel .lpod-empty-state--compact {
  align-items: flex-start;
  text-align: left;
}

/* --- S2B form controls (QW-14): token-styled native inputs/selects + toolbar button spacing --- */
.lpod-select,
.lpod-input {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 2.5rem;
  padding: 0.45rem 2.25rem 0.45rem 0.65rem;
  font: inherit;
  line-height: 1.35;
  color: var(--input-text, var(--ink));
  background-color: var(--input-bg, var(--surface));
  border: 1px solid var(--border-strong, var(--border));
  border-radius: var(--radius-md, 8px);
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lpod-input {
  padding-right: 0.65rem;
}

.lpod-select {
  appearance: none;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position:
    calc(100% - 1.05rem) calc(50% - 0.15rem),
    calc(100% - 0.75rem) calc(50% - 0.15rem);
  background-size:
    0.35rem 0.35rem,
    0.35rem 0.35rem;
  background-repeat: no-repeat;
  color: var(--input-text, var(--ink));
}

.lpod-select:disabled,
.lpod-input:disabled {
  opacity: 0.62;
  cursor: not-allowed;
  background-color: var(--surface-raised, var(--card));
}

.lpod-select:focus-visible,
.lpod-input:focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring, var(--link));
  outline-offset: var(--focus-offset, 2px);
  border-color: var(--color-input-focus-border, var(--color-focus-ring, var(--link)));
}

html[data-conpledge-shell='true'] .lpod-select:focus-visible,
html[data-conpledge-shell='true'] .lpod-input:focus-visible {
  outline: var(--focus-width, 2px) solid var(--color-focus-ring);
  outline-offset: var(--focus-offset, 2px);
  border-color: var(--color-input-focus-border, var(--color-focus-ring));
}

.mfe-actions,
.lpod-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.mfe-actions > .lpod-btn + .lpod-btn,
.mfe-actions > .lpod-nav-btn + .lpod-btn,
.mfe-actions > .lpod-btn + .lpod-nav-btn,
.mfe-actions > .lpod-nav-btn + .lpod-nav-btn,
.lpod-toolbar-actions > .lpod-btn + .lpod-btn,
.lpod-toolbar-actions > .lpod-nav-btn + .lpod-btn {
  margin-inline-start: 0;
}

.lpod-user-menu-select.lpod-select {
  width: 100%;
}

.lpod-field-error {
  margin: 0.35rem 0 0;
  font-size: var(--text-sm, 0.875rem);
  color: var(--error-text, var(--danger, #b3261e));
}

/* Legal Compliance review workspace — imported by shell because federated MFE CSS is not injected. */

.compliance-review-workspace {
  position: relative;
  margin-top: 1rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  height: calc(100vh - 10.5rem);
  min-height: 32rem;
  max-height: calc(100vh - 8rem);
}

.record-tab-panel--compliance-review .compliance-review-workspace {
  margin-top: 0;
  height: calc(100vh - 9rem);
}

.compliance-review-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: rgba(255, 255, 255, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
}

.compliance-review-toolbar {
  flex-shrink: 0;
  margin-bottom: 0.5rem;
  align-items: center;
}

.compliance-review-hint {
  flex-shrink: 0;
  margin: 0 0 0.5rem;
}

.compliance-review-split {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 1rem;
  align-items: stretch;
  overflow: hidden;
}

.compliance-review-document,
.compliance-review-obligations {
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  padding: 0.75rem;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.compliance-review-document {
  flex: 1 1 0;
}

.compliance-review-obligations {
  flex: 0 0 22rem;
  width: 22rem;
  max-width: 32%;
}

.compliance-review-document h4,
.compliance-review-obligations h4 {
  flex-shrink: 0;
  margin: 0 0 0.5rem;
}

.compliance-review-document-body {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.compliance-review-document-body .lpod-word-document-editor {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: none;
  border-radius: 0;
  background: transparent;
}

.compliance-review-document-body .lpod-word-document-editor-toolbar {
  flex-shrink: 0;
}

.compliance-review-document-body .word-template-editor-workspace {
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow: auto;
}

.compliance-obligation-list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.compliance-obligation-card {
  text-align: left;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
  padding: 0.6rem 0.75rem;
  background: #fff;
  width: 100%;
  flex-shrink: 0;
}

.compliance-obligation-card-header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.compliance-tier-result-row {
  border-top: 1px solid var(--border, #eee);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}

.compliance-tier-result-row.is-selected {
  background: #f8fafc;
  border-radius: 6px;
  padding: 0.5rem;
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}

.compliance-tier-result-select {
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.compliance-tier-result-row.is-found .compliance-tier-line-text {
  font-weight: 700;
}

.compliance-tier-line {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: #333;
}

.compliance-tier-line-label {
  color: #555;
  font-weight: 600;
}

.compliance-tier-line-text {
  font-weight: 400;
}

.compliance-tier-result-row .compliance-tier-buttons {
  display: flex;
  gap: 0.35rem;
  margin-top: 0.45rem;
  flex-wrap: wrap;
}

.compliance-obligation-card.is-selected {
  border-color: var(--primary, var(--color-accent-strong));
  box-shadow: 0 0 0 1px var(--primary, var(--color-accent-strong));
}

.compliance-status-chip {
  display: inline-block;
  margin-left: 0.35rem;
  font-size: 0.75rem;
  padding: 0.1rem 0.35rem;
  border-radius: 999px;
}

.compliance-status-chip.is-match {
  background: #dcfce7;
  color: #166534;
}

.compliance-status-chip.is-miss {
  background: #fee2e2;
  color: #991b1b;
}

.compliance-excerpt {
  margin: 0.35rem 0 0;
  font-size: 0.85rem;
  color: #555;
}

.compliance-tier-actions {
  flex-shrink: 0;
  margin-top: 0.75rem;
  border-top: 1px solid var(--border, #ddd);
  padding-top: 0.75rem;
  max-height: 40%;
  overflow-y: auto;
}

.compliance-tier-action-row {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: stretch;
  margin-bottom: 0.75rem;
}

.compliance-tier-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.compliance-review-docx-workspace {
  flex: 1;
  min-height: 0;
  overflow: auto;
  border: 1px solid var(--border, #ddd);
  border-radius: 6px;
  padding: 0.75rem;
  background: #e8e8e8;
}

.compliance-review-docx-workspace .word-docx-preview-host {
  width: 100%;
  max-width: 100%;
}

.compliance-review-docx-workspace .word-docx-preview-mount {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
}

mark.compliance-highlight {
  background: #fef08a;
  padding: 0;
}

@media (max-width: 900px) {
  .compliance-review-workspace {
    height: auto;
    max-height: none;
  }

  .compliance-review-split {
    flex-direction: column;
    overflow: visible;
  }

  .compliance-review-obligations {
    flex: 1 1 auto;
    width: 100%;
    max-width: none;
    max-height: 24rem;
  }

  .compliance-review-document {
    min-height: 24rem;
  }

  .compliance-review-document-body .word-template-editor-workspace {
    min-height: 20rem;
  }
}

.compliance-risk-score-graphic {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  min-width: 10rem;
}

.compliance-risk-score-graphic--compact {
  min-width: 7rem;
}

.compliance-risk-score-graphic__svg {
  display: block;
  overflow: visible;
}

.compliance-risk-score-graphic__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: -2.4rem;
  line-height: 1.1;
}

.compliance-risk-score-graphic--compact .compliance-risk-score-graphic__content {
  margin-top: -1.8rem;
}

.compliance-risk-score-graphic__percent {
  font-size: 1.5rem;
  font-weight: 700;
}

.compliance-risk-score-graphic--compact .compliance-risk-score-graphic__percent {
  font-size: 1.1rem;
}

.compliance-risk-score-graphic__band {
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.compliance-risk-score-graphic__score {
  font-size: 0.75rem;
  color: var(--lpod-muted, #71717a);
}

.compliance-risk-score-graphic__label {
  font-size: 0.75rem;
  color: var(--lpod-muted, #71717a);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.compliance-review-toolbar-score {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
}

.compliance-risk-colors-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem 1rem;
  margin: 0.75rem 0 1rem;
}

.compliance-risk-colors-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.9rem;
}

.compliance-risk-colors-form input[type="color"] {
  width: 100%;
  min-height: 2.5rem;
  padding: 0.15rem;
  border: 1px solid var(--lpod-border, #d4d4d8);
  border-radius: 0.5rem;
  background: var(--lpod-surface, #fff);
}

.compliance-risk-colors-preview {
  display: flex;
  justify-content: center;
  margin-top: 0.5rem;
}

.compliance-risk-table-graphic {
  display: flex;
  justify-content: center;
}
.lpod-admin-settings-hub {
  display: grid;
  grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

.lpod-admin-settings-hub__main {
  min-width: 0;
}

@media (max-width: 899px) {
  .lpod-admin-settings-hub {
    grid-template-columns: 1fr;
  }

  .lpod-admin-settings-nav__list {
    max-width: none;
  }
}

.lpod-admin-settings-nav {
  margin: 0 0 1rem;
}

.lpod-admin-settings-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  max-width: 16rem;
}

.lpod-admin-settings-nav__link {
  width: 100%;
  justify-content: flex-start;
  border-radius: var(--radius-md, 8px);
  font-weight: 500;
}

.lpod-admin-settings-nav__link.is-current {
  background: var(--surface-raised, var(--card));
  border-color: var(--border-strong, var(--border));
  color: var(--ink);
  font-weight: 600;
}

.lpod-admin-settings-nav__link.is-current[aria-current='page'] {
  box-shadow: inset 3px 0 0 var(--link);
}

.lpod-settings-hub {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
  gap: 1rem 1.25rem;
  margin-top: 0.5rem;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub > * {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__list > li {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.lpod-settings-hub__link {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  justify-content: flex-start;
  border-radius: var(--radius-md, 8px);
  font-weight: 500;
}
.renewal-forecast-chart {
  margin-bottom: 1rem;
}

.renewal-forecast-chart svg {
  display: block;
  width: 100%;
  max-width: 32rem;
  height: auto;
  color: var(--color-chart-2, var(--color-accent));
}

.renewal-forecast-chart__bar {
  fill: currentColor;
}

.renewal-forecast-chart__value,
.renewal-forecast-chart__month {
  fill: var(--ink, var(--color-text-primary));
  font-size: 11px;
}

.renewal-forecast-chart__axis {
  stroke: var(--border, var(--color-border));
  stroke-width: 1;
}

.renewal-forecast-sr-table {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.renewal-forecast-table-toggle {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}

.obligation-chip-marker {
  flex: 0 0 auto;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  margin-top: 0.2rem;
  background: var(--color-chart-2, var(--color-accent));
}

.obligation-chip-marker--evidence {
  background: var(--evidence, var(--color-evidence));
}

.obligation-calendar-pill-v2 {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  width: 100%;
  font-size: 0.72rem;
  line-height: 1.2;
  padding: 0.15rem 0.3rem;
  border-radius: 0.25rem;
  border: none;
  text-align: left;
  cursor: pointer;
  background: color-mix(in srgb, var(--color-chart-2, var(--color-accent)) 12%, var(--card, var(--color-surface)));
  color: var(--ink, var(--color-text-primary));
}

.obligation-calendar-pill-v2 .obligation-chip-title {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.obligation-calendar-more-btn {
  display: block;
  width: 100%;
  margin-top: 0.1rem;
  padding: 0.1rem 0.25rem;
  font-size: 0.7rem;
  text-align: left;
  border: none;
  border-radius: 0.2rem;
  cursor: pointer;
  background: transparent;
  color: var(--color-chart-2, var(--color-accent));
}

.obligation-calendar-more-btn:hover,
.obligation-calendar-more-btn:focus-visible {
  text-decoration: underline;
  outline: 2px solid color-mix(in srgb, var(--color-chart-2, var(--color-accent)) 45%, transparent);
  outline-offset: 1px;
}

.obligation-day-popover-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: color-mix(in srgb, var(--ink) 25%, transparent);
}

.obligation-day-popover {
  position: fixed;
  z-index: 41;
  max-width: min(22rem, calc(100vw - 2rem));
  max-height: min(24rem, calc(100vh - 2rem));
  overflow: auto;
  padding: 0.75rem 1rem;
  border-radius: 0.5rem;
  border: 1px solid var(--border, var(--color-border));
  background: var(--card, var(--color-surface));
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 18%, transparent);
}

.obligation-day-popover h4 {
  margin: 0 0 0.5rem;
  font-size: 1rem;
  color: var(--ink, var(--color-text-primary));
}

.obligation-day-popover ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.obligation-day-popover li {
  margin-bottom: 0.5rem;
}

.obligation-day-popover-item {
  display: flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: var(--ink, var(--color-text-primary));
}

.obligation-day-popover-item a {
  color: var(--color-chart-2, var(--color-accent));
  text-decoration: underline;
}

.obligation-day-popover-type {
  font-size: 0.75rem;
  color: var(--ink-muted);
}

.obligation-calendar-day-btn {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0 0 0.15rem;
  border: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.obligation-calendar-day-btn:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-chart-2, var(--color-accent)) 45%, transparent);
  outline-offset: 1px;
}
/* share rate-limit B91 tune (build marker) */
html,
body,
#root {
  height: 100%;
  margin: 0;
}

html.lpod-shell-active,
html.lpod-shell-active body {
  overflow: hidden;
  height: 100%;
}

html.lpod-shell-active #root {
  height: 100%;
  overflow: hidden;
}

.lpod-shell-root {
  display: contents;
}

html.lpod-shell-active .lpod-shell-root {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 100%;
  height: 100dvh;
  max-height: 100dvh;
  overflow: hidden;
}

.lpod-layout {
  display: flex;
  background: var(--surface);
}

html.lpod-shell-active .lpod-shell-root > .lpod-layout {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
}

.lpod-control-root {
  box-sizing: border-box;
  min-height: 100dvh;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--surface);
  padding: 1.25rem 1.5rem 2rem;
}

.lpod-control-root .mfe-tenant {
  max-width: 100%;
}
.lpod-sidebar {
  --lpod-sidebar-width: 16rem;
  width: var(--lpod-sidebar-width);
  flex: 0 0 var(--lpod-sidebar-width);
  height: 100%;
  min-height: 0;
  min-width: 0;
  background: var(--card);
  border-right: 1px solid var(--border);
  padding: 1rem 0.85rem;
  transition: width 0.2s ease, flex-basis 0.2s ease, padding 0.2s ease;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
}
.lpod-sidebar:not(.lpod-sidebar-collapsed).lpod-sidebar-resizing {
  transition: none;
  user-select: none;
}
.lpod-sidebar-collapsed {
  --lpod-sidebar-width: 3.75rem;
  width: var(--lpod-sidebar-width);
  flex-basis: var(--lpod-sidebar-width);
  padding: 0.75rem 0.5rem;
}
.lpod-sidebar-resize-handle {
  position: absolute;
  top: 0;
  right: 0;
  width: 6px;
  height: 100%;
  cursor: col-resize;
  touch-action: none;
  z-index: 3;
}
.lpod-sidebar-resize-handle::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  width: 2px;
  border-radius: 1px;
  background: transparent;
  transition: background 0.15s ease;
}
.lpod-sidebar-resize-handle:hover::after,
.lpod-sidebar-resizing .lpod-sidebar-resize-handle::after {
  background: color-mix(in srgb, var(--accent) 55%, transparent);
}
body.lpod-sidebar-resizing {
  cursor: col-resize;
  user-select: none;
}
.lpod-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.lpod-sidebar-collapsed .lpod-sidebar-header {
  flex-direction: column;
  align-items: center;
  margin-bottom: 0.75rem;
}
.lpod-brand {
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: -0.01em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  flex: 1;
}
.lpod-brand-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius-md, 0.375rem);
  background: color-mix(in srgb, var(--accent) 16%, var(--card));
  color: var(--accent);
  font-size: 1rem;
}
.lpod-sidebar-toggle {
  flex: 0 0 auto;
  background: transparent;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 0.25rem);
  color: var(--ink-muted);
  cursor: pointer;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0;
}
.lpod-sidebar-toggle:hover {
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  color: var(--ink);
}
.lpod-sidebar nav {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.lpod-sidebar-footer {
  margin-top: auto;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.lpod-sidebar-user {
  font-size: 0.8rem;
  color: var(--ink-muted);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lpod-build-version {
  font-size: 0.72rem;
  color: var(--ink-muted);
  text-align: center;
  letter-spacing: 0.02em;
  user-select: all;
}
.lpod-build-version-collapsed {
  font-size: 0.65rem;
  font-weight: 600;
}
.lpod-sidebar-logout {
  width: 100%;
  justify-content: center;
  font-size: 0.9rem;
}
.lpod-sidebar-logout-collapsed {
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}
.lpod-sidebar .lpod-nav-btn { color: var(--ink); }
.lpod-main { flex: 1; min-width: 0; padding: 0; display: flex; flex-direction: column; min-height: 0; height: 100%; overflow: hidden; background: var(--surface); }
.lpod-chrome-host {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.lpod-chrome {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.lpod-chrome-content {
  flex: 1;
  min-height: 0;
  padding: 1.5rem 1.75rem;
  overflow: auto;
}
.lpod-app-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 4rem;
  padding: 0.75rem 1.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--card);
  box-shadow: var(--shadow-sm);
  position: relative;
  z-index: var(--z-sticky-chrome);
  overflow: visible;
}

html:has(.lpod-dialog-backdrop.lpod-modal-layer) .lpod-app-header {
  z-index: var(--z-help-button);
}
.lpod-app-header-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1 1 auto;
  min-width: 0;
  max-width: min(100%, 42rem);
}
.lpod-app-header-logo {
  height: 2.25rem;
  width: auto;
  max-width: 8rem;
  object-fit: contain;
}
.lpod-app-header-titles {
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
}
.lpod-app-header-brand-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lpod-app-header-title {
  font-size: 0.85rem;
  color: var(--ink-muted);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lpod-header-resources-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--ink-muted);
  text-decoration: none;
  padding: 0.35rem 0.65rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  white-space: nowrap;
}
.lpod-header-resources-link:hover {
  color: var(--ink);
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
}

.lpod-app-header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  position: relative;
  overflow: visible;
}
.lpod-global-search-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 12rem;
  max-width: 22rem;
  padding: 0.45rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--card) 88%, var(--surface));
  color: var(--ink-muted);
  cursor: pointer;
  font: inherit;
}
.lpod-global-search-trigger:hover {
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
  color: var(--ink);
}
.lpod-global-search-trigger-label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  font-size: 0.88rem;
}
.lpod-global-search-trigger-kbd {
  font-size: 0.72rem;
  color: var(--ink-muted);
  border: 1px solid var(--border);
  border-radius: 0.35rem;
  padding: 0.1rem 0.35rem;
  background: var(--card);
}
.lpod-global-search-trigger-icon {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
}
.lpod-global-search-overlay {
  position: fixed;
  inset: 0;
  z-index: var(--z-global-search);
  background: color-mix(in srgb, var(--ink) 18%, transparent);
  display: flex;
  justify-content: center;
  padding: 4.5rem 1rem 1rem;
}
.lpod-global-search-panel {
  width: min(42rem, 100%);
  max-height: calc(100vh - 5.5rem);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 0.75rem);
  background: var(--card);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
}
.lpod-global-search-header {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--border);
}
.lpod-global-search-header-icon {
  opacity: 0.7;
}
.lpod-global-search-input {
  flex: 1;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  outline: none;
}
.lpod-global-search-close {
  border: 0;
  background: transparent;
  color: var(--ink-muted);
  cursor: pointer;
  font: inherit;
}
.lpod-global-search-filters {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
}
.lpod-global-search-filters-label {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-muted);
  margin-right: 0.25rem;
  white-space: nowrap;
}
.lpod-global-search-filter {
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card);
  color: var(--ink-muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  padding: 0.25rem 0.65rem;
  white-space: nowrap;
}
.lpod-global-search-filter.is-active {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  color: var(--ink);
}
.lpod-global-search-body {
  flex: 1;
  min-height: 0;
  overflow: auto;
  padding: 0.75rem 0;
}
.lpod-global-search-empty {
  padding: 1.5rem 1rem;
  color: var(--ink-muted);
  text-align: center;
}
.lpod-global-search-group-label {
  padding: 0.35rem 1rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.lpod-global-search-row {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
}
.lpod-global-search-row:hover,
.lpod-global-search-row.is-active {
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
}
.lpod-global-search-row-icon {
  flex-shrink: 0;
  margin-top: 0.1rem;
}
.lpod-global-search-row-body {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}
.lpod-global-search-row-title {
  font-weight: 600;
  color: var(--ink);
}
.lpod-global-search-row-subtitle,
.lpod-global-search-row-meta,
.lpod-global-search-row-date,
.lpod-global-search-snippet {
  font-size: 0.84rem;
  color: var(--ink-muted);
}
.lpod-global-search-snippet mark {
  background: color-mix(in srgb, var(--accent) 24%, transparent);
  color: var(--ink);
  padding: 0 0.1rem;
  border-radius: 0.15rem;
}
.lpod-global-search-footer {
  display: flex;
  gap: 1rem;
  padding: 0.65rem 1rem;
  border-top: 1px solid var(--border);
  color: var(--ink-muted);
  font-size: 0.78rem;
}
.lpod-global-search-page-field {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 1rem;
}
.lpod-global-search-page-field input {
  width: 100%;
}
.lpod-global-search-page-group + .lpod-global-search-page-group {
  margin-top: 1.5rem;
}
@media (max-width: 900px) {
  .lpod-global-search-trigger {
    min-width: 0;
    max-width: 12rem;
  }
  .lpod-global-search-trigger-label {
    display: none;
  }
  .lpod-global-search-overlay {
    padding: 0;
    align-items: stretch;
  }
  .lpod-global-search-panel {
    width: 100%;
    max-height: 100vh;
    border-radius: 0;
  }
}
.lpod-version-sync {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.6rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  background: var(--card);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  line-height: 1.2;
  max-width: 11rem;
}
.lpod-version-sync:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
  background: color-mix(in srgb, var(--accent) 6%, var(--card));
}
.lpod-version-sync:disabled {
  opacity: 0.75;
  cursor: wait;
}
.lpod-version-sync-dot {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  flex-shrink: 0;
  background: var(--ink-muted);
}
.lpod-version-sync--synced .lpod-version-sync-dot {
  background: var(--color-success);
}
.lpod-version-sync--outdated .lpod-version-sync-dot {
  background: var(--color-evidence-text);
}
.lpod-version-sync--unknown .lpod-version-sync-dot {
  background: var(--color-text-secondary);
}
.lpod-version-sync--checking .lpod-version-sync-dot,
.lpod-version-sync--busy .lpod-version-sync-dot {
  background: var(--color-link);
}
.lpod-version-sync-text {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  min-width: 0;
  text-align: left;
}
.lpod-version-sync-label {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.lpod-version-sync-build {
  font-size: 0.78rem;
  color: var(--ink-muted);
}
.lpod-version-sync--menu {
  width: 100%;
  margin-top: 0.15rem;
  max-width: none;
  padding: 0.5rem 0.65rem;
  text-align: left;
}
.lpod-version-sync--menu .lpod-version-sync-label {
  text-transform: none;
  letter-spacing: normal;
  font-size: 0.85rem;
}
.lpod-version-sync--menu .lpod-version-sync-build {
  font-size: 0.75rem;
}
.lpod-user-menu {
  position: relative;
  z-index: 310;
}
.lpod-user-menu-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  max-width: 16rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  background: var(--card);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.lpod-user-menu-trigger:hover,
.lpod-user-menu-trigger[aria-expanded="true"] {
  border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
  background: color-mix(in srgb, var(--accent) 6%, var(--card));
}
.lpod-user-menu-trigger-text {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}
.lpod-user-menu-trigger-name {
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lpod-user-menu-trigger-meta {
  font-size: 0.72rem;
  color: var(--ink-muted);
  line-height: 1.2;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lpod-user-menu-trigger-chevron {
  flex: 0 0 auto;
  font-size: 0.7rem;
  color: var(--ink-muted);
}
.lpod-user-menu-trigger-initials {
  display: none;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  background: color-mix(in srgb, var(--accent) 12%, var(--card));
  color: var(--ink);
}
.lpod-user-menu-panel {
  position: absolute;
  top: calc(100% + 0.35rem);
  right: 0;
  z-index: 1200;
  width: min(18rem, calc(100vw - 2rem));
  max-height: min(32rem, calc(100vh - 6rem));
  overflow-y: auto;
  padding: 0.65rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  background: var(--card);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 16%, transparent);
}
.lpod-user-menu-section {
  padding: 0.45rem 0.35rem;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}
.lpod-user-menu-section:last-of-type {
  border-bottom: none;
}
.lpod-user-menu-identity {
  padding-top: 0.25rem;
}
.lpod-user-menu-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--ink-muted);
  margin-bottom: 0.25rem;
}
.lpod-user-menu-value {
  font-size: 0.9rem;
  color: var(--ink);
  line-height: 1.3;
  word-break: break-word;
}
.lpod-user-menu-subvalue {
  margin-top: 0.15rem;
  font-size: 0.8rem;
  color: var(--ink-muted);
  word-break: break-word;
}

.lpod-user-menu-role-keys {
  margin-top: 0.35rem;
  font-family: var(--font-mono, ui-monospace, monospace);
  font-size: 0.7rem;
  color: var(--ink-muted);
  line-height: 1.35;
  word-break: break-word;
}

.lpod-user-menu-select {
  width: 100%;
  margin-top: 0.15rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 0.25rem);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
}
.lpod-user-menu-action {
  width: 100%;
  margin-top: 0.35rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm, 0.25rem);
  background: var(--surface);
  color: var(--ink);
  font: inherit;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
.lpod-user-menu-action:hover {
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  border-color: color-mix(in srgb, var(--accent) 30%, var(--border));
}
.lpod-user-menu-signout {
  width: 100%;
  margin-top: 0.5rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  border-radius: var(--radius-sm, 0.25rem);
  background: color-mix(in srgb, var(--accent) 10%, var(--card));
  color: var(--accent);
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.lpod-user-menu-signout:hover {
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
}
.lpod-app-footer {
  flex-shrink: 0;
  padding: 0.75rem 1rem;
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--ink) 3%, var(--card));
  color: var(--ink-muted);
  font-size: 0.85rem;
  text-align: center;
}
.lpod-layout--designer .lpod-chrome-content {
  padding: 0;
  overflow: hidden;
}
.lpod-layout--designer .lpod-app-header,
.lpod-layout--designer .lpod-app-footer {
  display: none;
}
html.lpod-designer-active,
html.lpod-designer-active body {
  height: 100%;
  overflow: hidden;
}
html.lpod-designer-active #root {
  height: 100%;
}
.lpod-layout--designer {
  height: 100vh;
  min-height: 100vh;
  overflow: hidden;
}
.lpod-layout--designer .lpod-main--designer {
  padding: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.lpod-designer-host {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  width: 100%;
}

/* Elsa designer ΓÇö lives in shell CSS because federated MFE stylesheets are not injected. */
.mfe-elsa-designer {
  position: fixed;
  inset: 0;
  z-index: 500;
  display: flex;
  flex-direction: column;
  background: var(--surface);
}
.elsa-designer-bar {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.4rem 0.75rem;
  border-bottom: 1px solid var(--border);
  background: var(--card);
  min-height: 2.5rem;
}
.elsa-designer-bar-start,
.elsa-designer-bar-end {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}
.elsa-designer-bar-title {
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.elsa-designer-bar-entity {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: var(--ink-muted);
}
.elsa-designer-bar-entity input {
  width: 11rem;
  padding: 0.25rem 0.4rem;
}
.elsa-designer-error {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.35rem 0.75rem;
  color: var(--danger);
  background: color-mix(in srgb, var(--danger) 8%, var(--card));
  border-bottom: 1px solid var(--border);
}
.elsa-designer-loading {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-muted);
  min-height: 0;
}
.elsa-designer-frame {
  flex: 1 1 0;
  width: 100%;
  min-height: 0;
  height: 100%;
  border: none;
  background: var(--card);
}
.login-card { max-width: 24rem; width: 100%; margin: 0 auto; }
.login-brand { display: flex; justify-content: center; margin-bottom: 1rem; }
.login-brand-logo { max-height: 3rem; max-width: 100%; object-fit: contain; }
.login-hint { color: var(--ink-muted); font-size: 0.875rem; margin: 0 0 0.75rem; line-height: 1.4; }
.lpod-login-host {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  width: 100%;
  padding: 1.5rem;
  box-sizing: border-box;
}

html.lpod-shell-active .lpod-chrome-host:has(> .lpod-login-host) {
  overflow: auto;
}
.error { color: var(--danger); }
.success { color: var(--success); }
.hint { color: var(--ink-muted); font-size: 0.875rem; }
.theme-grid { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
.theme-grid-item { display: inline-flex; align-items: center; gap: 0.25rem; }
.theme-color-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(8rem, 1fr));
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
}

.lpod-nav-tree { display: flex; flex-direction: column; gap: 0.25rem; align-items: stretch; min-width: 0; width: 100%; }
.lpod-nav-tree .lpod-nav-btn,
.lpod-nav-tree .fui-Button {
  justify-content: flex-start;
  width: 100%;
  text-align: left;
}
.lpod-nav-folder { margin-top: 0.35rem; }
.lpod-nav-folder-title {
  width: 100%;
  text-align: left;
  background: transparent;
  border: none;
  color: var(--ink-muted);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.35rem 0.25rem;
  cursor: pointer;
}
.lpod-sidebar-toggle svg,
.lpod-nav-folder-chevron svg {
  width: 1rem;
  height: 1rem;
}

.lpod-nav-folder-chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lpod-nav-folder-items { display: flex; flex-direction: column; gap: 0.2rem; padding-left: 0.35rem; }
.lpod-nav-folder-item { font-size: 0.92rem; }
.lpod-nav-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  text-align: center;
  margin-right: 0.5rem;
  flex: 0 0 1.25rem;
  font-size: 0.95rem;
  color: var(--ink-muted);
  font-weight: 600;
}
.lpod-nav-btn[aria-current="page"] .lpod-nav-icon,
.lpod-nav-btn.is-active .lpod-nav-icon {
  color: var(--accent);
}
.lpod-nav-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lpod-nav-btn .lpod-nav-icon { opacity: 0.9; }
.lpod-sidebar-collapsed .lpod-nav-text,
.lpod-sidebar-collapsed .lpod-nav-folder-chevron {
  display: none;
}
.lpod-sidebar-collapsed .lpod-nav-btn,
.lpod-sidebar-collapsed .lpod-nav-folder-title {
  justify-content: center;
}
.lpod-sidebar-collapsed .lpod-nav-btn {
  padding-left: 0.45rem;
  padding-right: 0.45rem;
}
.lpod-sidebar-collapsed .lpod-nav-icon {
  margin-right: 0;
}
.lpod-sidebar-collapsed .lpod-nav-folder-items {
  padding-left: 0;
}
.lpod-sidebar-collapsed .lpod-nav-flat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.lpod-nav-folder-settings { margin-bottom: 1.5rem; }

.lpod-contract-compare {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}
.lpod-contract-compare select {
  max-width: min(100%, 22rem);
  font: inherit;
}
.lpod-contract-compare-summary {
  margin: 0.75rem 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  background: color-mix(in srgb, var(--card) 80%, var(--surface));
}
.lpod-contract-compare-summary-text {
  margin: 0.5rem 0 0;
  white-space: pre-wrap;
  font: inherit;
  font-size: 0.9rem;
}
.lpod-contract-compare-diff {
  max-height: 20rem;
  overflow: auto;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.375rem);
  font-family: ui-monospace, Consolas, monospace;
  font-size: 0.8rem;
}
.lpod-diff-line {
  display: flex;
  gap: 0.5rem;
  padding: 0.15rem 0.5rem;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 60%, transparent);
}
.lpod-diff-removed { background: color-mix(in srgb, var(--color-error) 12%, var(--card)); }
.lpod-diff-added { background: color-mix(in srgb, var(--color-success) 12%, var(--card)); }
.lpod-diff-meta {
  flex: 0 0 2.5rem;
  color: var(--ink-muted);
  user-select: none;
}
.lpod-diff-text {
  flex: 1;
  min-width: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.lov-admin-layout { display: grid; grid-template-columns: 16rem 1fr; gap: 1rem; min-height: 20rem; }
.lov-admin-tree, .lov-admin-detail {
  border: 1px solid var(--border);
  border-radius: 0.375rem;
  padding: 0.75rem;
  background: color-mix(in srgb, var(--card) 60%, var(--surface));
}
.lov-tree-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0.25rem 0.35rem;
  border-radius: 0.25rem;
  cursor: pointer;
  font: inherit;
}
.lov-tree-row-active { background: color-mix(in srgb, var(--accent) 14%, var(--card)); }
.lov-tree-toggle, .lov-tree-label {
  background: transparent;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  padding: 0;
}
.lov-tree-label { flex: 1; text-align: left; }
.mfe-form-inline { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 0.5rem; }

@media (max-width: 768px) {
  .lpod-layout { flex-direction: column; }
  .lpod-sidebar,
  .lpod-sidebar.lpod-sidebar-collapsed {
    --lpod-sidebar-width: 100%;
    width: 100%;
    flex-basis: auto;
    border-right: none;
    border-bottom: 1px solid var(--border);
  }
  .lpod-sidebar-resize-handle {
    display: none;
  }
  .lpod-sidebar-collapsed .lpod-nav-text,
  .lpod-sidebar-collapsed .lpod-nav-folder-chevron {
    display: inline;
  }
  .lpod-sidebar-collapsed .lpod-nav-folder-items {
    padding-left: 0.35rem;
  }
  .lov-admin-layout { grid-template-columns: 1fr; }

  .lpod-chrome-content {
    padding: 1rem 1rem 1.25rem;
  }

  .lpod-app-header {
    padding: 0.65rem 1rem;
    min-height: 3.25rem;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
  }

  .lpod-control-root {
    padding: 1rem 1rem 1.5rem;
  }
}

.obligation-calendar-page .obligation-calendar-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.obligation-calendar-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(18rem, 1fr);
  gap: 1rem;
}

.obligation-calendar-weekdays,
.obligation-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}

.obligation-calendar-weekday {
  font-size: 0.8rem;
  color: var(--muted);
  text-align: center;
}

.obligation-calendar-cell {
  min-height: 5.5rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 0.35rem);
  background: var(--card);
  padding: 0.35rem;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.obligation-calendar-cell.empty {
  background: transparent;
  border-color: transparent;
}

.obligation-calendar-cell.today {
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.obligation-calendar-day {
  font-size: 0.8rem;
  font-weight: 600;
}

.obligation-calendar-filter {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 0.875rem;
}

.obligation-type-badge {
  display: inline-block;
  margin-right: 0.35rem;
  padding: 0.05rem 0.35rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  background: var(--color-surface-tint);
  color: var(--accent);
  vertical-align: middle;
}

.obligation-calendar-pill {
  display: block;
  font-size: 0.72rem;
  line-height: 1.2;
  padding: 0.15rem 0.3rem;
  border-radius: 0.25rem;
  background: color-mix(in srgb, var(--accent) 18%, var(--card));
  color: var(--ink);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.obligation-calendar-pill.done {
  opacity: 0.55;
  text-decoration: line-through;
}

.obligation-calendar-more {
  font-size: 0.7rem;
  color: var(--muted);
}

.obligation-calendar-side label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
}

.obligation-calendar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}

.lpod-header-breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  color: var(--muted);
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

.lpod-header-crumb-link {
  color: var(--link);
  text-decoration: none;
  flex: 0 2 auto;
  min-width: 0;
  max-width: 14rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lpod-header-crumb-link:hover {
  text-decoration: underline;
}

.lpod-header-crumb-sep {
  opacity: 0.65;
  flex-shrink: 0;
}

.lpod-header-crumb-current {
  color: var(--text);
  font-weight: 600;
  flex: 1 0 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* BUG-079/080: breadcrumb column yields when help drawer push is open; actions keep size */
@media (min-width: 1200px) {
  html.lpod-help-drawer-open .lpod-app-header-brand {
    flex: 1 1 0;
    min-width: 0;
    max-width: min(100%, 42rem);
  }

  html.lpod-help-drawer-open .lpod-app-header-actions {
    flex-shrink: 0;
  }

  html.lpod-help-drawer-open .lpod-header-crumb-link {
    flex: 0 2 auto;
    min-width: 3ch;
    max-width: 9rem;
  }

  html.lpod-help-drawer-open .lpod-header-crumb-current {
    flex: 1 1 auto;
    min-width: 8ch;
  }
}

@media (min-width: 1440px) {
  html.lpod-help-drawer-open .lpod-header-crumb-current {
    min-width: 12ch;
  }
}

/* BUG-079/080: help open + desktop mid-band — protect breadcrumb; compact search + account */
@media (min-width: 1200px) and (max-width: 1699px) {
  html.lpod-help-drawer-open .lpod-app-header {
    gap: 0.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }

  html.lpod-help-drawer-open .lpod-app-header-brand {
    flex: 1 1 160px;
    min-width: 160px;
  }

  html.lpod-help-drawer-open .lpod-header-breadcrumb {
    min-width: 160px;
  }

  html.lpod-help-drawer-open .lpod-app-header-actions {
    flex-shrink: 1;
    min-width: 0;
    gap: 0.5rem;
  }

  html.lpod-help-drawer-open .lpod-global-search-trigger {
    min-width: 0;
    max-width: none;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    justify-content: center;
  }

  html.lpod-help-drawer-open .lpod-global-search-trigger-icon {
    display: inline-flex;
  }

  html.lpod-help-drawer-open .lpod-global-search-trigger-label,
  html.lpod-help-drawer-open .lpod-global-search-trigger-kbd {
    display: none;
  }

  html.lpod-help-drawer-open .lpod-user-menu-trigger {
    max-width: none;
    padding: 0.35rem;
    gap: 0;
  }

  html.lpod-help-drawer-open .lpod-user-menu-trigger-text,
  html.lpod-help-drawer-open .lpod-user-menu-trigger-chevron {
    display: none;
  }

  html.lpod-help-drawer-open .lpod-user-menu-trigger-initials {
    display: inline-flex;
  }

  html.lpod-help-drawer-open .lpod-role-badge {
    max-width: 4.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.lpod-nav-svg {
  width: 1.125rem;
  height: 1.125rem;
  display: block;
}

.lpod-form-field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.lpod-form-field-label {
  font-weight: 600;
  color: var(--text);
}

.lpod-form-field-hint {
  margin: 0;
}

.lpod-brand-swatch-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem 1rem;
  margin: 0.75rem 0;
}

.lpod-card-footer {
  margin-top: 1rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--border);
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
}

@media (max-width: 960px) {
  .obligation-calendar-layout {
    grid-template-columns: 1fr;
  }
}

.notification-bell {
  position: relative;
}

.notification-bell-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  border-radius: 999px;
  padding: 0;
  cursor: pointer;
}

.notification-bell-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  min-width: 1.125rem;
  height: 1.125rem;
  padding: 0 0.25rem;
  border-radius: 999px;
  background: var(--color-action-primary, #0b1f3a);
  color: var(--color-on-action-primary, #fff);
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.125rem;
  text-align: center;
  pointer-events: none;
  box-sizing: border-box;
}

.notification-bell-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.35rem);
  width: min(22rem, 90vw);
  max-height: 24rem;
  overflow: auto;
  border: 1px solid var(--border);
  background: var(--surface);
  border-radius: 10px;
  box-shadow: var(--shadow-md);
  z-index: 1200;
  padding: 0.75rem;
}

.notification-bell-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.notification-bell-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.notification-bell-item {
  display: block;
  width: 100%;
  text-align: left;
  border: none;
  background: transparent;
  padding: 0.5rem 0.25rem;
  border-bottom: 1px solid var(--border);
  cursor: pointer;
}

.notification-bell-item.read {
  opacity: 0.7;
}

.notification-bell-item-title {
  display: block;
  font-weight: 600;
}

.notification-bell-item-body {
  display: block;
  font-size: 0.9rem;
  color: var(--muted);
}

.watch-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.watch-list li button {
  width: 100%;
  text-align: left;
  padding: 0.5rem 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

.lpod-pwa-banner {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
  z-index: 1300;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  max-width: min(36rem, calc(100vw - 2rem));
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg, 0.5rem);
  background: var(--card);
  box-shadow: var(--shadow-lg);
  color: var(--ink);
  font-size: 0.9rem;
}

.dashboard-kpi-value {
  font-size: 2rem;
  font-weight: 600;
  margin: 0 0 0.25rem;
  line-height: 1.2;
}

.dashboard-kpi-grid {
  align-items: stretch;
}

/* Settings ΓÇö notification preferences */
.notification-prefs-page {
  max-width: 56rem;
}

.notification-prefs-form {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.notification-prefs-channels {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 0.25rem;
}

@media (min-width: 720px) {
  .notification-prefs-channels {
    grid-template-columns: 1fr 1fr;
  }
}

.notification-prefs-panel {
  margin: 0;
  height: 100%;
  box-sizing: border-box;
}

.notification-prefs-panel-title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink);
}

.notification-prefs-panel-lead {
  margin: 0 0 0.75rem;
  font-size: 0.9rem;
  color: var(--ink-muted);
  line-height: 1.45;
}

.notification-prefs-checklist {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.notification-prefs-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 8rem;
}

.notification-prefs-field-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--ink-muted);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.notification-prefs-quiet-row,
.notification-prefs-digest-row {
  margin-top: 0.75rem;
  align-items: flex-end;
  gap: 1rem;
}

.notification-prefs-actions {
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--border);
}

.dashboard-page .lpod-card {
  height: 100%;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.reports-category h2 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
}

.reports-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
  gap: 1rem;
}

.reports-card-description {
  margin: 0 0 1rem;
  color: var(--ink-muted);
  font-size: 0.9rem;
}

.report-parameter-form {
  display: grid;
  gap: 0.75rem;
  max-width: 28rem;
}

.report-parameter-form label {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 0.9rem;
}

.report-parameter-form input,
.report-parameter-form select {
  padding: 0.45rem 0.55rem;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--surface);
}

.report-run-actions {
  margin-top: 1rem;
}

.lpod-header-help-btn {
  position: relative;
  z-index: var(--z-help-button);
  width: 2rem;
  height: 2rem;
  border-radius: 6px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}

.lpod-help-drawer {
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  max-height: 100dvh;
  z-index: var(--z-help-drawer);
  width: var(--lpod-help-drawer-width, 380px);
  max-width: 100vw;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border-left: 1px solid var(--border);
  box-shadow: var(--shadow-md);
  box-sizing: border-box;
}

/* BUG-066: wide help drawer shares --lpod-help-drawer-width with shell push inset */
.lpod-help-drawer.lpod-help-drawer-wide {
  width: var(--lpod-help-drawer-width, 380px);
}

/* QW-19 / BUG-066: from 1200px the help drawer uses push (reflow) layout so record tabs stay left of the drawer; below 1200px it overlays. */
@media (min-width: 1200px) {
  html.lpod-help-drawer-open.lpod-shell-active .lpod-shell-root {
    box-sizing: border-box;
    padding-right: var(--lpod-help-drawer-width, 380px);
  }

  html.lpod-help-drawer-open .lpod-dialog-backdrop,
  html.lpod-help-drawer-open .lpod-api-loading {
    right: var(--lpod-help-drawer-width, 380px);
  }

  html.lpod-help-drawer-open .lpod-global-search-overlay {
    right: var(--lpod-help-drawer-width, 380px);
  }

  html.lpod-help-drawer-open .lpod-toast {
    right: calc(1.5rem + var(--lpod-help-drawer-width, 380px));
  }
}

@media (max-width: 1199px) {
  html.lpod-help-drawer-open .lpod-help-drawer {
    width: min(var(--lpod-help-drawer-width, 380px), 100vw);
  }
}

@media (max-width: 767px) {
  html.lpod-help-drawer-open .lpod-help-drawer {
    width: 100vw;
    border-left: none;
  }
}

.lpod-help-drawer-header,
.lpod-help-drawer-footer {
  padding: 0.65rem 0.75rem;
  border-bottom: 1px solid var(--border);
}

.lpod-help-drawer-footer {
  border-bottom: none;
  border-top: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.lpod-help-drawer-body {
  padding: 0.75rem;
  overflow: auto;
  flex: 1;
}

.lpod-help-line-user p {
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
}

.lpod-help-line-assistant p {
  background: transparent;
}

.lpod-help-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.lpod-help-citations {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  font-size: 0.85rem;
}

.lpod-help-drawer-wide .lpod-help-drawer-body {
  flex: 1;
}

.lpod-help-context-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.35rem;
}

.lpod-help-chip {
  font-size: 0.75rem;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
}

.lpod-help-tabs {
  display: flex;
  gap: 0.25rem;
  padding: 0.35rem 0.75rem;
  border-bottom: 1px solid var(--border);
}

.lpod-help-tabs button {
  border: none;
  background: transparent;
  padding: 0.35rem 0.5rem;
  cursor: pointer;
  font-weight: 600;
}

.lpod-help-tabs button.active {
  border-bottom: 2px solid var(--accent);
}

.lpod-manual-card {
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0.65rem;
  margin-bottom: 0.5rem;
}

.lpod-manual-badge {
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 0.35rem;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
}

.lpod-manual-badge-certified { background: var(--color-success-surface); color: var(--color-text-primary); }
.lpod-manual-badge-claimed { background: var(--color-evidence-surface); color: var(--color-evidence-text); }
.lpod-manual-badge-beta { background: var(--color-surface-tint); color: var(--color-text-heading); }

.lpod-manual-page {
  padding: 1rem 1.25rem 2rem;
  max-width: 48rem;
}

.lpod-manual-html code {
  font-family: ui-monospace, monospace;
  font-size: 0.9em;
}

.lpod-link-button {
  background: none;
  border: none;
  color: var(--accent);
  cursor: pointer;
  text-align: left;
  padding: 0;
  font: inherit;
}

.lpod-portfolio-ask-transcript {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: min(28rem, 50vh);
  overflow: auto;
  margin-bottom: 0.75rem;
}

.lpod-portfolio-ask-composer {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: flex-start;
}

.lpod-link-button {
  background: none;
  border: none;
  padding: 0;
  color: var(--accent);
  cursor: pointer;
  font: inherit;
  text-align: left;
  text-decoration: underline;
}

.amendment-diff-panel {
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--surface);
}

.amendment-diff-panel h4 {
  margin: 0 0 0.35rem;
}

.amendment-diff-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 0.75rem;
  font-size: 0.92rem;
}

.amendment-diff-table th,
.amendment-diff-table td {
  border: 1px solid var(--border);
  padding: 0.45rem 0.6rem;
  text-align: left;
  vertical-align: top;
}

.amendment-diff-table th {
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
  font-weight: 600;
}

.dashboard-cycle-strip {
  margin-bottom: 1.25rem;
}

.dashboard-section-title {
  font-size: 1rem;
  margin: 0 0 0.75rem;
}

.counterparty-360-panel,
.obligation-suggest-panel {
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid var(--border, #ddd);
  border-radius: 8px;
}

.counterparty-360-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  margin: 0.75rem 0;
}

.counterparty-360-stats dt {
  font-size: 0.75rem;
  text-transform: uppercase;
  color: var(--text-muted, #666);
}

.counterparty-360-contracts {
  list-style: none;
  padding: 0;
  margin: 0;
}

.counterparty-360-contracts li {
  margin-bottom: 0.35rem;
}

.obligation-suggest-list {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}

.obligation-suggest-list li {
  margin-bottom: 0.65rem;
}

.ready-for-signature-panel {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 88%, var(--card));
}

.ready-for-signature-panel__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-bottom: 0.35rem;
}

.ready-for-signature-panel h4 {
  margin: 0;
}

.ready-for-signature-badge {
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: var(--color-success-surface);
  color: var(--color-text-primary);
}

.ready-for-signature-list {
  list-style: none;
  margin: 0.75rem 0 1rem;
  padding: 0;
}

.ready-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.35rem 0.65rem;
  margin-bottom: 0.5rem;
}

.ready-item__mark {
  font-weight: 700;
  line-height: 1.35;
}

.ready-item.ok .ready-item__mark {
  color: var(--color-success);
}

.ready-item.fail .ready-item__mark {
  color: var(--color-error);
}

.ready-item__detail {
  grid-column: 2;
  margin: 0;
}

.lpod-login-shell {
  display: grid;
  grid-template-columns: minmax(0, 47.5rem) minmax(0, 1fr);
  min-height: 100%;
  width: 100%;
  flex: 1;
}

.login-brand-panel {
  background: var(--color-surface-inverse);
  color: var(--color-text-on-dark);
  padding: 3rem 4rem;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  min-height: 100%;
}

.login-brand-panel-ring {
  position: absolute;
  width: 61rem;
  height: 61rem;
  right: -26rem;
  top: -3.75rem;
  border-radius: 50%;
  border: 15px solid color-mix(in srgb, var(--ip-white) 5%, transparent);
  pointer-events: none;
}

.login-brand-panel-top {
  position: relative;
  margin-bottom: 1.25rem;
}

.login-brand-panel-logo {
  height: 3.25rem;
  width: auto;
  max-width: min(100%, 18rem);
  display: block;
}

.login-brand-panel-mid {
  position: relative;
  margin: auto 0;
}

.login-brand-panel-eyebrow {
  font: var(--type-overline);
  letter-spacing: var(--type-overline-tracking);
  text-transform: uppercase;
  color: var(--color-text-secondary-on-dark);
  margin: 0 0 0.875rem;
}

.login-brand-panel-headline {
  font: var(--type-display);
  letter-spacing: var(--type-display-tracking);
  margin: 0 0 1.125rem;
  color: var(--color-text-on-dark);
}

.login-brand-panel-lead {
  font: var(--type-body-lg);
  letter-spacing: var(--type-body-lg-tracking);
  color: color-mix(in srgb, var(--color-text-on-dark) 82%, var(--color-text-secondary-on-dark));
  max-width: 32.5rem;
  margin: 0;
}

.login-brand-panel-foot {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  font-size: 0.8125rem;
  color: var(--color-text-secondary-on-dark);
  margin-top: auto;
  padding-top: 1.5rem;
}

html.lpod-shell-active .lpod-login-shell .lpod-login-host {
  background: var(--color-bg);
  align-items: stretch;
  justify-content: center;
  padding: 2rem 1.5rem;
}

html.lpod-shell-active .lpod-login-shell .login-card {
  max-width: 27rem;
  width: 100%;
  margin: auto;
  padding: 0.5rem 0;
}

html.lpod-shell-active .lpod-login-shell .login-card .lpod-card-title,
html.lpod-shell-active .lpod-login-shell .login-card h2 {
  font: var(--type-h2);
  letter-spacing: var(--type-h2-tracking);
  color: var(--color-text-heading);
}

.lpod-sidebar-logo-mark {
  width: 2rem;
  height: 2rem;
  object-fit: contain;
}

.lpod-sidebar-logo {
  height: 2.75rem;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  display: block;
}

@media (max-width: 960px) {
  .lpod-login-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .login-brand-panel {
    display: none;
  }
}

.lpod-route-help-fab {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 25;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.12);
}

.lpod-guided-tour-prompt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 0.75rem;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md, 8px);
  background: color-mix(in srgb, var(--surface) 92%, var(--card));
  font-size: var(--text-sm);
}

.lpod-guided-tour-root {
  position: fixed;
  inset: 0;
  z-index: 60;
  pointer-events: none;
}

.lpod-guided-tour-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.45);
  pointer-events: auto;
}

.lpod-guided-tour-highlight {
  position: fixed;
  border: 2px solid var(--primary, #2563eb);
  border-radius: 6px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary, #2563eb) 25%, transparent);
  pointer-events: none;
}

.lpod-guided-tour-card {
  position: fixed;
  left: 50%;
  bottom: 2rem;
  transform: translateX(-50%);
  width: min(24rem, calc(100vw - 2rem));
  padding: 1rem 1.1rem;
  border-radius: var(--radius-md, 8px);
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 12px 40px rgba(15, 23, 42, 0.2);
  pointer-events: auto;
}

.lpod-help-tour-actions {
  margin-bottom: 0.5rem;
}
