/*
 InSolutions /a/ledger — Typography + Geometry Master R2 visual preview
 SOURCE: 01_UNIVERSAL_TYPOGRAPHY_GEOMETRY_MASTER_SPEC-2.md + ins-typography.tokens.css
 SCOPE: Ledger Feed only. This is a reversible production visual preview.
 NO global token mutation. NO DOM injection. NO script execution.
*/

/* --------------------------------------------------------------------------
   1. LEDGER-PRIVATE TOKEN BOUNDARY
   -------------------------------------------------------------------------- */
body[data-ins-uci-ledger],
#ledger-v127-root,
[data-v125-module="ledger"] {
  --ins-font-sans: "Inter", system-ui, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --ins-font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  --ins-page-title: 28px;
  --ins-workspace-title: 22px;
  --ins-section-title: 18px;
  --ins-card-title: 16px;
  --ins-subhead: 14px;
  --ins-body: 15px;
  --ins-control: 14px;
  --ins-label: 14px;
  --ins-table: 13px;
  --ins-badge: 13px;

  --ins-lh-page-title: 36px;
  --ins-lh-workspace-title: 28px;
  --ins-lh-section-title: 24px;
  --ins-lh-card-title: 22px;
  --ins-lh-subhead: 20px;
  --ins-lh-body: 22px;
  --ins-lh-control: 20px;
  --ins-lh-label: 18px;
  --ins-lh-table: 18px;
  --ins-lh-badge: 16px;

  --ins-fw-400: 400;
  --ins-fw-500: 500;
  --ins-fw-600: 600;
  --ins-fw-700: 700;

  --ins-space-4: 4px;
  --ins-space-8: 8px;
  --ins-space-12: 12px;
  --ins-space-16: 16px;
  --ins-space-20: 20px;
  --ins-space-24: 24px;
  --ins-space-32: 32px;

  --ins-topbar-h: 64px;
  --ins-sidebar-expanded: 190px;
  --ins-sidebar-collapsed: 60px;
  --ins-rail-w: 320px;
  --ins-hero-h: 150px;
  --ins-hero-radius: 16px;
  --ins-gutter: 12px;
  --ins-grid-gap: 12px;
  --ins-control-h: 34px;
  --ins-row-h: 40px;
  --ins-radius-card: 12px;
  --ins-radius-major: 14px;
  --ins-radius-control: 8px;
  --ins-focus: #6d5dfc;

  --ins-text-primary: #0f172a;
  --ins-text-secondary: #475569;
  --ins-text-muted: #64748b;
  --ins-text-inverse: #f8fafc;
  --ins-text-inverse-muted: rgba(248, 250, 252, 0.72);

  font-family: var(--ins-font-sans) !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   2. WORKSPACE TYPOGRAPHY — 13px meaningful-text floor
   -------------------------------------------------------------------------- */
#ledger-v127-root,
#ledger-v127-root .lispec-root,
#ledger-v127-root :is(.lfv5-root,.lfv6-root,.lfv7-root,.lfv8-root,.lfv9-root),
[data-v125-module="ledger"] {
  font-family: var(--ins-font-sans) !important;
  color: var(--ins-text-primary);
}

#ledger-v127-root :is(h1,.lispec-pagehead h1,.lfv5-heading h1,.lfv6-heading h1,.lfv7-heading h1),
[data-v125-module="ledger"] h1,
body[data-ins-uci-ledger] .insolutions-standard-hero .ins-hero-title {
  font-family: var(--ins-font-sans) !important;
  font-size: var(--ins-workspace-title) !important;
  line-height: var(--ins-lh-workspace-title) !important;
  font-weight: var(--ins-fw-700) !important;
  letter-spacing: -0.01em !important;
}

#ledger-v127-root h2,
[data-v125-module="ledger"] h2 {
  font-size: var(--ins-section-title) !important;
  line-height: var(--ins-lh-section-title) !important;
  font-weight: var(--ins-fw-700) !important;
}

#ledger-v127-root :is(h3,h4,.lispec-card-title),
[data-v125-module="ledger"] :is(h3,h4) {
  font-size: var(--ins-card-title) !important;
  line-height: var(--ins-lh-card-title) !important;
  font-weight: var(--ins-fw-700) !important;
}

#ledger-v127-root :is(p,.lispec-summary-text),
[data-v125-module="ledger"] p {
  font-size: var(--ins-body) !important;
  line-height: var(--ins-lh-body) !important;
  font-weight: var(--ins-fw-400) !important;
}

#ledger-v127-root :is(button,input,select,textarea,.lispec-btn,.r-subtab,.r-page-btn),
[data-v125-module="ledger"] :is(button,input,select,textarea) {
  font-family: var(--ins-font-sans) !important;
  font-size: var(--ins-control) !important;
  line-height: var(--ins-lh-control) !important;
  font-weight: var(--ins-fw-500) !important;
}

#ledger-v127-root :is(label,.lispec-filter>span),
[data-v125-module="ledger"] label {
  font-size: var(--ins-label) !important;
  line-height: var(--ins-lh-label) !important;
  font-weight: var(--ins-fw-600) !important;
}

#ledger-v127-root :is(table,thead,tbody,tr,th,td),
[data-v125-module="ledger"] :is(table,thead,tbody,tr,th,td) {
  font-size: var(--ins-table) !important;
  line-height: var(--ins-lh-table) !important;
}

#ledger-v127-root :is(th,[class*="table"] th) {
  font-weight: var(--ins-fw-600) !important;
}

