/* One global dropdown theme, including the expanded picker in modern Chrome. */
:root { color-scheme: dark; }
select, .toolbar-select, .form-group select {
    color-scheme: dark;
    background-color: #282137;
    color: #eee8fa;
    border: 1px solid #684496;
    border-radius: 10px;
    padding: 10px 34px 10px 14px;
    font: inherit;
    cursor: pointer;
}
select:hover { border-color: #a66cff; background-color: #332647; }
select:focus-visible { outline: 2px solid #ae7bff; outline-offset: 3px; }
select:disabled { color: #9a8eae; cursor: not-allowed; opacity: .65; }
select option, select optgroup { background: #241b33; color: #eee8fa; }
select option:checked { background: #593482; color: #fff; }
select option:disabled { color: #8f829e; }
@supports (appearance: base-select) {
    select, select::picker(select) { appearance: base-select; }
    select { padding-right: 14px; }
    select::picker-icon { color: #b89ad9; transition: rotate .15s; }
    select:open::picker-icon { rotate: 180deg; }
    select::picker(select) { background: #241b33; color: #eee8fa; border: 1px solid #684496; border-radius: 10px; padding: 5px; box-shadow: 0 12px 30px #0008; }
    select option { padding: 9px 14px; border-radius: 6px; }
    select option:hover, select option:focus { background: #44305e; }
    select option:checked { background: #593482; }
}
[hidden] { display: none !important; }
.list-tabs { display: flex; gap: 12px; border-bottom: 1px solid #493064; margin-bottom: 24px; }
.list-tab { border: 0; border-bottom: 3px solid transparent; padding: 14px 18px; background: transparent; color: #b7abc9; font: inherit; cursor: pointer; }
.list-tab.active { border-bottom-color: #ac71ff; color: #c79aff; font-weight: 700; }
.list-tab:focus-visible { outline: 2px solid #ac71ff; outline-offset: -2px; }
.list-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 24px; color: #b7abc9; }
#invoice-panel .invoice-list > .empty-state {
    position: static;
    transform: none;
    grid-column: 1 / -1;
    min-height: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 48px 20px;
}
.material-count { white-space: nowrap; color: #c79aff; font-size: 13px; background: #49306477; padding: 5px 9px; border-radius: 20px; }
.material-files { list-style: none; margin: 16px 0; border: 1px solid #493064; border-radius: 10px; }
.material-files li { padding: 12px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid #49306466; font-size: 14px; }
.material-files li:last-child { border-bottom: 0; }
.material-files i { color: #b883ff; }
.material-filename { margin-left: auto; color: #aaa0bc; overflow-wrap: anywhere; text-align: right; max-width: 65%; }
.material-status { color: #c4b6d7; margin-bottom: 16px; }
.upload-draft { width: min(760px, 94vw); max-height: 90vh; overflow-y: auto; }
.upload-draft-hint { color: #b7abc9; font-size: 14px; line-height: 1.7; margin: 18px 0; }
.upload-draft-files { max-height: 45vh; overflow-y: auto; }
.upload-draft-file { display: flex; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid #493064; }
.upload-file-name { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.upload-file-size { color: #afa2c1; white-space: nowrap; font-size: 13px; }
.upload-draft-summary { margin: 18px 0 8px; color: #c99fff; }
.upload-draft-error { color: #ffadad; overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; }
.panel-header { flex-wrap: wrap; gap: 18px; }
.panel-actions { flex-wrap: wrap; }
.invoice-item-header { gap: 14px; }
.invoice-item { min-width: 0; }
.invoice-head-left { flex: 1 1 0; min-width: 0; }
.invoice-head-left .invoice-name { max-width: 22ch; min-width: 0; }
.invoice-select-label { flex: 0 0 auto; }
.invoice-status { flex: 0 0 72px; width: 72px; text-align: center; white-space: nowrap; line-height: 22px; padding: 5px 8px; }
.batch-verify-container > h2 { margin: 0 44px 20px 0; }
.batch-queue-settings { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 16px; line-height: 1.6; }
.batch-concurrency-note { color: #b7abc9; font-size: 13px; }
.batch-verify-summary { margin: 0 0 20px; line-height: 1.6; }
.batch-verify-list { gap: 14px; }
.batch-row { padding: 18px; gap: 20px; }
.batch-row .batch-name { flex-basis: 110px; }
.batch-mid { flex: 1 1 0; min-width: 56px; }
.batch-action { flex: 0 0 auto; min-width: 0; max-width: none; }
.batch-tip { overflow-wrap: anywhere; line-height: 1.6; }
.batch-verify-footer { margin-top: 22px; padding-top: 20px; flex-wrap: wrap; }
.verified-badge { display: inline-flex; align-items: center; gap: 5px; color: #8be4a7; background: #173d2c; border: 1px solid #387e52; border-radius: 16px; padding: 5px 9px; white-space: nowrap; font-size: 12px; }
#verify-result-modal { z-index: 1200; }
.batch-cap { flex-wrap: wrap; }
.batch-cap-body { min-width: 0; }
.batch-cap-row .btn { flex-shrink: 0; white-space: nowrap; }
.batch-cap-row .batch-skip { flex: 0 0 52px; width: 52px; padding-inline: 8px; }
.batch-cap-hint { white-space: normal; }
.batch-cap .nebula-vision-status { flex-basis: 100%; order: 3; margin: 5px 0 0; }
.batch-cap .nebula-vision-status:not(:has(button)) { font-size: 0; }
.batch-cap .nebula-vision-status:not(:has(button))::before { content: '请手动输入'; font-size: 12px; line-height: 1.4; white-space: nowrap; }
@media (max-width: 900px) {
    .batch-row { flex-wrap: wrap; }
    .batch-action { flex-basis: 100%; min-width: 0; max-width: 100%; justify-content: flex-start; }
}
@media (max-width: 650px) {
    .panel-actions .btn { font-size: 13px; padding: 10px 12px; }
    .upload-draft-file { gap: 8px; }
    .upload-draft .modal-actions { flex-wrap: wrap; }
    .list-tab { padding: 12px; }
    .batch-action { max-width: 100%; }
    .batch-concurrency-note { flex-basis: 100%; }
    .batch-row .batch-name { flex-basis: 100%; }
    .invoice-list { grid-template-columns: minmax(0, 1fr); }
    .batch-cap { flex-wrap: wrap; max-width: 100%; }
    .batch-cap-body { min-width: 0; max-width: 100%; }
    .batch-cap-hint { white-space: normal; overflow-wrap: anywhere; }
    .batch-cap-row { flex-wrap: wrap; }
}
