.directory-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.directory-header h2 { margin:0; font-size:20px; }
.directory-actions { display:flex; gap:8px; }
.primary, .directory-actions button, .modal-actions button[type="submit"] { border:0; background:var(--blue); color:#fff; padding:11px 16px; border-radius:9px; cursor:pointer; }
.secondary { border:1px solid var(--line)!important; background:#fff!important; color:var(--text)!important; }
.directory-table { min-width:900px; }
.directory-table tr.archived { opacity:.5; }
.row-actions { display:flex; gap:6px; justify-content:flex-end; }
.icon-btn { border:1px solid var(--line); background:#fff; color:var(--blue); border-radius:7px; padding:6px 9px; cursor:pointer; }
.badge { display:inline-block; padding:3px 8px; border-radius:999px; background:#edf2ff; color:var(--blue); font-size:12px; }
.modal { position:fixed; inset:0; background:#12214b66; display:grid; place-items:center; padding:20px; z-index:20; }
.modal-card { width:min(720px,96vw); max-height:90vh; overflow:auto; background:#fff; border-radius:15px; padding:24px; box-shadow:0 24px 80px #10214b44; }
.modal-card.wide { width:min(880px,96vw); }
.modal-head { display:flex; align-items:center; justify-content:space-between; }
.modal-head h2 { margin:0; }
.modal-head button { border:0; background:transparent; font-size:30px; color:var(--muted); cursor:pointer; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
.form-grid label.full { grid-column:1/-1; }
.form-grid select, .form-grid textarea { width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:9px; background:#fff; font:inherit; }
.form-grid textarea { min-height:92px; resize:vertical; }
.checkbox-row { display:flex!important; align-items:center; gap:9px; margin-top:28px; }
.checkbox-row input { width:auto; }
.modal-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:18px; }
.subsection { margin-top:26px; }
.subsection h2 { font-size:18px; }
.category-parent td { background:#f8faff; border-top:1px solid var(--line); }
.category-child td:first-child { padding-left:42px; color:#40547f; }
.directory-tabs { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.directory-tabs button { border:1px solid var(--line); background:#fff; color:var(--text); padding:10px 13px; border-radius:8px; cursor:pointer; }
.directory-tabs button.active { border-color:var(--blue); background:#edf2ff; color:var(--blue); font-weight:700; }
.directory-filters { display:flex; gap:12px; justify-content:flex-end; margin-bottom:14px; }
.directory-filters label { margin:0; min-width:220px; }
.directory-filters select { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.directory-table .tax-col { width:150px; max-width:150px; }
.directory-table .comment-col { min-width:330px; width:38%; white-space:normal; }
.overview-settings { display:flex; justify-content:flex-end; }
.category-block { margin-bottom:28px; }
.category-block-head { display:flex; align-items:center; gap:8px; margin-bottom:12px; }
.category-block-head h2 { margin:0; font-size:20px; }
.category-block-toggle,.category-toggle { border:0; background:#eef2fa; color:var(--navy); width:32px; height:32px; border-radius:50%; cursor:pointer; font-size:20px; line-height:1; }
.category-add { margin-left:auto; border:0; background:var(--blue); color:#fff; padding:10px 14px; border-radius:9px; cursor:pointer; }
.category-table .category-toggle { width:25px; height:25px; margin-right:8px; font-size:17px; vertical-align:middle; }
.category-toggle.invisible { visibility:hidden; }
.category-branch { display:inline-block; width:28px; color:var(--muted); }
.category-table th:last-child,.category-table td:last-child { width:180px; }
.company-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(360px,1fr)); gap:16px; }
.company-card { background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; box-shadow:0 8px 24px #1531660a; }
.company-card.archived { opacity:.55; }
.company-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
.company-card h3 { margin:0 0 8px; font-size:20px; color:var(--navy); }
.company-card-facts { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0 14px; }
.company-card-facts small { display:block; color:var(--muted); margin-bottom:3px; }
.company-comment { margin:14px 0; padding:11px 13px; background:#f6f8fd; border-radius:9px; color:#405071; }
.company-account-tags { display:flex; gap:7px; flex-wrap:wrap; }
.company-account-tags span { padding:5px 9px; background:#eef3ff; color:#3859a8; border-radius:999px; font-size:12px; }
.company-account-tags .muted-tag { background:#f3f4f7; color:var(--muted); }
.modal-card.company-editor-card { width:min(1040px,96vw); }
.company-account-selector { grid-column:1/-1; border:1px solid var(--line); border-radius:12px; padding:14px; margin:14px 0 0; }
.company-account-selector legend { font-weight:750; padding:0 8px; color:var(--navy); }
.company-account-selector > p { color:var(--muted); margin:0 0 12px; font-size:13px; }
.company-account-selected { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:10px; }
.company-account-selected span { padding:6px 10px; background:#eef3ff; color:#3859a8; border-radius:999px; font-size:12px; }
.company-account-selected .muted-tag { background:#f3f4f7; color:var(--muted); }
.company-account-dropdown { position:relative; }
.company-account-dropdown summary { display:flex; align-items:center; justify-content:space-between; gap:12px; list-style:none; padding:12px 14px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--text); cursor:pointer; }
.company-account-dropdown summary::-webkit-details-marker { display:none; }
.company-account-dropdown summary::after { content:"⌄"; color:var(--blue); font-size:20px; line-height:1; }
.company-account-dropdown[open] summary::after { content:"⌃"; }
.company-account-dropdown summary b { margin-left:auto; min-width:28px; padding:3px 8px; border-radius:999px; background:#edf2ff; color:var(--blue); text-align:center; font-size:12px; }
.company-account-list { display:grid; grid-template-columns:1fr 1fr; gap:8px; max-height:280px; overflow:auto; padding:10px; margin-top:7px; border:1px solid var(--line); border-radius:10px; background:#fff; box-shadow:0 12px 30px #15316614; }
.company-account-option { display:flex; align-items:center; gap:10px; margin:0; padding:10px; border:1px solid var(--line); border-radius:9px; font-weight:400; }
.company-account-option input { width:auto; margin:0; }
.company-account-option span { min-width:0; }
.company-account-option b,.company-account-option small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.company-account-option small { color:var(--muted); margin-top:2px; }
@media(max-width:900px) { .form-grid { grid-template-columns:1fr; } }
@media(max-width:700px) { .company-grid,.company-account-list { grid-template-columns:1fr; } }