/* Retire micro-copy on the currently deployed Ledger V127/LFV surfaces. */
#ledger-v127-root :is(
  small,
  .lispec-empty,.lispec-alert,.lispec-loading,.lispec-pagehead p,
  .lispec-modebar button,.lispec-page-tools>button,.lispec-density,
  .lispec-filter select,.lispec-filter input,.lispec-btn,
  .lispec-chart-legend span,.lispec-donutlegend b,
  .lispec-kpi,.lispec-kpi-head,.lispec-mini-kpis,.lispec-minirow,
  .lispec-insight,.lispec-pill,.lispec-badge,.lispec-provenance,
  .lfv5-root small,.lfv6-root small,.lfv7-root small,
  .lfv5-root [class*="label"],.lfv6-root [class*="label"],.lfv7-root [class*="label"],
  .lfv5-root [class*="meta"],.lfv6-root [class*="meta"],.lfv7-root [class*="meta"],
  .lfv5-root [class*="badge"],.lfv6-root [class*="badge"],.lfv7-root [class*="badge"],
  .lfv5-root [class*="pill"],.lfv6-root [class*="pill"],.lfv7-root [class*="pill"],
  .lfv5-root [class*="legend"],.lfv6-root [class*="legend"],.lfv7-root [class*="legend"]
) {
  font-size: var(--ins-badge) !important;
  line-height: var(--ins-lh-badge) !important;
}

#ledger-v127-root :is(.lispec-pagehead p,[class*="subtitle"],[class*="description"],[class*="summary"]),
[data-v125-module="ledger"] :is([data-ins-role="body"],[data-ins-role="description"]) {
  font-size: var(--ins-body) !important;
  line-height: var(--ins-lh-body) !important;
}

#ledger-v127-root :is(.text-\[6px\],.text-\[7px\],.text-\[8px\],.text-\[9px\],.text-\[10px\],.text-\[11px\],.text-\[12px\]),
[data-v125-module="ledger"] :is(.text-\[6px\],.text-\[7px\],.text-\[8px\],.text-\[9px\],.text-\[10px\],.text-\[11px\],.text-\[12px\]) {
  font-size: var(--ins-badge) !important;
  line-height: var(--ins-lh-badge) !important;
}

#ledger-v127-root :is(.font-extrabold,.font-black,[class*="title"],[class*="heading"]) {
  font-weight: var(--ins-fw-700) !important;
}

/* IDs / references / hashes retain mono treatment when explicitly marked. */
#ledger-v127-root :is(.ins-id,[data-ins-role="id"],[data-ins-role="hash"]),
[data-v125-module="ledger"] :is(.ins-id,[data-ins-role="id"],[data-ins-role="hash"]) {
  font-family: var(--ins-font-mono) !important;
  font-size: var(--ins-table) !important;
}

#ledger-v127-root :is(.ins-amount,[data-ins-role="amount"],td.amount,td.money),
[data-v125-module="ledger"] :is(.ins-amount,[data-ins-role="amount"],td.amount,td.money) {
  font-variant-numeric: tabular-nums lining-nums;
  font-weight: var(--ins-fw-600) !important;
}

/* --------------------------------------------------------------------------
   3. LEDGER HERO — exact geometry and readable text
   -------------------------------------------------------------------------- */
