.wb-import { margin-top: 4px; }
.wb-import summary { cursor: pointer; font-weight: 600; }
.wb-import-form { display: flex; flex-wrap: wrap; align-items: end; gap: 8px 12px; margin: 10px 0; }
.wb-import-form label { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wb-import-form input[type=file] { max-width: 100%; width: 300px; }
.wb-import .wb-import-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.wb-import-days { list-style: none; padding: 0; max-height: 240px; overflow: auto; }
.wb-import-days li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; padding: 8px 0; border-bottom: 1px solid var(--line); }
#wbImportRows .tablewrap { max-height: 420px; overflow: auto; }
#wbImportRows td { overflow-wrap: anywhere; max-width: 260px; }
#wbImportMessage { overflow-wrap: anywhere; }
@media (max-width: 480px) {
 .wb-import-form { align-items: stretch; }
 .wb-import-form label { width: 100%; }
 .wb-import-form input[type=file] { width: 100%; }
 .wb-import .wb-import-actions { width: 100%; }
}

.wb-import button { min-height: 44px; }
.wb-import-form input { box-sizing: border-box; font: inherit; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 8px; min-height: 44px; }
.wb-import-form input::file-selector-button { font: inherit; color: var(--ink); background: var(--surface-2); border: 1px solid var(--line); border-radius: 6px; padding: 4px 8px; margin-right: 8px; }
#wbImportRows td:nth-child(3), #wbImportRows td:nth-child(4), #wbImportRows td:nth-child(8) { white-space: normal; min-width: 140px; }
.wb-import-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:8px 12px; margin:10px 0; }
.wb-import-toolbar label { display:flex; flex-direction:column; gap:6px; min-width:0; }
.wb-import-toolbar input,.wb-import-toolbar select { box-sizing:border-box; max-width:100%; min-height:44px; font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:8px; padding:8px; }
#wbImportDays { width:100%; }
#wbImportDays td { white-space:normal; overflow-wrap:anywhere; }
#wbImportDays td[data-column-index="0"] { white-space:nowrap; }
#wbImportDays tr:has([data-wb-selected="true"]) { background:var(--surface-2); }
#wbImportDays .eco-btn { padding:6px 10px; font:inherit; }
#s-wb-import { min-width:0; }
.wb-import [hidden] { display:none!important; }
#wbImportDays { min-width:920px; table-layout:fixed; }
#wbImportDays th[data-column-index="0"] { width:112px; }
#wbImportDays th[data-column-index="1"] { width:152px; }
#wbImportDays th[data-column-index="7"] { width:180px; }
#wbImportDays th[data-column-index="6"] { width:144px; }
#wbImportDays button { white-space:nowrap; }
.wb-import > .tablewrap { overflow:auto; max-height:440px; }

