/* Full-page review. Only targeted confirmations and PDF use an overlay. */
#workflowInbox[hidden],#workflowReview[hidden]{display:none!important}
.billing-workflow-page .billing-workflow-filters{box-sizing:border-box;min-width:0;margin:0;padding:18px 18px 20px;border-bottom:1px solid var(--card-border)}
.billing-workflow-page .billing-workflow-filters label{min-width:0}
.billing-workflow-page .billing-workflow-filters .form-control{box-sizing:border-box;width:100%;min-width:0}
.billing-workflow-page .document-table th:last-child,.billing-workflow-page .document-table td:last-child{text-align:center}
.billing-workflow-page .billing-workflow-row-actions{justify-content:center}
.billing-review-page{min-width:0;display:grid;gap:18px;padding-bottom:24px}
.billing-review-header{display:grid;gap:18px;padding:22px;border:1px solid var(--card-border);border-radius:18px;background:var(--surface)}
.billing-review-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:18px}
.billing-review-heading>div{min-width:0}
.billing-review-header h1{margin:8px 0;font-size:1.5rem;overflow-wrap:anywhere}
.billing-review-header p{margin:8px 0;color:var(--text-muted)}
.billing-review-actions{display:flex;flex-wrap:wrap;gap:8px}
.billing-refresh-action{min-height:42px}
.billing-document-dock{position:fixed;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:80;display:grid;justify-items:end;gap:10px}
.billing-document-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 17px;border:1px solid #07385a;border-radius:14px;background:#07385a;color:#fff;box-shadow:0 12px 28px rgba(4,31,49,.24);font:inherit;font-size:.86rem;font-weight:850;cursor:pointer}
.billing-document-toggle>svg{width:18px;height:18px}
.billing-document-toggle .billing-document-chevron{width:15px;transition:transform .16s ease}
.billing-document-dock.is-open .billing-document-chevron{transform:rotate(180deg)}
.billing-document-toggle:hover,.billing-document-toggle:focus-visible{background:#0c5077;color:#fff}
.billing-document-menu{box-sizing:border-box;display:grid;gap:10px;width:min(340px,calc(100vw - 28px));max-height:min(540px,calc(100dvh - 100px));overflow:auto;padding:12px;border:1px solid var(--card-border);border-radius:17px;background:var(--surface);box-shadow:0 20px 54px rgba(4,31,49,.25);color:var(--text-main)}
.billing-document-menu[hidden]{display:none!important}
.billing-document-menu-heading{display:grid;gap:3px;padding:3px 4px 8px;border-bottom:1px solid var(--card-border)}
.billing-document-menu-heading strong{font-size:.88rem}
.billing-document-menu-heading small{color:var(--text-muted);font-size:.73rem}
.billing-document-menu-group{display:grid;gap:5px}
.billing-document-menu-group>span{padding:0 4px;color:var(--text-muted);font-size:.65rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.billing-document-menu-group button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:1px solid transparent;border-radius:11px;background:var(--surface-soft);color:var(--text-main);font:inherit;text-align:left;cursor:pointer}
.billing-document-menu-group button:hover,.billing-document-menu-group button:focus-visible{border-color:var(--secondary);background:var(--info-soft)}
.billing-document-menu-group button>svg{flex:0 0 18px;width:18px;height:18px;color:var(--secondary)}
.billing-document-menu-group button>span{display:grid;gap:2px}
.billing-document-menu-group button strong{font-size:.79rem}
.billing-document-menu-group button small{color:var(--text-muted);font-size:.69rem}
.billing-review-page .billing-workflow-summary{margin:0}
.billing-review-page .billing-workflow-summary article{background:var(--surface);border-color:var(--card-border)}
.billing-review-page .billing-workflow-summary small{color:var(--text-muted)}
.billing-review-next{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;border:1px solid var(--card-border);border-radius:14px;background:var(--surface)}
.billing-review-next p{margin:5px 0 0;color:var(--text-muted);font-size:.85rem}
.billing-review-page .billing-workflow-tabs{margin:0;display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:var(--surface);border:1px solid var(--card-border);border-radius:14px}
.billing-review-page .billing-workflow-tabs button{font-size:.85rem;padding:12px 16px}
.billing-review-page .billing-workflow-detail-body{overflow:visible;max-height:none;padding:20px;background:var(--surface);border:1px solid var(--card-border);border-radius:16px}
.billing-review-page .billing-workflow-tab-panel[hidden]{display:none!important}
.billing-review-page .billing-workflow-tab-panel .table-responsive{max-height:none;overflow-x:auto}
.billing-review-page .billing-workflow-data-grid article{min-width:0}
.billing-review-page .billing-workflow-data-grid strong{font-size:.85rem;overflow-wrap:anywhere}
.billing-review-page .billing-workflow-data-grid small,.billing-review-page .billing-panel-heading span{font-size:.75rem}
.billing-review-page .billing-workflow-observations p,.billing-review-page .billing-workflow-empty{font-size:.85rem}
.billing-classification-inline{width:100%;min-width:0;color:var(--text-main)}
.billing-classification-inline h2{font-size:1.2rem}
.billing-classification-inline h3{font-size:1rem}
.billing-classification-inline p{font-size:.85rem;line-height:1.6;overflow-wrap:anywhere}
.billing-classification-inline form label{display:grid;gap:6px}
.billing-classification-inline [data-error]{color:var(--danger)}
.billing-pending-action{gap:9px;border:1px solid #b9d3e3;background:#edf6fb;color:#07385a}
.billing-pending-action.has-pending{border-color:#ed7200;background:#f57c00;color:#fff;box-shadow:0 8px 20px rgba(245,124,0,.2)}
.billing-pending-action.has-pending:hover{background:#db6f00}
.billing-pending-action>strong{display:inline-grid;min-width:23px;height:23px;padding:0 6px;place-items:center;border-radius:999px;background:#fff;color:#b45309;font-size:.75rem}
.billing-pending-action.is-complete{border-color:#9fd5b0;background:#ecf9f0;color:#15713a}
.billing-workflow-tabs button.has-pending{border-color:#f57c00;background:#fff4e8;color:#a84600}
.billing-alert.pending{border-color:#efb45e;background:#fff8eb;color:#8a4b00}
.billing-assignment-trace{margin:18px 0 0;border:1px solid var(--card-border);border-radius:14px;overflow:hidden;background:var(--surface)}
.billing-assignment-trace>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:#f4f9fc;border-bottom:1px solid var(--card-border)}
.billing-assignment-trace.is-pending>header{background:#fff8eb;border-left:4px solid #f57c00}
.billing-assignment-trace.is-assigned>header{background:#eef9f1;border-left:4px solid #22a052}
.billing-assignment-trace h3{margin:3px 0 0;font-size:1rem}
.billing-assignment-count{display:grid;min-width:34px;height:34px;padding:0 8px;place-items:center;border-radius:999px;background:#fff;color:#07385a;font-weight:900;box-shadow:0 1px 6px rgba(7,61,87,.12)}
.billing-status-pending{background:#fff0d9;color:#9a4d00}
.billing-included-label{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e6f6ec;color:#13753a;font-size:.72rem;font-weight:800}
.billing-classification-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(920px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--card-border);border-radius:20px;background:var(--surface);color:var(--text-main);box-shadow:0 28px 80px rgba(4,31,49,.32);overflow:auto}
.billing-classification-dialog::backdrop{background:rgba(4,25,40,.68)}
.billing-classification-ui{display:grid;gap:16px}
.billing-classification-dialog.billing-classification-ui{padding:20px}
.billing-classification-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.billing-classification-header h2{margin:4px 0;font-size:1.35rem}
.billing-classification-header p{margin:0;color:var(--text-muted);font-size:.82rem}
.billing-classification-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.billing-classification-summary article{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--card-border);border-radius:12px;background:#f6fafc}
.billing-classification-summary article.has-pending{border-color:#efb45e;background:#fff8eb}
.billing-classification-summary article.is-complete{border-color:#9fd5b0;background:#eef9f1}
.billing-classification-summary small{color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.billing-classification-summary strong{font-size:1.15rem;color:var(--text-main)}
.billing-classification-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--card-border);border-radius:12px;background:#f7fafc}
.billing-classification-toolbar label{display:grid;gap:5px;min-width:220px;font-size:.75rem;font-weight:800}
.billing-classification-toolbar>div{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.8rem}
.billing-classification-toolbar .action-button{min-width:42px;padding:10px}
.billing-classification-list{display:grid;gap:12px}
.billing-classification-card{border:1px solid var(--card-border);border-radius:14px;background:var(--surface);overflow:hidden}
.billing-classification-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;background:#f7fafc}
.billing-classification-card>header h3{margin:4px 0;font-size:1rem}
.billing-classification-card>header small{color:var(--text-muted)}
.billing-classification-card>header>strong{white-space:nowrap;color:#07385a;font-size:.83rem}
.billing-classification-state{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0d9;color:#9a4d00;font-size:.68rem;font-weight:900;text-transform:uppercase}
.billing-classification-card.is-clasificado .billing-classification-state{background:#e5f7eb;color:#14763b}
.billing-assignment-result{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:11px 16px;border-top:1px solid var(--card-border);background:#eef9f1;font-size:.8rem}
.billing-assignment-result span,.billing-assignment-result small{color:var(--text-muted)}
.billing-classification-form{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,.8fr) auto;gap:10px;align-items:end;padding:14px 16px;border-top:1px solid var(--card-border)}
.billing-classification-form label{display:grid;gap:5px;font-size:.75rem;font-weight:800}
.billing-classification-form details{grid-column:1/-1;font-size:.78rem}
.billing-classification-form details summary{width:max-content;cursor:pointer;color:#27607f;font-weight:800}
.billing-classification-form details select{margin-top:8px;max-width:280px}
.billing-classification-error{grid-column:1/-1;min-height:1em;font-size:.78rem}
.billing-fixed-rate{display:flex;align-items:center;gap:7px;padding:10px 16px;border-top:1px solid var(--card-border);background:var(--surface-muted);color:var(--text-muted);font-size:.75rem;font-weight:800}
.billing-fixed-rate svg{width:16px;height:16px;color:#16805a}
.billing-classification-empty{display:grid;place-items:center;gap:7px;padding:30px;border:1px dashed #9fd5b0;border-radius:14px;background:#f3fbf5;text-align:center;color:#176b38}
.billing-classification-empty svg{width:30px;height:30px}
.billing-classification-history{padding:12px;border-top:1px solid var(--card-border);font-size:.8rem}
.billing-classification-history summary{cursor:pointer;font-weight:800}
html[data-theme="dark"] .billing-assignment-trace>header,
html[data-theme="dark"] .billing-classification-toolbar,
html[data-theme="dark"] .billing-classification-card>header,
html[data-theme="dark"] .billing-classification-summary article{background:var(--surface-muted);color:var(--text-main)}
html[data-theme="dark"] .billing-assignment-trace.is-pending>header,
html[data-theme="dark"] .billing-classification-summary article.has-pending{background:#392815;color:#ffd39a}
html[data-theme="dark"] .billing-assignment-trace.is-assigned>header,
html[data-theme="dark"] .billing-assignment-result,
html[data-theme="dark"] .billing-classification-summary article.is-complete{background:#153525;color:#b7ebc8}
html[data-theme="dark"] .billing-assignment-count{background:#173247;color:#e8f1f7}
html[data-theme="dark"] .billing-classification-card>header>strong{color:#cbeaff}
html[data-theme="dark"] .billing-classification-empty{background:#153525;color:#b7ebc8}
@media(max-width:760px){
 .billing-review-header,.billing-review-next{padding:16px}
 .billing-review-heading{grid-template-columns:1fr auto;gap:10px}
 .billing-review-heading>div{grid-column:1/-1;grid-row:2}
 .billing-review-page .billing-workflow-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .billing-review-page .billing-workflow-detail-body{padding:12px}
 .billing-review-page .billing-workflow-tabs{flex-wrap:nowrap;overflow-x:auto}
 .billing-document-dock{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
 .billing-document-menu{max-height:calc(100dvh - 90px)}
 .billing-review-actions{width:100%}
 .billing-review-actions button{flex:1 1 auto;white-space:normal}
 .billing-review-page .billing-workflow-data-grid{grid-template-columns:1fr}
 .billing-classification-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .billing-classification-dialog.billing-classification-ui{padding:14px}
 .billing-classification-summary{grid-template-columns:1fr}
 .billing-classification-toolbar{align-items:stretch;flex-direction:column}
 .billing-classification-toolbar label{min-width:0}
 .billing-classification-toolbar>div{justify-content:space-between}
 .billing-classification-card>header{align-items:flex-start}
 .billing-classification-form{grid-template-columns:1fr}
 .billing-classification-form details,.billing-classification-error{grid-column:1}
 .billing-assignment-result{grid-template-columns:1fr;gap:3px}
}