body[data-ins-uci-ledger] .insolutions-standard-hero {
  box-sizing: border-box !important;
  min-height: var(--ins-hero-h) !important;
  height: var(--ins-hero-h) !important;
  border-radius: var(--ins-hero-radius) !important;
  padding: 16px 20px !important;
  background: linear-gradient(135deg,#071747 0%,#0f2d6b 52%,#4C1D95 100%) !important;
}

body[data-ins-uci-ledger] .insolutions-standard-hero,
body[data-ins-uci-ledger] .insolutions-standard-hero * {
  text-shadow: none !important;
}

body[data-ins-uci-ledger] .insolutions-standard-hero .ins-hero-title {
  color: var(--ins-text-inverse) !important;
}

body[data-ins-uci-ledger] .insolutions-standard-hero .ins-hero-subtitle {
  font-size: var(--ins-table) !important;
  line-height: var(--ins-lh-table) !important;
  font-weight: var(--ins-fw-400) !important;
  color: var(--ins-text-inverse-muted) !important;
}

body[data-ins-uci-ledger] .insolutions-standard-hero :is(.ins-hero-eyebrow,.ins-hero-chip) {
  font-size: var(--ins-badge) !important;
  line-height: var(--ins-lh-badge) !important;
  font-weight: var(--ins-fw-600) !important;
}

/* --------------------------------------------------------------------------
   4. GEOMETRY — central workspace only; shell dimensions remain untouched
   -------------------------------------------------------------------------- */
#ledger-v127-root .lispec-root,
#ledger-v127-root :is(.lfv5-root,.lfv6-root,.lfv7-root),
[data-v125-module="ledger"] {
  gap: var(--ins-grid-gap) !important;
}

#ledger-v127-root :is(.lispec-card,[class*="card"]),
[data-v125-module="ledger"] :is(article,[class*="card"]) {
  border-radius: var(--ins-radius-card);
}

#ledger-v127-root :is(.lispec-panel,.lispec-feed-ai,.lispec-relgraph,[class*="major"]),
[data-v125-module="ledger"] [data-ins-surface="major"] {
  border-radius: var(--ins-radius-major) !important;
}

#ledger-v127-root :is(button,input,select,textarea,.lispec-btn),
[data-v125-module="ledger"] :is(button,input,select,textarea) {
  min-height: var(--ins-control-h);
  border-radius: var(--ins-radius-control);
}

#ledger-v127-root table tr,
[data-v125-module="ledger"] table tr {
  min-height: var(--ins-row-h);
  height: var(--ins-row-h);
}

#ledger-v127-root :is(.overflow-x-auto,.lfv6-table-scroll,[class*="table-scroll"]),
[data-v125-module="ledger"] :is(.overflow-x-auto,[data-ins-wide-surface]) {
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

#ledger-v127-root :is(button,a,input,select,textarea,[tabindex]):focus-visible,
[data-v125-module="ledger"] :is(button,a,input,select,textarea,[tabindex]):focus-visible,
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) :is(button,a,input,select,textarea,[tabindex]):focus-visible {
  outline: 2px solid var(--ins-focus) !important;
  outline-offset: 2px !important;
}

/* Shared drawer is styled only while Ledger Feed owns the active context. */
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) {
  font-family: var(--ins-font-sans) !important;
  --ins-context-drawer-default: 680px;
}
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]):not([data-drawer-size]) {
  width: 680px;
  max-width: calc(100vw - 24px);
}
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer])[data-drawer-size="compact"] { width:560px; max-width:calc(100vw - 24px); }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer])[data-drawer-size="analysis"] { width:680px; max-width:calc(100vw - 24px); }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer])[data-drawer-size="evidence"] { width:820px; max-width:calc(100vw - 24px); }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) h2 { font-size:22px!important; line-height:28px!important; font-weight:700!important; }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) h3 { font-size:18px!important; line-height:24px!important; font-weight:700!important; }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) p { font-size:15px!important; line-height:22px!important; }
body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) :is(button,input,select,textarea,label,small,[data-ins-role="meta"],[data-ins-role="badge"]) { font-size:13px!important; line-height:18px!important; }

@media (max-width: 900px) {
  body[data-ins-uci-ledger] :is([data-v125-context-drawer],.ins-context-drawer,[data-ins-context-drawer]) {
    width: min(100vw,680px) !important;
    max-width: 100vw !important;
  }
}
