.invoice-overlay { position:fixed; inset:0; z-index:1800; background:#102d2bb3; display:flex; padding:24px; overflow:auto; align-items:flex-start; justify-content:center; }
.invoice-dialog { width:min(1440px,100%); background:var(--card-bg,#fff); color:var(--text-color,#193b36); border:1px solid var(--border-color,#c9d8d4); border-radius:14px; box-shadow:0 20px 80px #0003; padding:26px; box-sizing:border-box; }
.invoice-dialog [hidden], .invoice-dialog label[hidden] { display:none!important; }
.invoice-dialog header { display:flex; justify-content:space-between; align-items:center; gap:16px; border-bottom:1px solid var(--border-color,#d4e0dc); padding-bottom:16px; margin-bottom:18px; }
.invoice-dialog h2,.invoice-dialog h3,.invoice-dialog h4 { margin:0 0 8px; color:inherit; }
.invoice-dialog p { line-height:1.6; margin:8px 0; }
.invoice-eyebrow { font-size:11px; letter-spacing:.13em; font-weight:700; color:var(--muted-text,#566d67); }
.invoice-dialog fieldset { min-width:0; padding:0; border:0; margin:0; }
.invoice-dialog label { display:grid; gap:7px; color:inherit; font-size:14px; font-weight:600; }
.invoice-dialog input,.invoice-dialog select { width:100%; min-width:0; box-sizing:border-box; padding:10px; min-height:44px; font:inherit; color:inherit; border:1px solid var(--border-color,#baccc4); background:var(--card-bg,#fff); border-radius:6px; }
.invoice-dialog button { width:auto; min-height:44px; margin:0; padding:10px 20px; font:inherit; font-weight:600; background:var(--accent-color,#16665a); color:#fff; border-radius:6px; }
.invoice-dialog .invoice-secondary { background:transparent; color:inherit; border:1px solid var(--border-color,#baccc4); }
.invoice-dialog button:disabled { opacity:.6; cursor:wait; }
.invoice-dialog .invoice-upload { display:grid; grid-template-columns:1fr 1fr auto; gap:16px; align-items:end; padding:18px; background:var(--bg-color,#edf5f2); border-radius:8px; margin:18px 0; }
.invoice-upload small { grid-column:1/-1; }
.invoice-note-header { margin:24px 0; padding-bottom:16px; border-bottom:1px solid var(--border-color,#d4e0dc); overflow-wrap:anywhere; }
.invoice-workspace { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr); gap:22px; align-items:start; }
.invoice-line { border:1px solid var(--border-color,#c9d8d4); border-left:4px solid var(--accent-color,#16665a); padding:20px; margin-bottom:18px; border-radius:8px; overflow-wrap:anywhere; }
.invoice-line h4 { display:flex; justify-content:space-between; gap:12px; font-size:17px; }
.invoice-line small { display:block; font-size:12px; color:var(--muted-text,#566d67); font-weight:400; }
.invoice-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:16px 0; padding:14px; border-radius:6px; background:var(--bg-color,#edf5f2); }
.invoice-values dt { font-size:12px; color:var(--muted-text,#566d67); }.invoice-values dd { margin:5px 0 0; font-weight:700; }
.invoice-fields { display:grid; gap:14px; }
.invoice-dialog .invoice-check { display:flex; align-items:flex-start; gap:10px; font-weight:400; margin:12px 0; }
.invoice-dialog .invoice-check input { width:18px; min-height:18px; height:18px; flex:0 0 18px; margin-top:2px; accent-color:var(--accent-color,#16665a); }
.invoice-dialog .invoice-origin { max-width:360px; }
.invoice-notice { padding:14px 18px; background:var(--accent-soft,#e4f1ec); border-left:3px solid var(--accent-color,#16665a); margin:18px 0!important; }
.invoice-existing,.invoice-warning { color:var(--status-warning-text,#805215); font-size:13px; }
.invoice-balance { font-size:13px; font-weight:600; }.invoice-observation { margin-top:14px; }
.invoice-entries { max-height:260px; overflow:auto; margin-top:10px; border-top:1px solid var(--border-color,#c9d8d4); }
.invoice-entry-option { padding:8px 0; border-bottom:1px solid var(--border-color,#c9d8d4); }
.invoice-pdf { position:sticky; top:0; }.invoice-pdf iframe { display:block; margin-top:12px; width:100%; height:650px; max-height:80vh; border:1px solid var(--border-color,#c9d8d4); }
.invoice-no-pdf { padding:18px; border:1px dashed var(--border-color,#c9d8d4); color:var(--muted-text,#566d67); }
.invoice-confirm { padding:18px; margin:10px 0 18px; border:1px solid var(--border-color,#c9d8d4); border-radius:8px; }.invoice-confirm p { font-size:13px; }
#invoice-summary { font-weight:700; font-size:15px; }#invoice-error { color:var(--status-error-text,#a32c20); font-weight:600; }
.invoice-document-links { display:flex; flex-wrap:wrap; gap:18px; margin-top:16px; }.invoice-document-links a,.invoice-pdf a { color:var(--accent-color,#16665a); font-weight:600; }
.invoice-success { padding:24px; border:1px solid var(--accent-color,#16665a); border-radius:8px; }
@media(max-width:900px) { .invoice-workspace { grid-template-columns:1fr; }.invoice-pdf { position:static; order:-1; }.invoice-pdf iframe { height:340px; }.invoice-dialog .invoice-upload { grid-template-columns:1fr; } }
@media(max-width:560px) { .invoice-overlay { padding:8px; }.invoice-dialog { padding:16px; }.invoice-values { grid-template-columns:1fr; }.invoice-line { padding:14px; }.invoice-dialog header { align-items:flex-start; }.invoice-dialog h2 { font-size:21px; } }

.invoice-dialog button:not(.invoice-secondary) { background:#17665a; color:#fff; }
.invoice-dialog .invoice-document-links a,.invoice-dialog .invoice-pdf a { color:#17665a; }

.invoice-matches:not(:empty) { padding:12px; border:1px solid var(--border-color,#c9d8d4); border-radius:6px; font-size:13px; background:var(--bg-color,#edf5f2); }
.invoice-match-detail { margin-top:6px; font-weight:600!important; }
.invoice-pdf-metadata { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-bottom:16px; }
.invoice-pdf-metadata label:first-child { grid-column:1/-1; }
@media(max-width:560px) { .invoice-pdf-metadata { grid-template-columns:1fr; } }
