:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.app-shell{flex-direction:column;min-height:100svh;display:flex}.app-main{text-align:left;flex:auto;padding:32px 24px}.app-footer{border-top:1px solid var(--border);padding:16px 24px;font-size:14px}.app-nav{border-bottom:1px solid var(--border);gap:8px;padding:12px 24px;display:flex}.app-nav__link{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:6px 12px}.app-nav__link--active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--text-h)}.login-page,.search-page,.company-page,.bodacc-collective-page,.analysis-page,.jobs-page{max-width:760px;margin:0 auto}.db-stats{border:1px solid var(--border);background:var(--accent-bg);border-radius:4px;margin:0 0 12px;padding:8px 12px;font-size:.9em}.login-page form,.search-page form,.company-page form,.bodacc-collective-page form,.analysis-page form,.jobs-page form{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.login-page label,.search-page form>label,.company-page form>label,.bodacc-collective-page form>label,.analysis-page form>label,.jobs-page form>label{flex-direction:column;gap:4px;width:100%;max-width:320px;display:flex}.search-page input[type=text],.search-page input:not([type]),.search-page input[type=number],.search-page input[type=password],.company-page input:not([type]),.bodacc-collective-page input,.analysis-page input,.jobs-page input[type=text],.login-page input{border:1px solid var(--border);font:inherit;border-radius:4px;padding:8px}.search-page fieldset{border:1px solid var(--border);border-radius:4px;padding:8px 16px}.view-option{align-items:center;gap:6px;margin-right:16px;display:inline-flex}.naf-select{width:100%;max-width:320px;position:relative}.naf-select input{box-sizing:border-box;border:1px solid var(--border);width:100%;font:inherit;border-radius:4px;padding:8px}.naf-options{border:1px solid var(--border);background:var(--bg);z-index:10;border-radius:4px;width:100%;max-height:220px;margin:4px 0 0;padding:0;list-style:none;position:absolute;overflow-y:auto}.naf-options li{border-bottom:1px solid var(--border)}.naf-options li:last-child{border-bottom:none}.naf-options button{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;padding:8px;display:block}.naf-options button:hover,.naf-options button:focus-visible{background:var(--accent-bg)}.naf-chips{flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:0;list-style:none;display:flex}.naf-chip{border:1px solid var(--accent-border);background:var(--accent-bg);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 4px 3px 8px;font-size:.85em;display:inline-flex}.naf-chip>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.naf-chip button{cursor:pointer;font:inherit;color:inherit;opacity:.7;background:0 0;border:none;padding:0 4px;line-height:1}.naf-chip button:hover,.naf-chip button:focus-visible{opacity:1}button[type=submit]{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:4px;padding:8px 20px}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.search-error,.login-error{color:#c0392b}.search-results{margin-top:24px}.results-summary{font-weight:500}.truncated-hint{color:#b8860b}.search-results__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search-results__actions button{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:4px;padding:8px 16px}.export-button{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);border-radius:4px;margin:8px 0 16px;padding:8px 16px;text-decoration:none;display:inline-block}.search-results__actions .export-button{margin:0}.export-button[aria-disabled=true]{opacity:.5;pointer-events:none}.results-table-wrap{overflow-x:auto}.results-table{border-collapse:collapse;width:100%;font-size:14px}.results-table th,.results-table td{border:1px solid var(--border);text-align:left;white-space:nowrap;padding:6px 10px}.results-table th{background:var(--code-bg)}.company-siren{margin:24px 0 8px;font-size:15px}.company-detail{flex-direction:column;gap:24px;margin-top:8px;display:flex}.company-section{border:1px solid var(--border);border-radius:6px;padding:16px}.company-section__head{align-items:center;gap:12px;display:flex}.company-section__head h2{margin:0}.section-provenance{color:var(--text);margin:4px 0 12px;font-size:13px}.section-placeholder{color:var(--text);font-style:italic}.status-chip{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.status-chip--available{color:#1a7f37;background:#2ea0431f;border-color:#2ea04366}.status-chip--temporarily_unavailable{color:#c0392b;background:#c0392b1a;border-color:#c0392b66}.status-chip--pending{background:var(--code-bg);border-color:var(--border);color:var(--text)}.identity-list{grid-template-columns:max-content 1fr;gap:4px 16px;margin:0;display:grid}.identity-list__row{display:contents}.identity-list dt{color:var(--text-h);font-weight:500}.identity-list dd{overflow-wrap:anywhere;margin:0}.siege{margin-top:16px}.siege__title{color:var(--text-h);margin:0 0 6px;font-size:15px}.siege__address{margin:0 0 10px;font-weight:500}.siege__map-link{font-size:.9em;font-weight:400}.identity-more{margin-top:12px}.identity-more summary{cursor:pointer;color:var(--text-h);margin-bottom:6px}.finances-table{border-collapse:collapse;width:100%;font-size:14px}.finances-table th,.finances-table td{border:1px solid var(--border);text-align:left;padding:6px 10px}.finances-table th{background:var(--code-bg)}.ownership-list,.bodacc-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ownership-badge{border:1px solid var(--border);border-radius:4px;padding:10px 12px}.ownership-badge--inferred{border-style:dashed;border-color:#b8860b}.ownership-badge__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ownership-badge__type{color:var(--text-h);font-weight:500}.ownership-badge__marker{border-radius:999px;padding:2px 8px;font-size:12px}.ownership-badge__marker--inferred{color:#b8860b;background:#b8860b26;border:1px solid #b8860b66}.ownership-badge__marker--confirmed{color:#1a7f37;background:#2ea0431f;border:1px solid #2ea04366}.ownership-badge__subject,.ownership-badge__meta,.ownership-badge__explanation{margin:4px 0 0;font-size:14px}.ownership-badge__meta{color:var(--text);font-size:13px}.bodacc-list__item{border:1px solid var(--border);border-radius:4px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 10px;font-size:14px;display:flex}.bodacc-list__date{color:var(--text-h);font-weight:500}.bodacc-list__event{font-weight:500}.bodacc-list__meta{color:var(--text);flex-basis:100%;margin:2px 0 0;font-size:13px}.bodacc-collective-results{margin-top:24px}.pagination{align-items:center;gap:12px;margin-top:16px;display:flex}.pagination button{border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px}.pagination button:disabled{opacity:.5;cursor:not-allowed}.analysis-status{margin-top:16px;font-weight:500}.analysis-error{color:#c0392b;margin-top:16px}.analysis-results{margin-top:24px}.link-graph{flex-direction:column;gap:12px;display:flex}.link-graph__empty{color:var(--text)}.link-graph__toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.link-graph__toolbar button{border:1px solid var(--border);background:var(--bg);min-width:32px;color:inherit;font:inherit;cursor:pointer;border-radius:4px;padding:4px 10px}.link-graph__toolbar button:hover,.link-graph__toolbar button:focus-visible{background:var(--accent-bg)}.link-graph__hint{color:var(--text);opacity:.75;font-size:.82em}.link-graph__svg{border:1px solid var(--border);background:var(--bg);cursor:grab;touch-action:none;border-radius:4px;width:100%;height:72vh;min-height:420px}.link-graph__svg:active{cursor:grabbing}.link-graph__node{cursor:pointer}.link-graph__edge-hit{stroke:#0000;stroke-width:14px;fill:none;pointer-events:stroke;cursor:pointer}.link-graph__edge{pointer-events:none}.link-graph__detail{border:1px solid var(--border);background:var(--code-bg);border-radius:4px;min-height:44px;padding:10px 12px;font-size:.9em}.link-graph__detail-type{color:var(--text);opacity:.8}.link-graph__detail-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.link-graph__siren{-webkit-user-select:all;user-select:all;background:var(--bg);border:1px solid var(--border);border-radius:3px;padding:1px 6px}.link-graph__detail-actions button{border:1px solid var(--border);background:var(--bg);color:inherit;font:inherit;cursor:pointer;border-radius:4px;padding:2px 10px}.link-graph__detail-actions button:hover,.link-graph__detail-actions button:focus-visible{background:var(--accent-bg)}.link-graph__detail-pair{color:var(--text)}.link-graph__evidence{margin:6px 0 0;padding:0;list-style:none}.link-graph__evi-key{color:var(--text);opacity:.75}.link-graph__edge{stroke-width:1.5px}.link-graph__edge--shared_director{stroke:#2563eb}.link-graph__edge--shared_address{stroke:#d97706}.link-graph__node-circle{stroke:var(--bg);stroke-width:2px}.link-graph__node--company .link-graph__node-circle{fill:#2563eb}.link-graph__node--person .link-graph__node-circle{fill:#16a34a}.link-graph__node--address .link-graph__node-circle{fill:#d97706}.link-graph__node-hub-ring{fill:none;stroke:#c0392b;stroke-width:2px;stroke-dasharray:3 2}.link-graph__node-label{fill:var(--text-h);font-size:11px}.link-graph__node-hub-mark{fill:#c0392b;text-transform:uppercase;font-size:10px;font-weight:700}.link-graph__card{transition:fill .2s}.link-graph__edge{stroke-width:1.5px;stroke-opacity:.5;stroke-linecap:round;transition:stroke-opacity .15s}.link-graph__edge-group:hover .link-graph__edge{stroke-opacity:1;stroke-width:2.5px}.link-graph__node-label{paint-order:stroke;stroke:var(--bg);stroke-width:3px;transition:opacity .15s}.link-graph__node-label--hub{font-weight:600}.link-graph__nodes--labels-min .link-graph__node-label:not(.link-graph__node-label--hub){opacity:0;pointer-events:none}.link-graph__legend{color:var(--text);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.link-graph__legend-item{padding-left:18px;position:relative}.link-graph__legend-item:before{content:"";border-radius:50%;width:12px;height:12px;position:absolute;top:3px;left:0}.link-graph__legend-item--company:before{background:#2563eb}.link-graph__legend-item--person:before{background:#16a34a}.link-graph__legend-item--address:before{background:#d97706}.link-graph__legend-item--hub:before{background:0 0;border:2px dashed #c0392b}.progress{flex-direction:column;gap:4px;margin-top:8px;display:flex}.progress__bar{width:100%}.progress__label{color:var(--text);font-size:13px}.jobs-error{color:#c0392b;margin-top:16px}.jobs-list{flex-direction:column;gap:12px;margin:24px 0 0;padding:0;list-style:none;display:flex}.jobs-list__item{border:1px solid var(--border);border-radius:6px;padding:12px 16px}.jobs-list__head{align-items:center;gap:12px;display:flex}.jobs-list__id{color:var(--text-h);font-weight:500}.jobs-list__type{color:var(--text)}.status-badge{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:500;display:inline-block}.status-badge--done{color:#1a7f37;background:#2ea0431f;border-color:#2ea04366}.status-badge--error{color:#c0392b;background:#c0392b1a;border-color:#c0392b66}.status-badge--running,.status-badge--queued{background:var(--code-bg);border-color:var(--border);color:var(--text)}.status-badge--canceled{color:var(--text-muted,#6a6a6a);background:#8c8c8c1f;border-color:#8c8c8c66}.jobs-list__warn{color:#b26a00;margin:6px 0 0;font-size:13px}.jobs-list__cancel{border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:4px;margin-left:auto;padding:2px 10px;font-size:12px}.jobs-list__resume{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--text-h);cursor:pointer;border-radius:4px;padding:2px 10px;font-size:12px}.jobs-list__resume:hover,.jobs-list__resume:focus-visible{filter:brightness(.95)}.jobs-list__cancel:hover,.jobs-list__cancel:focus-visible{color:#c0392b;border-color:#c0392b80}.db-graph-section{border-top:1px solid var(--border);margin-top:32px;padding-top:24px}.db-graph-hint{color:var(--text);margin:0 0 12px;font-size:.9em}.db-graph-summary{margin:0 0 8px;font-weight:500}.sellable-page{margin:0 auto}.sellable-hint{color:var(--text);margin:0 0 16px;font-size:.9em}.sellable-page form{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.sellable-page label{flex-direction:column;gap:4px;display:flex}.sellable-page select{border:1px solid var(--border);font:inherit;background:var(--bg);color:inherit;border-radius:4px;padding:8px}.linklike{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.jobs-page select{border:1px solid var(--border);font:inherit;background:var(--bg);color:inherit;border-radius:4px;max-width:360px;padding:8px}
