.single-line-table { min-width: 100%; width: max-content; table-layout: auto; }
.single-line-table th, .single-line-table td { white-space: nowrap; padding: 8px 10px; vertical-align: middle; }
.single-line-table [data-column][hidden] { display: none !important; }
.single-line-table .numeric { text-align: right; font-variant-numeric: tabular-nums; }
.single-line-table .company-name, .single-line-table .category-reference { white-space: nowrap; }
.single-line-table .reference-detail { display: inline; margin: 0 0 0 7px; color: #a4b4ca; font-size: 12px; }
.single-line-table .table-tools-heading, .single-line-table .table-tools-cell { position: sticky; right: 0; min-width: 114px; width: 114px; background: #232d40; box-shadow: -1px 0 #3b4860; }
.single-line-table .table-tools-heading { z-index: 4; background: #293247; }
.table-tools-heading > div { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.table-column-menu { position: relative; }
.table-column-menu summary { display: grid; place-items: center; list-style: none; cursor: pointer; color: #fff; width: 26px; height: 26px; }
.table-column-menu summary::-webkit-details-marker { display: none; }
.table-column-options { position: absolute; top: calc(100% + 6px); right: -8px; width: 215px; padding: 7px; max-height: 360px; overflow-y: auto; border: 1px solid #53617b; border-radius: 5px; background: #293247; box-shadow: 0 8px 24px #0007; }
.table-column-options label { display: flex; align-items: center; gap: 8px; padding: 7px; font-size: 13px; font-weight: 400; }
.table-column-options input { width: 14px; min-height: 14px; height: 14px; }
.row-tools { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.table-tool { display: grid; place-items: center; width: 28px; height: 28px; padding: 4px; border: 0; background: transparent; color: #c1d2e5; }
.table-tool:hover { color: #fff; background: #3a4b64; }
.table-tool-delete:hover { color: #ffb3bc; }
.contact-link { color: #a4d3df; text-decoration: none; }
.contact-link:hover { text-decoration: underline; }
.record-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.record-fields label { display: flex; flex-direction: column; gap: 5px; font-size: 12px; color: #afc0d6; min-width: 0; }
.record-fields :is(input,select,textarea) { width: 100%; min-width: 0; }
.record-fields input[type="checkbox"] { width: 18px; align-self: flex-start; }
.record-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 16px; }
.danger-button { display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: #613442; border: 1px solid #ab6375; color: #ffe1e5; }
.table-undo { position: fixed; bottom: 16px; left: 50%; transform: translateX(-50%); z-index: 60; display: flex; align-items: center; gap: 14px; max-width: 90vw; padding: 10px 14px; border: 1px solid #607995; background: #2b354b; box-shadow: 0 6px 24px #0007; font-size: 13px; }
.table-undo button { background: transparent; border: 0; color: #bfe9f3; }
@media(max-width:700px) { .record-fields { grid-template-columns: minmax(0,1fr); } }

.single-line-table tbody tr:is([data-company-open],[data-category-open],[data-directory-open]) { cursor: pointer; }
.single-line-table [data-column="name"] .company-name { display: block; max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.single-line-table [data-column="email"] .contact-link { display: block; max-width: 240px; overflow: hidden; text-overflow: ellipsis; }

.single-line-table[data-table-id="companies"] [data-column="name"] .company-name { max-width: 220px; }
.single-line-table[data-table-id="companies"] [data-column="email"] .contact-link { max-width: 200px; }
.cell-truncate { display: block; max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
