.company-app { display: grid; gap: 22px; min-width: 0; }
.company-intro { padding: clamp(20px, 4vw, 38px); min-width: 0; }
.company-intro h1 { margin: 4px 0 12px; font-size: clamp(2rem, 5vw, 3.3rem); line-height: 1.08; }
.company-intro .lead { max-width: 70ch; }
.company-search-form { display: grid; gap: 9px; margin: 24px 0 12px; }
.company-search-form label { color: #f7e8ef; font-weight: 700; }
.search-controls { display: flex; gap: 10px; width: 100%; min-width: 0; }
.search-controls input { flex: 1 1 auto; min-width: 0; height: 50px; padding: 0 14px; border: 1px solid rgba(246, 208, 223, .33); border-radius: 12px; background: #160d17; color: #fff7fb; font: inherit; }
.search-controls input::placeholder { color: #b8a9b4; }
.search-controls input:focus-visible, .search-controls button:focus-visible, .company-result:focus-visible, .back-link:focus-visible { outline: 3px solid #ffd5e0; outline-offset: 3px; }
.search-controls button { flex: 0 0 auto; min-width: 112px; }
.company-search-form .micro { margin: 0; }
.registry-meta, .search-state { margin: 16px 0 0; color: #e6d5df; line-height: 1.55; overflow-wrap: anywhere; }
.search-state[data-kind="error"] { color: #ffd0d0; }
.search-state[data-kind="stale"] { color: #ffe0a6; }
.search-results { display: grid; gap: 12px; margin-top: 18px; min-width: 0; }
.company-result { display: grid; gap: 7px; width: 100%; min-width: 0; padding: 16px; border: 1px solid rgba(246, 208, 223, .18); border-radius: 14px; background: rgba(20, 10, 20, .72); color: inherit; text-align: left; cursor: pointer; }
.company-result:hover { border-color: rgba(255, 145, 173, .72); background: rgba(45, 18, 34, .88); }
.company-result strong { color: #fff6fa; font-size: 1.08rem; overflow-wrap: anywhere; }
.company-result span { color: #cdbbc7; overflow-wrap: anywhere; }
.result-source { color: #f4bdce !important; font-size: .82rem; }
.company-dossier { padding: clamp(18px, 4vw, 34px); min-width: 0; }
.company-dossier[hidden] { display: none; }
.back-link { display: inline-block; margin-bottom: 20px; color: #ffd3e0; }
.dossier-heading { display: grid; gap: 10px; margin-bottom: 20px; }
.dossier-heading h2 { margin: 0; font-size: clamp(1.7rem, 4.5vw, 2.6rem); line-height: 1.13; overflow-wrap: anywhere; }
.dossier-badge { justify-self: start; padding: 5px 9px; border: 1px solid rgba(255, 145, 173, .45); border-radius: 999px; color: #ffd0df; font-size: .82rem; }
.dossier-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.dossier-field { min-width: 0; padding: 14px; border: 1px solid rgba(246, 208, 223, .16); border-radius: 12px; background: rgba(12, 6, 14, .52); }
.dossier-field dt { margin-bottom: 6px; color: #cdbbc7; font-size: .88rem; }
.dossier-field dd { margin: 0; color: #fff7fb; overflow-wrap: anywhere; }
.dossier-note { margin: 14px 0; padding: 14px 16px; border-left: 3px solid #d65a7d; background: rgba(70, 20, 45, .32); color: #f4e4ec; line-height: 1.55; overflow-wrap: anywhere; }
.dossier-source { display: grid; gap: 8px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(246, 208, 223, .2); color: #e6d5df; overflow-wrap: anywhere; }
.dossier-source a, .public-boundary a { color: #ffd0df; }
.matched-units { margin: 8px 0 0; padding-left: 22px; color: #f1e1ea; overflow-wrap: anywhere; }
.public-boundary { padding: 16px 20px; border: 1px solid rgba(246, 208, 223, .16); border-radius: 14px; color: #ddd0d9; line-height: 1.55; overflow-wrap: anywhere; }
.public-boundary p:first-child { margin-top: 0; }
.public-boundary p:last-child { margin-bottom: 0; }
.site-footer { max-width: 1080px; margin: 0 auto; padding: 0 22px 32px; color: #b9a9b6; font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .company-app { gap: 14px; }
  .company-intro { padding: 19px 16px; }
  .search-controls { flex-direction: column; }
  .search-controls button { min-height: 48px; width: 100%; }
  .dossier-grid { grid-template-columns: minmax(0, 1fr); }
  .site-footer { padding: 0 16px 26px; }
}
