#settings-screen [hidden] { display:none !important; }
#company-merge-dialog { width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto;margin:auto;padding:22px;border:1px solid var(--border);border-radius:12px;background:#fff;color:var(--text); }
#company-merge-dialog::backdrop { background:rgba(0,0,0,.4); }
#company-merge-dialog h2 { font-size:19px;margin:0 0 12px; }
#company-merge-dialog p { margin:10px 0;font-size:12px;line-height:1.6; }
#company-merge-dialog label { display:grid;gap:6px;font-size:12px; }
#company-merge-dialog select { width:100%;padding:9px;border:1px solid var(--border);border-radius:6px;background:inherit;color:inherit; }
#company-merge-preview { padding:8px 0; }
.company-merge-buttons { display:flex;gap:8px;flex-wrap:wrap; }
body.dark #company-merge-dialog { background:#242424; }
.mapping-manager { border:1px solid var(--border);border-radius:9px;margin-top:14px; }
.mapping-manager > summary { padding:12px 14px;cursor:pointer;font-size:13px;font-weight:700; }
.mapping-count { display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:var(--orange-light);color:#a74900;font-size:11px; }
.mapping-controls { display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:0 14px 12px; }
.mapping-controls label,.mapping-edit label { display:grid;gap:4px;font-size:11px;color:var(--text-light); }
.mapping-controls label:first-child { flex:1;min-width:180px; }
.mapping-controls input,.mapping-controls select,.mapping-edit input { width:100%;min-width:0;padding:7px 9px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:12px;background:#fff;color:var(--text); }
.mapping-list { max-height:370px;overflow:auto;border-top:1px solid var(--border);padding:4px 10px; }
.mapping-row { border-bottom:1px solid var(--border); }
.mapping-row:last-of-type { border-bottom:0; }
#settings-screen .mapping-row > summary { display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:9px 5px;font-size:12px;font-weight:400; }
.mapping-title { display:grid;gap:2px;min-width:0;overflow-wrap:anywhere; }
.mapping-title small { font-size:10px;color:var(--text-light);font-weight:400; }
.mapping-edit-label { font-size:11px;color:var(--orange);flex-shrink:0; }
.mapping-edit { display:flex;gap:10px;align-items:end;padding:3px 5px 12px; }
.mapping-edit label { flex:1;min-width:0; }
.mapping-empty { font-size:12px;color:var(--text-light);padding:14px; }
body.dark .mapping-controls input,body.dark .mapping-controls select,body.dark .mapping-edit input { background:#1a1a1a; }
body.dark .mapping-count { background:#3c2a18;color:#ffad55; }
@media(max-width:600px) { .mapping-controls { gap:8px;padding:0 10px 10px; }.mapping-controls label { flex:1 1 100%; }.mapping-controls label:first-child { min-width:0; }.mapping-edit { flex-wrap:wrap; }.mapping-edit label { flex-basis:100%; }.mapping-list { max-height:360px; } }
#settings-screen { --settings-surface:#fff; }
body.dark #settings-screen { --settings-surface:#242424; }
.settings-heading { display:flex;align-items:center;justify-content:space-between;margin:8px 0 14px; }
.settings-heading h1 { font-size:22px; margin:0 0 3px; }
.settings-heading p { margin:0;font-size:12px;color:var(--text-light); }
.settings-navigation { display:flex;gap:6px;border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px;flex-wrap:wrap; }
.settings-navigation button,.company-section-tabs button { border:0;border-radius:7px;background:transparent;color:var(--text-light);padding:9px 14px;font:inherit;font-size:13px;cursor:pointer; }
.settings-navigation button[aria-pressed=true] { background:var(--orange-light);color:var(--orange);font-weight:700; }
body.dark .settings-navigation button[aria-pressed=true] { background:#3c2a18;color:#ffad55; }
.settings-workspace { display:grid;grid-template-columns:225px minmax(0,1fr);gap:14px;align-items:start; }
.settings-companies { border:1px solid var(--border);border-radius:10px;background:var(--bg);overflow:hidden; }
.settings-companies-heading { padding:14px;font-size:12px;font-weight:700;display:flex;justify-content:space-between;border-bottom:1px solid var(--border); }
#settings-company-list { max-height:calc(100dvh - 310px);overflow:auto;padding:6px; }
#settings-company-list button { display:grid;gap:5px;width:100%;text-align:left;padding:11px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);cursor:pointer; }
#settings-company-list button strong { font-size:12px;overflow-wrap:anywhere; }
#settings-company-list button small { color:var(--text-light);font-size:10px; }
#settings-company-list button[aria-pressed=true] { background:var(--orange-light);box-shadow:inset 3px 0 var(--orange); }
body.dark #settings-company-list button[aria-pressed=true] { background:#3c2a18; }
#settings-screen .settings-company-workspace { min-width:0;padding:12px; }
#settings-screen .settings-company-workspace > h2 { display:none; }
#settings-screen .settings-search-panel { background:var(--bg);border-color:var(--border);padding:10px 12px;margin-bottom:12px; }
#settings-screen .settings-global { margin-bottom:10px; }
.company-section-tabs { display:flex;gap:3px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:7px;margin-bottom:12px; }
.company-section-tabs button { font-size:12px;padding:7px 10px; }
.company-section-tabs button[aria-pressed=true] { background:var(--bg);color:var(--orange);box-shadow:0 0 0 1px var(--border);font-weight:700; }
#settings-screen .company-settings-grid { display:block;padding:0 0 12px; }
#settings-screen .company-settings-card { max-width:820px;padding:20px;margin:0;font-weight:400; }
#settings-screen .company-settings-card h3 { font-size:15px;margin-bottom:18px; }
#settings-screen .company-header td { background:var(--bg);padding:12px 14px; }
#settings-screen .company-titlebar { padding:2px 0 12px; }
#settings-screen .company-header-name { display:flex;gap:9px;align-items:center;flex-wrap:wrap; }
#settings-screen .company-name { font-size:16px; }
#settings-screen .company-header-notify { max-width:650px; }
#settings-screen .notification-schedule-settings { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }
#settings-screen .notification-schedule-settings .summary-time { display:grid;grid-template-columns:1fr;gap:7px;margin-top:0; }
#settings-screen .notification-schedule-settings .summary-hint { grid-column:1/-1;margin:0; }
#settings-screen .company-settings-card .company-summary-settings { margin-top:18px;padding-top:16px; }
#settings-screen .settings-table-wrap { overflow-x:auto; }
#settings-screen .settings-table { min-width:970px; }
/* Company forms need no horizontal table scrolling. */
#settings-screen .settings-table:has(.company-header[data-section]:not([data-section=transport]):not([style*="display: none"])) { min-width:0; }
#settings-screen .settings-table:has(.company-header[data-section]:not([data-section=transport]):not([style*="display: none"])) thead { display:none; }
#settings-screen .settings-table .company-policy-actions { padding:12px 0 20px; }
#settings-screen .settings-utility { border-bottom:1px solid var(--border);margin-bottom:10px;padding-bottom:8px; }
#settings-screen .settings-import { max-width:100%; }
#settings-screen .settings-page:not(#settings-page-companies) .transport-settings { padding:18px; }
#settings-screen .settings-page:not(#settings-page-companies) summary { font-size:15px;font-weight:700; }
@media(max-width:900px) {
 .settings-workspace { grid-template-columns:1fr;gap:10px; }
 .settings-companies { position:static; }
 #settings-company-list { display:flex;gap:4px;max-height:140px;overflow:auto; }
 #settings-company-list button { min-width:160px;max-width:230px;flex-shrink:0; }
 .settings-companies-heading { padding:9px 12px; }
 #settings-screen .notification-schedule-settings { grid-template-columns:1fr; }
 #settings-screen .company-settings-card { padding:14px; }
 .settings-navigation button { font-size:12px;padding:8px 10px; }
 #settings-screen .company-toggle-hint { display:none; }
 #settings-screen .settings-company-workspace { padding:8px; }
 .company-section-tabs { gap:2px; }
 .company-section-tabs button { padding:7px;font-size:11px; }
 #settings-screen .settings-utility { flex-direction:column;align-items:stretch; }
 #settings-screen .settings-utility > * { flex:auto; }
 #settings-screen .settings-utility > .settings-actions { display:flex;flex-wrap:wrap;gap:7px; }
 #settings-screen .settings-utility .settings-actions button { flex:1 1 auto;white-space:nowrap; }
 #settings-screen .settings-utility .spacer { display:none; }
 #settings-screen .settings-utility #settings-changes-info { flex-basis:100%; }
 #settings-screen .settings-table-wrap:has(.company-header[data-section]:not([data-section=transport]):not([style*="display: none"])) { max-height:none !important; }
 #settings-screen .settings-page .defaults-row { flex-wrap:wrap;white-space:normal; }
}
/* Local surface token also covers dark mode; the application's --bg stays white. */
#settings-screen .settings-companies,
#settings-screen .company-header td,
#settings-screen .company-section-tabs button[aria-pressed=true],
#settings-screen .settings-search-panel { background:var(--settings-surface); }
#settings-screen .company-summary-settings input[type=time] { background:var(--settings-surface); }
