/* Generated by tools/sync_public_hub_ui.mjs from database-worker/public/org.html (its inline <style> block). Do not edit. */
* { box-sizing:border-box; }
  a { color:var(--gold); }
  p { margin:0 0 8px; }
  .hint { color:var(--faint); font-size:11.5px; }

  /* ---- the profile header (logo tiles: app/org-logos.css) ---- */
  .hero { display:grid; grid-template-columns:auto minmax(0,1fr); gap:16px 22px; align-items:center;
          padding:22px 24px 18px; margin:0 0 12px; border-radius:14px;
          border:1px solid var(--border);
          background:linear-gradient(120deg, color-mix(in srgb, var(--pro) 15%, var(--panel)) 0%,
                                              var(--panel) 60%); }
  .hero h1 { font-size:26px; line-height:1.15; margin:0; letter-spacing:.2px; }
  .hero-sub { display:flex; flex-wrap:wrap; gap:6px 8px; align-items:center; margin:8px 0 0; }
  .chip { font-size:11.5px; padding:2px 10px; border-radius:999px; white-space:nowrap;
          border:1px solid var(--border-strong); color:var(--muted); background:var(--panel); }
  .chip.legal { border-color:var(--blue); color:var(--blue); cursor:default; }
  .chip.legal.unconfirmed { border-color:var(--border-strong); color:var(--faint); }
  .hero-links { display:flex; flex-wrap:wrap; gap:2px 16px; margin:8px 0 0; font-size:12.5px;
                color:var(--muted); }
  .hero-links a { color:var(--text); display:inline-flex; align-items:center; min-height:24px;
                  text-decoration:none; border-bottom:1px dotted var(--muted); }
  .hero-links a:hover { color:var(--gold); }
  .stats { grid-column:1 / -1; display:grid; grid-template-columns:repeat(auto-fit, minmax(128px, 1fr));
           margin:4px 0 0; padding:14px 0 0; border-top:1px solid var(--border); }
  .stat { display:flex; flex-direction:column-reverse; justify-content:flex-end; padding:2px 16px;
          border-left:1px solid var(--border); min-width:0; }
  .stat:first-child { border-left:0; padding-left:0; }
  .stat dd { margin:0; font-size:23px; font-weight:700; line-height:1.15; font-variant-numeric:tabular-nums; }
  .stat dd a { color:var(--text); text-decoration:none; }
  .stat dd a:hover { color:var(--gold); }
  .stat dt { margin-top:3px; font-size:10.5px; letter-spacing:.7px; text-transform:uppercase; color:var(--faint); }
  @media (max-width:640px) {
    .hero { grid-template-columns:1fr; padding:18px 16px 14px; }
    .hero h1 { font-size:22px; }
    .stats { grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 0; }
    .stat, .stat:first-child { border-left:0; padding:0 8px 0 0; }
  }

  /* ---- "on this page": sticky, scrolls sideways by itself on a phone ---- */
  .sectnav { position:sticky; top:0; z-index:20; display:flex; gap:4px; overflow-x:auto;
             padding:8px 0; margin:0 0 16px; background:var(--bg);
             border-bottom:1px solid var(--border); scrollbar-width:none; }
  .sectnav::-webkit-scrollbar { display:none; }
  .sectnav a { flex-shrink:0; font-size:12.5px; color:var(--muted); text-decoration:none;
               padding:5px 12px; border-radius:999px; min-height:30px;
               display:inline-flex; align-items:center; }
  .sectnav a:hover { color:var(--text); background:var(--panel2); }
  .sectnav a.on { color:var(--on-gold); background:var(--gold-fill); font-weight:600; }

  .layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:26px; align-items:start; }
  @media (max-width:920px) { .layout { grid-template-columns:minmax(0,1fr); } }

  /* ---- a block: a titled stretch of the page, not a boxed card ---- */
  .block { margin:0 0 30px; scroll-margin-top:60px; }
  .block[hidden] { display:none; }
  .block > h2 { display:flex; align-items:center; gap:12px; margin:0 0 12px; font-size:12px;
                letter-spacing:1.4px; text-transform:uppercase; color:var(--gold); }
  .block > h2::after { content:""; flex:1; height:1px; background:var(--border); }
  .block > h2 .n { color:var(--faint); letter-spacing:.4px; font-weight:400; }
  .lede { color:var(--muted); font-size:12.5px; margin:-4px 0 12px; }

  /* ---- lane ORGREPORTS: the Overview summary + its footnote markers ---- */
  .rpt-summary { font-size:14.5px; line-height:1.6; }
  .rpt-fn { font-size:10px; vertical-align:super; text-decoration:none; color:var(--gold);
            padding:0 1px; }
  .rpt-fn:hover { text-decoration:underline; }
  .side-col .block { background:var(--panel); border:1px solid var(--border); border-radius:12px;
                     padding:14px 16px; margin-bottom:14px; }
  .side-col .block > h2 { font-size:11px; margin-bottom:10px; }
  .more { font-size:12.5px; display:inline-flex; align-items:center; min-height:28px; }

  /* ---- family, drawn as an org chart ---- */
  .fam { display:flex; flex-direction:column; align-items:center; }
  .tier { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
  .tier-label { width:100%; text-align:center; font-size:10.5px; letter-spacing:.8px;
                text-transform:uppercase; color:var(--faint); margin:0 0 6px; }
  .vline { width:2px; height:22px; background:var(--border-strong); }
  .mid { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; width:100%; }
  .mid .lhs, .mid .rhs { display:flex; align-items:center; min-width:0; }
  .mid .lhs { justify-content:flex-end; }
  .mid .side { display:flex; flex-direction:column; gap:8px; min-width:0; flex:0 1 250px; }
  .mid .side .node { width:100%; }
  .mid .hline { width:26px; height:2px; background:var(--border-strong); flex-shrink:0; }
  .node { display:flex; align-items:center; gap:10px; padding:8px 12px 8px 8px; border-radius:12px;
          background:var(--panel); border:1px solid var(--border); width:250px; max-width:100%;
          color:var(--text); text-decoration:none; }
  a.node:hover { border-color:var(--gold); }
  .node .nt { min-width:0; }
  .node .nm { display:block; font-weight:600; font-size:12.5px; line-height:1.3; }
  .node .rel { display:block; font-size:11px; color:var(--muted); }
  .node .legal { display:block; font-size:10.5px; color:var(--blue); }
  .node .legal.unconfirmed { color:var(--faint); }
  .node.self { border:2px solid var(--gold); background:color-mix(in srgb, var(--gold) 9%, var(--panel)); }
  .fam-group { margin-top:18px; }
  .fam-group h3 { font-size:10.5px; letter-spacing:.8px; text-transform:uppercase; color:var(--faint);
                  margin:0 0 8px; font-weight:600; }
  .fam-group .tier { justify-content:flex-start; }
  @media (max-width:700px) {
    .mid { display:flex; flex-direction:column; align-items:center; }
    .mid .lhs, .mid .rhs { flex-direction:column; width:100%; }
    .mid .side { flex:none; width:250px; max-width:100%; }
    .mid .hline { width:2px; height:16px; }
  }
  /* table.fp: sticky header and the under-600px card layout are
   * app/tables.css's .tdi-table now (POLISH lane, 2026-09-23; the table
   * carries that class), which is also why this no longer sets a min-width
   * -- that would force horizontal scroll before the card layout could take
   * over. What is left here is specific to this table: right-aligned
   * numeric columns (tables.css's own default is left), the logo+name cell,
   * and the total row's heavier rule. */
  .footprint-wrap { overflow-x:auto; margin-top:18px; }
  table.fp { width:100%; font-size:12.5px; }
  table.fp th, table.fp td { text-align:right; }
  table.fp th:first-child, table.fp td:first-child { text-align:left; }
  table.fp td .ent { display:flex; align-items:center; gap:8px; }
  table.fp tfoot td { font-weight:700; border-bottom:0; border-top:2px solid var(--border-strong); }
  table.fp .yr { color:var(--faint); font-size:11px; }

  /* Sticky header and the under-600px card layout are app/tables.css's
   * .tdi-table now (POLISH lane, 2026-09-23; the table carries that class).
   * white-space:nowrap stays for desktop's one-line rows, but is lifted
   * under 600px -- a card's "Figures not yet transcribed" line needs to
   * wrap, not push the card wider than the phone screen. */
  table.filings { width:100%; font-size:12.5px; margin-top:8px; }
  table.filings th, table.filings td { text-align:right; white-space:nowrap; }
  table.filings th:first-child, table.filings td:first-child,
  table.filings th:nth-child(2), table.filings td:nth-child(2) { text-align:left; }
  table.filings td.na { color:var(--faint); font-style:italic; }
  @media (max-width:600px) { table.filings td { white-space:normal; } }
  details.all { margin-top:12px; }
  details.all summary { cursor:pointer; font-size:12.5px; color:var(--gold); min-height:28px;
                        display:inline-flex; align-items:center; gap:8px; list-style:none; }
  details.all summary::-webkit-details-marker { display:none; }
  /* inline-flex drops the browser's own triangle, so draw one */
  details.all summary::before { content:""; border-left:5px solid currentColor; border-top:4px solid transparent;
                                border-bottom:4px solid transparent; transition:transform .15s; }
  details.all[open] summary::before { transform:rotate(90deg); }
  .table-scroll { overflow-x:auto; }

  /* ---- Key people table (lane KEYPEOPLE) ---- */
  .tdi-table caption { caption-side:top; text-align:left; font-size:var(--text-2xs); color:var(--faint);
                        padding:0 0 6px; }
  .kp-link { display:inline-flex; align-items:center; min-height:24px; } /* WCAG 2.5.8 target size */
  .kp-part-year { color:var(--faint); }
  @media (min-width:601px) { .tdi-table td.num, .tdi-table th.num { text-align:right; } }
  /* Condensed (owner, 2026-09-24: "make the key people details cells not as
     tall"): one line per person. The same 12.5px as this page's other
     tables, tighter cells, and money/hours/filing cells that never wrap.
     The per-person pay breakdowns are one collapsed table underneath
     (details.kp-pay, app/keypeople.js renderScheduleJTable()), not a
     full-width row under each person. */
  .kp-table { font-size:12.5px; line-height:1.3; }
  .kp-table th, .kp-table td { padding:5px 10px; vertical-align:top; }
  .kp-table td.num, .kp-table td.kp-hours, .kp-table td.kp-filing { white-space:nowrap; }
  /* a name and its "(part year)" stay on one line; the title column is the
     one that wraps */
  .kp-table .kp-name, .kp-table .hint { white-space:nowrap; }
  /* the filing link keeps its 24px target (.kp-link); its cell gives back
     the padding so the row stays as short as its text cells */
  .kp-table td.kp-filing { padding-top:1px; padding-bottom:1px; }
  .kp-table .hint, .kp-table .pdf-note, .kp-part-year { font-size:11px; color:var(--faint); }
  details.kp-pay { margin-top:6px; }
  /* the breakdown has six money columns: a "+$N related" figure drops under
     its own figure rather than pushing the table wider than the page */
  .kp-table.kp-pay-table td.num { white-space:normal; }
  .kp-table.kp-pay-table th, .kp-table.kp-pay-table td { padding-left:7px; padding-right:7px; }
  /* headers wrap ("From related / orgs") so a money column is only as wide
     as its figures, and the title column keeps the room */
  .tdi-table.kp-table thead th { white-space:normal; vertical-align:bottom; }
  /* Phone: a compact card instead of tables.css's one-field-per-line card
     (7 lines, ~184px a person): the name and title across the top, then
     the figures three to a line, each with its small label above it. */
  @media (max-width:600px) {
    .tdi-table.kp-table tr { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:4px 12px;
                             padding:6px 10px; margin-bottom:8px; }
    .tdi-table.kp-table td { display:block; padding:0; border-bottom:0; text-align:left; white-space:normal; }
    .tdi-table.kp-table td[data-label]::before { display:block; margin:0; font-size:10.5px; }
    .tdi-table.kp-table td[data-label="Name"], .tdi-table.kp-table td[data-label="Title"] { grid-column:1 / -1; }
    .tdi-table.kp-table td[data-label="Name"]::before,
    .tdi-table.kp-table td[data-label="Title"]::before { content:none; }
    .tdi-table.kp-table td[data-label="Name"] { font-weight:600; font-size:13px; }
    .tdi-table.kp-table td[data-label="Title"] { color:var(--muted); }
  }

  /* ---- FEC ---- */
  .committee { padding:12px 0; border-top:1px solid var(--border); }
  .committee:first-of-type { border-top:0; padding-top:0; }
  .committee .ch { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; }
  .committee .ch b { font-size:14px; }
  .fec-chart { margin:10px 0 4px; }  /* lane VIZ: a committee's cycles (app/tdi-chart.js) */
  .reports { list-style:none; margin:6px 0 0; padding:0; font-size:12.5px; }
  .reports li { padding:4px 0; border-bottom:1px dashed var(--border); }

  /* ---- plain lists: cases, hearings, model bills ---- */
  .rows { list-style:none; margin:0; padding:0; }
  .rows li { display:flex; gap:12px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--border); }
  .rows li:first-child { padding-top:0; }
  .rows .when { flex-shrink:0; width:92px; color:var(--faint); font-size:12px; font-variant-numeric:tabular-nums; }
  .rows .what { min-width:0; }
  .rows .what a { color:var(--text); font-weight:600; text-decoration:none; border-bottom:1px dotted var(--muted);
                  display:inline-flex; align-items:center; min-height:24px; }
  .rows .what a:hover { color:var(--gold); }
  .rows .sub { color:var(--muted); font-size:12px; }
  .tag { display:inline-block; font-size:10.5px; padding:1px 8px; border-radius:999px; margin-left:6px;
         border:1px solid var(--border-strong); color:var(--muted); white-space:nowrap; }

  /* ---- lane FIRMS: counsel section (cases/lawyers/clients/co-counsel/990) ---- */
  .counsel-sub { margin:18px 0 0; }
  .counsel-sub:first-child { margin-top:0; }
  .counsel-sub h3 { font-size:13.5px; margin:0 0 8px; color:var(--muted); }
  .chiplist { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px; }
  /* one pill per item: the name's own link (or span); its count sits INSIDE
     it as .n, never as a second pill beside it */
  .chiplist li > a, .chiplist li > span { display:inline-flex; align-items:center; gap:6px; min-height:24px;
    padding:2px 10px; border:1px solid var(--border-strong); border-radius:999px; font-size:12px;
    color:var(--text); text-decoration:none; }
  .chiplist li > a:hover { color:var(--gold); border-color:var(--gold); }
  .chiplist .n { color:var(--muted); font-size:11px; font-variant-numeric:tabular-nums; }
  .own-kind-badge { display:inline-block; font-size:10.5px; padding:1px 8px; border-radius:999px;
    margin-left:6px; border:1px solid var(--gold); color:var(--gold); white-space:nowrap; }
  .paidby-row { display:flex; justify-content:space-between; gap:12px; padding:8px 0;
    border-bottom:1px solid var(--border); font-size:12.5px; }
  .paidby-row:first-child { padding-top:0; }
  .paidby-row .amt { font-variant-numeric:tabular-nums; color:var(--text); white-space:nowrap; }

  /* ---- the side column ---- */
  dl.facts { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; margin:0; font-size:12.5px; }
  dl.facts dt { color:var(--faint); }
  dl.facts dd { margin:0; overflow-wrap:anywhere; }
  dl.facts a { color:var(--text); }
  .aliases { display:flex; flex-wrap:wrap; gap:5px; margin:0; padding:0; list-style:none; }
  .aliases li { font-size:11.5px; padding:1px 8px; border:1px solid var(--border-strong); border-radius:5px;
                color:var(--muted); }
  .pending-note { margin-top:10px; padding:8px 10px; border-left:3px solid var(--gold); background:var(--panel2);
                  border-radius:0 6px 6px 0; font-size:12.5px; }
  .pending-note a { color:var(--gold); display:inline-flex; align-items:center; min-height:24px; }
  .mini { list-style:none; margin:0; padding:0; font-size:12.5px; }
  .mini li { display:flex; align-items:center; gap:8px; padding:6px 0; border-bottom:1px solid var(--border); }
  .mini li:last-child { border-bottom:0; }
  .mini a { color:var(--text); text-decoration:none; display:inline-flex; align-items:center; min-height:24px; }
  .mini a:hover { color:var(--gold); }
  .mini .sub { color:var(--muted); font-size:11.5px; display:block; }
  .sources { list-style:none; margin:0; padding:0; font-size:11.5px; color:var(--faint); }
  .sources li { padding:4px 0; }
  .sources b { color:var(--muted); font-weight:600; }

  /* ---- states ---- */
  .state { color:var(--muted); font-size:13.5px; padding:10px 2px; }
  .state.error { color:var(--anti-text); display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
  .state.error button { background:var(--panel2); color:var(--text); font:inherit; border:1px solid var(--control-border);
                        border-radius:5px; padding:5px 12px; min-height:24px; cursor:pointer; }
  .state.error button:hover { border-color:var(--gold); color:var(--gold); }
  #page[hidden] { display:none; }

  a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
    outline:2px solid var(--gold); outline-offset:2px; border-radius:3px; }
  .vh { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden;
        clip:rect(0 0 0 0); white-space:nowrap; border:0; }
  [hidden] { display:none !important; }
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important;
                             transition-duration:.01ms !important; scroll-behavior:auto !important; }
  }
  @media (prefers-reduced-motion: no-preference) { html { scroll-behavior:smooth; } }