.wb-import h2 { margin:0 0 6px; font-size:20px; }
.wb-import h3 { margin:14px 0 4px; font-size:16px; }
.wb-import-help { margin:0 0 10px; }
.wb-import-help summary { font-size:13px; }
.wb-import-help p { max-width:850px; margin:8px 0; }
.wb-import .note { font-size:13px; line-height:1.4; }
#wbImportCoverage { margin:6px 0 10px; }
#wbImportMessage:empty, #wbImportPreview:empty, #wbImportRows:empty, #wbImportHistory:empty { display:none; }
#wbImportDays th, #wbImportDays td { padding:6px 8px; font-size:13px; }
#wbImportDays .eco-btn { min-height:32px; padding:3px 7px; }
.wb-import-legend { margin:4px 0 8px; }
@media (min-width:900px) {
 .wb-import-form { display:grid; grid-template-columns:160px minmax(220px,320px) auto; justify-content:start; gap:10px; }
 .wb-import-form input[type=file] { width:100%; }
}
@media (pointer:coarse) { #wbImportDays .eco-btn { min-height:44px; } }

.wb-import .eco-btn { min-height:34px; padding:6px 10px; font-size:13px; }
.wb-import-form input, .wb-import-toolbar input, .wb-import-toolbar select { min-height:36px; padding:6px 8px; font-size:13px; }
.wb-import-form label, .wb-import-toolbar label { gap:4px; font-size:13px; }
#wbImportDays .wb-import-date { display:inline-flex; align-items:center; box-sizing:border-box; min-height:32px; margin:0; padding:3px 6px; border:0; border-radius:4px; background:transparent; color:inherit; font:inherit; white-space:nowrap; }
#wbImportDays button.wb-import-date { cursor:pointer; }
#wbImportDays button.wb-import-date:hover { text-decoration:underline; }
#wbImportDays button.wb-import-date:focus-visible { outline:2px solid var(--ink); outline-offset:2px; }
#wbImportDays tr:has([data-wb-selected="true"]) .wb-import-date { font-weight:700; }
.wb-import-filename { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (pointer:coarse) {
 .wb-import .eco-btn, #wbImportDays .wb-import-date { min-height:44px; }
 .wb-import-form input, .wb-import-toolbar input, .wb-import-toolbar select { min-height:44px; }
}

#wbImportDays th:not(.num), #wbImportDays td:not(.num), #wbImportDays [data-column-index="6"] { text-align:left; }
#wbImportDays th.num:not([data-column-index="6"]), #wbImportDays td.num:not([data-column-index="6"]) { text-align:right; font-variant-numeric:tabular-nums; }
.wb-import > .column-tools { margin:6px 0; }
.wb-import > .tpage { margin-top:8px; }

/* One control height keeps date/file inputs and actions on the same baseline. */
.wb-import { --wb-control-height:36px; }
.wb-import .eco-btn,
.wb-import-form input,
.wb-import-toolbar input,
.wb-import-toolbar select { box-sizing:border-box; height:var(--wb-control-height); min-height:var(--wb-control-height); }
.wb-import-form input[type=file] { padding:4px 8px; line-height:calc(var(--wb-control-height) - 10px); }
.wb-import-form input::file-selector-button { padding:2px 8px; line-height:20px; vertical-align:middle; }
.wb-import-form .wb-import-actions { align-items:center; }
@media (pointer:coarse) { .wb-import { --wb-control-height:44px; } }
/* Apply the same rhythm to the journal pager and column controls. */
.wb-import button:not(.wb-import-date),
.wb-import .tpage select,
.wb-import .column-menu-row input,
.wb-import .column-chooser > summary { box-sizing:border-box; height:var(--wb-control-height); min-height:var(--wb-control-height); }
.wb-import .column-chooser > summary { display:inline-flex; align-items:center; }
@media (max-width:720px) {
 .wb-import { --wb-control-height:44px; }
 .wb-import-form input, .wb-import-toolbar input, .wb-import-toolbar select,
 .wb-import .tpage select, .wb-import .column-menu-row input { font-size:16px; }
}

.wb-import-issues { border:1px solid var(--line); border-radius:10px; padding:12px; margin:16px 0; min-width:0; }
.wb-import-issues h3 { margin:0 0 6px; }
.wb-import-issues p { margin:6px 0; overflow-wrap:anywhere; }
.wb-import-issues .tablewrap { overflow:auto; max-height:420px; margin:10px 0; }
#wbImportIssuesTable { min-width:1200px; width:100%; }
#wbImportIssuesTable th, #wbImportIssuesTable td { padding:6px 8px; font-size:13px; }
#wbImportIssuesTable td { white-space:normal; overflow-wrap:anywhere; max-width:240px; }
#wbImportIssuesTable td.num { text-align:right; font-variant-numeric:tabular-nums; }
#wbImportIssuesTable [data-column-index="0"], #wbImportIssuesTable [data-column-index="2"] { white-space:nowrap; }
.wb-import-issues .wb-import-actions { margin-top:10px; }
.wb-import-issues select { width:100%; }
.wb-import-issues .wb-import-toolbar label { max-width:100%; }

#wbRegistryNav { margin:10px 0 14px; }
#wbRegistryNav [aria-pressed=true] { background:var(--surface-2); border-color:var(--ink); font-weight:600; }
#wbRegistryPanel .tablewrap { overflow:auto; max-height:560px; }
#wbRegistryTable { min-width:1100px; width:100%; }
#wbRegistryTable th, #wbRegistryTable td { padding:6px 8px; font-size:13px; }
#wbRegistryTable td { white-space:normal; overflow-wrap:anywhere; min-width:100px; max-width:280px; }
#wbRegistryTable .wb-import-actions { flex-wrap:nowrap; gap:8px; margin:0; }
#wbRegistryTable a.eco-btn { display:inline-flex; align-items:center; text-decoration:none; white-space:nowrap; }
#wbRegistryPanel p { overflow-wrap:anywhere; }
#wbRegistryAudit { white-space:pre-wrap; margin:8px 0; }
#wbRegistryDialog { box-sizing:border-box; width:min(560px,calc(100% - 24px)); max-height:90dvh; overflow:auto; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
#wbRegistryDialog::backdrop { background:rgb(0 0 0 / 40%); }
#wbRegistryEditForm { display:grid; gap:12px; min-width:0; }
#wbRegistryEditForm h3,#wbRegistryEditForm p { margin:0; overflow-wrap:anywhere; }
#wbRegistryEditForm label { display:grid; gap:4px; min-width:0; font-size:13px; }
#wbRegistryEditForm input,#wbRegistryEditForm select,#wbRegistryEditForm textarea { width:100%; min-width:0; box-sizing:border-box; padding:8px; font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:6px; }
#wbRegistryEditForm .wb-import-actions { gap:10px; flex-wrap:wrap; }
#wbRegistryEditForm button { height:auto; }

/* Match the white cards used throughout the dashboard, with themed dark surfaces. */
#wbReportsPanel.card,#wbRegistryPanel.card,.wb-import-issues.card { display:block; min-width:0; background:var(--surface); border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); padding:14px 16px; }
#wbReportsPanel > .tablewrap { overflow:auto; max-height:440px; }
#wbReportsPanel > .column-tools { margin:6px 0; }
#wbRegistryPanel > .column-tools { margin:6px 0; }
@media(max-width:600px) { #wbReportsPanel.card,#wbRegistryPanel.card,.wb-import-issues.card { padding:12px; } }

#wbRegistryPanel.wb-registry-unlinked #wbRegistryTable { min-width:900px; }
#wbRegistryPanel.wb-registry-unlinked #wbRegistryTable td:first-child { min-width:255px; }
#wbRegistryTable .wb-creator-actions { margin-top:6px; flex-wrap:wrap; }

#wbRegistryTable .wb-creator-name { display:block; border:0; background:transparent; color:var(--accent); font:inherit; font-weight:600; padding:0; height:auto; min-height:32px; text-align:left; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
#wbRegistryTable .wb-code-chip { display:inline-block; padding:2px 6px; margin:2px 3px 2px 0; border:1px solid var(--line); border-radius:5px; background:var(--surface-2); white-space:nowrap; font-variant-numeric:tabular-nums; }
#wbRegistryTable .wb-product-line { margin:3px 0; }
#wbCreatorCard { box-sizing:border-box; width:min(1120px,calc(100% - 24px)); max-height:90dvh; overflow:auto; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:12px; padding:18px; }
#wbCreatorCard::backdrop { background:rgb(0 0 0 / 40%); }
.wb-creator-card-head { display:flex; gap:12px; justify-content:space-between; align-items:start; }
.wb-creator-card-head h3 { margin:0; }
#wbCreatorCard p { overflow-wrap:anywhere; }
#wbCreatorCard .tablewrap { overflow:auto; max-height:420px; margin:12px 0; }
#wbCreatorCodes { width:100%; min-width:900px; }
#wbCreatorCodes th,#wbCreatorCodes td { font-size:13px; padding:7px 8px; white-space:normal; overflow-wrap:anywhere; }
#wbCreatorCodes .wb-import-actions { flex-wrap:nowrap; }
#wbCreatorCardHistory { white-space:pre-wrap; }
#wbRegistryCodeFields:not([hidden]) { display:grid; gap:12px; }
#wbCreatorCardActions { flex-wrap:wrap; margin:12px 0; }
@media(max-width:600px) { #wbCreatorCard { padding:12px; } }

#wbCreatorCodes td:first-child { min-width:180px; }
#wbCreatorCodes .wb-code-actions { margin:5px 0 0; gap:8px; }

/* Import uses header sorting and one aligned pager, with readable saved column widths. */
.wb-import .tsort { display:none; }
.wb-import table { table-layout:auto; }
.wb-import th,.wb-import td { vertical-align:middle; }
.wb-import td button,.wb-import td a.eco-btn { white-space:nowrap; overflow-wrap:normal; word-break:normal; flex-shrink:0; }
.wb-import .tpage { display:flex; gap:12px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin:10px 0; padding:8px 0; }
.wb-import .tpage-nav,.wb-import .tpage-size { display:inline-flex; align-items:center; gap:8px; }
.wb-import .tpage-info { margin-right:auto; }
.wb-import table th { position:sticky; top:0; background:var(--surface); z-index:1; }
#wbCreatorCodes td:first-child { min-width:190px; }
#wbRegistryTable td:first-child { min-width:260px; }
#wbRegistryTable td[data-column-index="2"] { min-width:170px; }
#wbRegistryTable td[data-column-index="3"] { min-width:210px; }
#wbRegistryTable td.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
#wbCreatorCodes .wb-code-actions { min-width:170px; }
#wbImportRows .tablewrap { overflow:auto; max-height:440px; }
#wbImportRowsTable { width:100%; min-width:1050px; }
#wbImportRowsTable td { min-width:90px; white-space:normal; overflow-wrap:anywhere; padding:7px 8px; }
#wbImportRowsTable td.num { text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
#wbImportIssuePager { justify-content:space-between; }
.observed-rate { cursor:help; text-decoration:underline dotted; text-underline-offset:3px; }
.observed-rate:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }

.wb-handoff-dialog { box-sizing:border-box; width:min(560px,calc(100% - 24px)); max-height:90dvh; overflow:auto; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); }
.wb-handoff-dialog::backdrop { background:rgb(0 0 0 / 40%); }
.wb-handoff-dialog form,.wb-handoff-dialog label { display:flex; flex-direction:column; gap:8px; min-width:0; }
.wb-handoff-dialog form { gap:14px; }
.wb-handoff-dialog h3,.wb-handoff-dialog p { margin:0; }
.wb-handoff-dialog input,.wb-handoff-dialog textarea { box-sizing:border-box; width:100%; min-width:0; min-height:40px; padding:8px; font:inherit; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:6px; }
.wb-handoff-dialog .note { font-size:13px; line-height:1.4; }
.wb-handoff-dialog [hidden] { display:none!important; }
.wb-handoff-dialog .eco-btn { white-space:normal; }
.wb-handoff-dialog .wb-import-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
