:root {
  --red: #ff5663;
  --indigo: #8f9cf6;
  --blue: #4e9de8;
  --cyan: #45c7f4;
  --ink: #eef3ff;
  --muted: #aebbd1;
  --line: #344159;
  --surface: #192439;
  --surface-soft: #151f32;
  --surface-raised: #222e44;
  --field: #111a2b;
  --background: #101827;
  --shadow: 0 16px 38px rgba(2, 7, 18, .3);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: var(--background); line-height: 1.5; color-scheme: dark; }
a { color: #8fbdff; }
button, input, select { font: inherit; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid rgba(69,199,244,.48); outline-offset: 2px; }
.skip-link { position: absolute; left: 1rem; top: -5rem; z-index: 200; border-radius: 8px; background: var(--blue); color: white; padding: .75rem; }
.skip-link:focus { top: 1rem; }
.app-header { position: sticky; top: 0; z-index: 100; min-height: 70px; border-bottom: 1px solid var(--line); background: rgba(18, 27, 44, .96); box-shadow: 0 12px 32px rgba(0,0,0,.2); backdrop-filter: blur(16px); }
.app-header-inner { width: min(1560px,100%); min-height: 70px; margin: 0 auto; padding: .65rem clamp(.8rem,2.5vw,2rem); display: flex; align-items: center; gap: clamp(.65rem,1.5vw,1.25rem); }
.brand { display: flex; align-items: center; gap: .7rem; flex: 0 0 auto; color: var(--ink); text-decoration: none; min-width: 0; }
.brand-mark { width: 108px; height: 44px; display: grid; place-items: center; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-copy { display: grid; line-height: 1.15; }
.brand-copy strong { font-size: 1rem; }
.brand-copy small { margin-top: .15rem; color: var(--muted); font-size: .72rem; }
.desktop-navigation { display: flex; align-items: center; gap: .2rem; min-width: 0; }
.desktop-navigation > a,.nav-menu > summary { min-height: 40px; display: inline-flex; align-items: center; border-radius: 9px; padding: .55rem .7rem; color: #c9d3e5; text-decoration: none; font-size: .88rem; font-weight: 750; white-space: nowrap; cursor: pointer; }
.desktop-navigation > a:hover,.desktop-navigation > a.is-active,.nav-menu > summary:hover,.nav-menu[open] > summary,.nav-menu-active > summary { background: var(--surface-raised); color: #fff; }
.desktop-navigation > a.is-active { box-shadow: inset 0 -2px 0 var(--cyan); }
.nav-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 1.35rem; height: 1.35rem; margin-left: .35rem; border-radius: 999px; background: #ef3340; color: #fff; padding: 0 .3rem; font-size: .68rem; line-height: 1; }
.nav-menu-active > summary { box-shadow: inset 0 -2px 0 var(--cyan); }
.nav-menu,.account-menu,.mobile-navigation { position: relative; }
.nav-menu > summary,.account-menu > summary,.mobile-navigation > summary { list-style: none; }
.nav-menu > summary::-webkit-details-marker,.account-menu > summary::-webkit-details-marker,.mobile-navigation > summary::-webkit-details-marker { display: none; }
.nav-menu > summary::after { content: "⌄"; margin-left: .35rem; color: var(--muted); font-size: .8rem; }
.nav-menu-panel { position: absolute; left: 0; top: calc(100% + .65rem); z-index: 120; width: 280px; display: grid; gap: .25rem; border: 1px solid #43516b; border-radius: 12px; background: #172237; padding: .5rem; box-shadow: 0 22px 48px rgba(0,0,0,.42); }
.nav-menu-panel-right { left: auto; right: 0; }
.nav-menu-panel a { display: grid; border-radius: 9px; padding: .65rem .75rem; color: var(--ink); text-decoration: none; }
.nav-menu-panel a:hover { background: var(--surface-raised); }
.nav-menu-panel span { font-weight: 800; }
.nav-menu-panel small { color: var(--muted); font-size: .74rem; }
.nav-menu-panel em { border-radius: 999px; background: #263c59; color: #9ddfff; padding: .12rem .38rem; font-size: .64rem; font-style: normal; }
.header-actions { min-width: 0; margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.company-picker { min-width: 0; }
.company-picker select { width: min(210px,22vw); min-height: 40px; }
select, input { min-height: 42px; border: 1px solid #465570; border-radius: 9px; padding: .55rem .75rem; background: var(--field); color: var(--ink); }
.notification-link { min-width: 42px; min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: .3rem; border: 1px solid #3d4b65; border-radius: 10px; background: #202c42; color: #dce7ff; text-decoration: none; white-space: nowrap; }
.notification-link span { font-size: .88rem; line-height: 1; }
.notification-link strong { font-size: .82rem; }
.account-menu > summary { min-height: 42px; display: flex; align-items: center; gap: .45rem; border-radius: 10px; padding: .25rem .55rem .25rem .3rem; color: var(--ink); cursor: pointer; }
.account-menu > summary:hover,.account-menu[open] > summary { background: var(--surface-raised); }
.account-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: linear-gradient(135deg,var(--indigo),var(--blue)); color: white; font-size: .8rem; font-weight: 900; text-transform: uppercase; }
.account-name { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; font-weight: 750; }
.account-menu-panel { position: absolute; right: 0; top: calc(100% + .65rem); z-index: 120; width: 190px; display: grid; border: 1px solid #43516b; border-radius: 12px; background: #172237; padding: .45rem; box-shadow: 0 22px 48px rgba(0,0,0,.42); }
.account-menu-panel a,.account-menu-panel button { width: 100%; border: 0; border-radius: 8px; background: none; color: var(--ink); padding: .62rem .7rem; text-align: left; text-decoration: none; cursor: pointer; }
.account-menu-panel a:hover,.account-menu-panel button:hover { background: var(--surface-raised); }
.mobile-navigation { display: none; }
.mobile-navigation > summary { min-height: 40px; display: flex; align-items: center; border: 1px solid #465570; border-radius: 9px; padding: .5rem .7rem; color: var(--ink); font-weight: 800; cursor: pointer; }
.mobile-navigation nav { position: absolute; right: 0; top: calc(100% + .65rem); z-index: 120; width: min(330px,calc(100vw - 2rem)); display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem; border: 1px solid #43516b; border-radius: 12px; background: #172237; padding: .6rem; box-shadow: 0 22px 48px rgba(0,0,0,.42); }
.mobile-navigation nav a { border-radius: 8px; padding: .65rem; color: var(--ink); text-decoration: none; font-weight: 750; }
.mobile-navigation nav a:hover { background: var(--surface-raised); }
.quiet-button { border: 0; background: none; color: var(--muted); padding: .65rem; cursor: pointer; }
.page-shell { width: min(1380px, 100%); margin: 0 auto; padding: clamp(1rem,4vw,3rem); }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin: .5rem 0 2rem; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(1.8rem,4vw,2.65rem); line-height: 1.1; margin-bottom: .5rem; }
.page-heading p:not(.eyebrow), .panel-heading p { color: var(--muted); margin-bottom: 0; }
.eyebrow { color: var(--indigo); text-transform: uppercase; letter-spacing: .11em; font-size: .75rem; font-weight: 850; margin-bottom: .4rem; }
.primary-button { border: 0; border-radius: 10px; background: linear-gradient(120deg,var(--indigo),var(--blue)); color: white; font-weight: 800; padding: .78rem 1.15rem; box-shadow: 0 8px 18px rgba(48,60,145,.2); cursor: pointer; }
.primary-button, .secondary-button { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
.secondary-button { min-height: 42px; border: 1px solid #465570; border-radius: 10px; background: var(--surface-raised); color: #dce7ff; font-weight: 800; padding: .68rem 1rem; cursor: pointer; }
.primary-button:disabled { opacity: .55; cursor: not-allowed; }
.danger-button { min-height: 42px; border: 0; border-radius: 10px; background: #a41f2b; color: white; font-weight: 800; padding: .7rem 1rem; cursor: pointer; }
.danger-button:disabled { opacity: .55; cursor: not-allowed; }
.metric-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 1rem; margin-bottom: 1.25rem; }
.metric-card { position: relative; overflow: hidden; display: grid; gap: .45rem; background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 1.25rem; box-shadow: var(--shadow); }
.metric-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--blue); }
.metric-card > span, .metric-card > small { color: var(--muted); }
.metric-card strong { font-size: clamp(1.7rem,3vw,2.25rem); line-height: 1; }
.metric-card strong small { font-size: .75rem; color: var(--muted); }
.metric-card.accent-red::before { background: var(--red); }.metric-card.accent-indigo::before { background: var(--indigo); }.metric-card.accent-cyan::before { background: var(--cyan); }
.metric-card-link { color: inherit; text-decoration: none; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.metric-card-link:hover { transform: translateY(-2px); border-color: #587096; box-shadow: 0 18px 40px rgba(0,0,0,.32); }
.metric-card-link:focus-visible { outline: 3px solid rgba(14,153,216,.32); outline-offset: 3px; }
.metric-amounts { display: flex; flex-wrap: wrap; gap: .55rem 1rem; align-items: baseline; }
.metric-card .metric-amounts strong { font-size: clamp(1.45rem,2.6vw,2.05rem); color: var(--ink); }
.metric-card-secondary { background: linear-gradient(145deg,var(--surface),var(--surface-soft)); }
.metric-card-secondary .metric-amounts strong { font-size: clamp(1.25rem,2.2vw,1.75rem); }
.panel { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: clamp(1rem,3vw,1.5rem); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding-bottom: 1rem; margin-bottom: .25rem; }
.panel-heading h2 { margin-bottom: 0; }
.due-list article { display: grid; grid-template-columns: 100px minmax(180px,1fr) auto auto; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1rem 0; }
.due-list article:last-child { border-bottom: 0; }
.due-list time { display: grid; place-items: center; border-radius: 10px; background: #25344d; color: #b5c2ff; padding: .35rem; text-transform: uppercase; }
.due-list time strong { font-size: .9rem; line-height: 1; white-space: nowrap; }
.due-list article > div { display: grid; }.due-list article small { color: var(--muted); }.amount { font-weight: 850; }
.status { border-radius: 999px; background: #26354e; color: #dce7ff; padding: .35rem .65rem; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.status-overdue { background: #4a2028; color: #ffadb4; }.status-due_today { background: #493817; color: #ffe0a0; }.status-closed { background: #173d31; color: #9ce7c6; }
.status-direct-debit { background: #15394a; color: #99def6; }.status-paused { background: #293143; color: #c0cadb; }
.empty-state { text-align: center; color: var(--muted); padding: 4rem 1rem; }.empty-state h2,.empty-state h3 { color: var(--ink); }
.filters { display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }.filters label { font-weight: 750; }
.invoice-filter-panel { margin-bottom: 1rem; }
.filter-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.filter-panel-heading h2 { margin: 0; }
.filter-count { align-self: center; border: 1px solid var(--line); border-radius: 999px; color: var(--accent-soft); font-size: .84rem; font-weight: 800; padding: .35rem .7rem; white-space: nowrap; }
.invoice-filter-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; align-items: end; }
.invoice-filter-form .form-field { min-width: 0; }
.invoice-filter-form input,.invoice-filter-form select { width: 100%; }
.supplier-live-filter { display: grid; grid-template-columns: minmax(260px,1fr) auto; gap: .85rem; align-items: end; }
.supplier-live-filter input { width: 100%; }
.supplier-live-filter .invoice-filter-actions { grid-column: auto; }
.invoice-filter-search { grid-column: span 2; }
.invoice-filter-actions { display: flex; align-items: center; gap: .7rem; grid-column: span 2; }
.invoice-filter-actions .primary-button,.invoice-filter-actions .secondary-button { justify-content: center; min-height: 44px; }
.live-filter-status { color: var(--muted); font-size: .82rem; font-weight: 750; }
.live-document-filters { flex-wrap: wrap; }
.live-document-filters > div { display: grid; gap: .3rem; }
.live-document-filters input,.live-document-filters select { min-width: 150px; }
.table-summary { display: flex; gap: .4rem; padding: .85rem 1rem; color: var(--muted); border-bottom: 1px solid var(--line); }
.table-summary strong { color: var(--ink); }
.filtered-totals { border-top: 1px solid var(--line); padding: 1rem; background: var(--surface-soft); }
.filtered-totals-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.filtered-totals-heading .eyebrow { margin-bottom: .2rem; }
.filtered-totals-heading h2 { margin: 0; font-size: 1.15rem; }
.filtered-totals-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); gap: .75rem; }
.filtered-total-card { min-width: 0; display: grid; align-content: start; gap: .35rem; border: 1px solid var(--line); border-radius: 11px; padding: .9rem 1rem; background: var(--surface); }
.filtered-total-card > span,.filtered-total-card > small { color: var(--muted); }
.filtered-total-card > strong { color: var(--ink); font-size: clamp(1.35rem,2.4vw,1.85rem); overflow-wrap: anywhere; }
.filtered-total-card > .secondary-button { justify-self: start; margin-top: .35rem; }
.filtered-total-breakdown { display: grid; gap: .25rem; margin: .35rem 0 0; }
.filtered-total-breakdown div { display: flex; justify-content: space-between; gap: .75rem; color: var(--muted); font-size: .8rem; }
.filtered-total-breakdown dd { margin: 0; color: var(--ink); font-weight: 800; }
.filtered-totals-empty { margin: 0; color: var(--muted); }
.table-panel { padding: 0; overflow: hidden; }.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }th,td { padding: .9rem 1rem; text-align: left; border-bottom: 1px solid var(--line); white-space: nowrap; }th { background: #131e31; color: #b9c5d9; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; }tbody tr:hover { background: rgba(78,157,232,.055); }tr:last-child td { border-bottom: 0; }
.table-link { color: var(--ink); text-decoration: none; }
.table-link small { color: var(--muted); font-weight: 650; }
.app-form { max-width: 980px; margin-inline: auto; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem 1.25rem; }
.form-field { display: grid; align-content: start; gap: .35rem; }
.form-field[data-card-payment-field][hidden],
[data-bank-payment-fields][hidden] { display: none !important; }
.form-field > label, .decision-form > label { font-weight: 750; }
.form-field input:not([type="checkbox"]), .form-field select, .form-field textarea, .decision-form input:not([type="radio"]):not([type="checkbox"]), .decision-form select, .decision-form textarea { width: 100%; }
.form-field textarea, .decision-form textarea { border: 1px solid #465570; border-radius: 9px; padding: .65rem .75rem; background: var(--field); color: var(--ink); resize: vertical; }
.form-field.span-2 { grid-column: span 2; }
.checkbox-row { min-height: 42px; display: flex; align-items: center; gap: .6rem; padding: .55rem .7rem; border: 1px solid #465570; border-radius: 9px; background: var(--surface-raised); }
.checkbox-row input { width: 18px; height: 18px; min-height: 0; }
.decision-form .checkbox-row input { width: 18px; flex: 0 0 18px; }
.checkbox-row span { min-width: 0; overflow-wrap: anywhere; }
.field-error { color: #ff9da5; font-weight: 700; }.help-text, .muted { color: var(--muted); }
.private-file-dropzone { position: relative; min-height: 150px; display: grid; place-items: center; align-content: center; gap: .35rem; border: 2px dashed #50637f; border-radius: 12px; padding: 1rem; background: var(--field); color: var(--ink); text-align: center; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.private-file-dropzone:hover,.private-file-dropzone:focus-within { border-color: var(--blue); background: #1c2c45; }
.private-file-dropzone.is-dragging { border-color: var(--cyan); background: #17354a; transform: translateY(-1px); }
.private-file-dropzone.has-files { border-style: solid; border-color: #39745f; background: #17352d; }
.private-file-drop-prompt { font-size: 1rem; font-weight: 850; }
.private-file-drop-hint,.private-file-drop-status { color: var(--muted); overflow-wrap: anywhere; }
.private-file-drop-status { max-width: min(100%,620px); }
.private-file-drop-choose { margin-top: .25rem; }
.form-actions { display: flex; justify-content: flex-end; gap: .75rem; border-top: 1px solid var(--line); margin-top: 1.5rem; padding-top: 1.25rem; }
.edit-document-panel { display: grid; gap: 1rem; margin-top: 1.5rem; padding: 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-soft); }
.edit-document-panel h2 { margin: .15rem 0 .35rem; }
.edit-current-documents { padding: 0 .15rem; }
.edit-document-fields { padding-top: .25rem; }
.archived-document-history { margin-top: 1rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.archived-document-history summary { cursor: pointer; color: var(--muted); font-weight: 800; }
.archived-document-history[open] summary { margin-bottom: .5rem; color: var(--ink); }
.form-note.left { text-align: left; margin-top: 1rem; }
.message { border: 1px solid #40506b; border-radius: 9px; padding: .75rem 1rem; background: #202d44; }.message.success { border-color: #286148; background: #173d31; color: #b5f1d5; }.message.error { border-color: #6d303b; background: #4a2028; color: #ffc0c5; }
.detail-grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.4fr); gap: 1.25rem; margin-bottom: 1.25rem; }
.supplier-overview-grid > .panel { min-width: 0; }
.supplier-overview-grid .detail-list dd { min-width: 0; overflow-wrap: anywhere; }
.lower-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.heading-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.summary-card { background: linear-gradient(145deg,var(--surface),var(--surface-soft)); }.money-total { font-size: clamp(2.1rem,5vw,3.5rem); font-weight: 900; line-height: 1; color: #b5c2ff; }.money-total small { font-size: .9rem; color: var(--muted); }
.supplier-common-payment { margin-bottom: 1.25rem; }
.supplier-common-payment .filtered-total-card > .primary-button { justify-self: start; margin-top: .35rem; }
.detail-list { margin: 1.5rem 0 0; }.detail-list div { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--line); padding: .7rem 0; }.detail-list dt { color: var(--muted); }.detail-list dd { margin: 0; text-align: right; font-weight: 750; }
.document-list, .timeline-list { list-style: none; padding: 0; margin: 0; }.document-list li { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 1px solid var(--line); padding: .85rem 0; min-width: 0; }.document-list li:last-child { border-bottom: 0; }.document-list li > div { display: grid; min-width: 0; overflow-wrap: anywhere; }.document-list small { color: var(--muted); }
.timeline-list li { position: relative; display: flex; gap: .75rem; padding: .75rem 0; }.timeline-list li > div { display: grid; }.timeline-list small { color: var(--muted); }.timeline-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--cyan); margin-top: .35rem; flex: 0 0 auto; }
.action-panel { display: grid; grid-template-columns: minmax(220px,.8fr) minmax(300px,1.2fr); gap: 2rem; margin-bottom: 1.25rem; border-left: 4px solid var(--cyan); }.decision-form { display: grid; gap: .7rem; }.decision-form ul { display: flex; gap: 1rem; list-style: none; padding: 0; margin: 0; }.decision-form li label { display: flex; gap: .35rem; align-items: center; }
.invoice-action-drawers { display: grid; gap: .75rem; margin-bottom: 1.25rem; }
.action-drawer { padding: 0; overflow: hidden; border-left: 4px solid var(--cyan); }
.action-drawer summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; cursor: pointer; list-style: none; }
.action-drawer summary::-webkit-details-marker { display: none; }
.action-drawer summary > span:first-child { display: grid; gap: .15rem; }
.action-drawer summary small { color: #8fbdff; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.action-drawer summary strong { font-size: 1.05rem; }
.drawer-toggle::after { content: "Deschide"; color: var(--blue); font-size: .82rem; font-weight: 800; }
.action-drawer[open] .drawer-toggle::after { content: "Închide"; }
.action-drawer[open] summary { border-bottom: 1px solid var(--line); background: rgba(78,157,232,.06); }
.action-drawer-content { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(300px,1.3fr); gap: 1.5rem; padding: 1.25rem; }
.action-drawer-content > p { color: var(--muted); margin: 0; }
.danger-drawer { border-left-color: var(--red); background: #211a25; }
.danger-drawer summary small, .danger-drawer .drawer-toggle::after { color: #ff929b; }
.danger-drawer[open] summary { background: rgba(255,76,89,.055); }
.notice { display: flex; gap: .35rem; flex-direction: column; border-radius: 9px; padding: .8rem 1rem; margin-bottom: 1rem; }.notice.warning { background: #4b3817; color: #ffe2a2; }
.accent-amber { border-color: #f0a23a; }
.amount-confirmation-notice .secondary-button { align-self: flex-start; margin-top: .45rem; }
.danger-panel { border-left-color: var(--red); }
.danger-panel { background: #281c2b; }.danger-panel .eyebrow { color: #ff7b85; }
.payment-selection { max-width: 980px; margin: 0 auto 1.25rem; }
.multi-payment-form { max-width: 1180px; }
.multi-payment-workspace { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,340px); align-items: start; gap: 1rem; margin-top: 1.25rem; }
.allocation-fieldset { min-width: 0; border: 1px solid var(--line); border-radius: 11px; margin: 0; padding: 1rem; }
.allocation-fieldset legend { color: var(--indigo); font-weight: 850; padding: 0 .4rem; }
.allocation-list { display: grid; gap: .65rem; }
.allocation-row { display: grid; grid-template-columns: minmax(220px,1fr) minmax(150px,220px); align-items: end; gap: 1rem; border-bottom: 1px solid var(--line); padding: .75rem 0; }
.allocation-row:last-child { border-bottom: 0; }
.allocation-row > div:first-child { display: grid; }
.allocation-row small { color: var(--muted); }
.allocation-control { display: grid; gap: .55rem; }
.allocation-full-toggle { display: none; align-items: center; gap: .5rem; color: #dce7ff; font-size: .82rem; font-weight: 800; cursor: pointer; }
.multi-payment-enhanced .allocation-full-toggle { display: flex; }
.allocation-full-toggle input { width: 19px; height: 19px; min-height: 0; margin: 0; padding: 0; accent-color: var(--blue); }
.payment-total-card { position: sticky; top: calc(70px + 1rem); z-index: 3; display: grid; gap: .65rem; border: 1px solid #52617d; border-radius: 12px; padding: 1rem; background: var(--surface-soft); box-shadow: var(--shadow); }
.payment-total-card .eyebrow { margin-bottom: 0; }
.payment-total-card input { width: 100%; font-size: 1.35rem; font-weight: 850; }
.payment-total-card > small { color: var(--muted); }
.multi-payment-form .allocation-row { grid-template-columns: minmax(0,1fr) minmax(170px,210px); align-items: center; gap: .75rem; padding: .65rem 0; }
.allocation-amount-copy { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-top: .35rem; font-size: .85rem; }
.allocation-amount-copy .copy-value-button { padding: .3rem .5rem; }
.allocation-invoice-details { overflow-wrap: anywhere; }
.allocation-bank-heading { font-size: .9rem; overflow-wrap: anywhere; margin: .65rem 0 0; color: var(--muted); }
.payment-common-data { min-width: 0; }
.payment-common-data .compact-copy-data { margin: 0; }
.payment-common-data .compact-copy-data > div { display: grid; gap: .15rem; padding: .4rem 0; }
.payment-common-data dt { font-size: .75rem; color: var(--muted); }
.payment-common-data dd { margin: 0; }
.payment-common-data .copy-field-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.payment-common-data .copy-field-row > span { min-width: 0; text-align: left; overflow-wrap: anywhere; font-size: .85rem; }
.payment-common-data .copy-value-button { flex: 0 0 auto; padding: .35rem .5rem; font-size: .78rem; }
.payment-bank-group { border-top: 1px solid var(--line); padding-top: .4rem; margin-top: .4rem; }
.payment-bank-group h3 { margin: 0; font-size: .85rem; }
.payment-bank-group > small,.bank-account-warning { font-size: .78rem; color: #ffd787; }
.multi-payment-form button:disabled { opacity: .45; cursor: not-allowed; }
@media (min-width: 901px) { .multi-payment-form .payment-total-card { max-height: calc(100dvh - 100px); overflow-y: auto; scrollbar-gutter: stable; } }
@media (max-width: 620px) { .multi-payment-form .allocation-row { grid-template-columns: minmax(0,1fr); }.payment-common-data .copy-field-row > span { font-size: .9rem; } }
.payment-details-grid { margin-top: 1.25rem; }
.notification-list { padding: 0; overflow: hidden; }.notification-list article { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }.notification-list article:last-child { border-bottom: 0; }.notification-list article.unread { background: #202e46; }.notification-list article p { color: var(--muted); margin: .2rem 0; }.notification-list article small { color: var(--muted); }.notification-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: #253a58; color: #a9ddff; font-weight: 900; }
.channel-panel { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }.channel-panel h2 { margin-bottom: .25rem; }.channel-panel p:last-child { margin-bottom: 0; }.channel-tags { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .5rem; }.channel-tags em { border-radius: 999px; background: #253a58; color: #a9ddff; padding: .2rem .5rem; font-size: .72rem; font-style: normal; font-weight: 750; }
.management-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.management-card { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 1rem; color: var(--ink); text-decoration: none; transition: transform .18s ease, border-color .18s ease; }
.management-card:hover { transform: translateY(-2px); border-color: #b7c4da; }
.management-card > span:first-child { display: grid; }
.management-card strong { font-size: 1.15rem; }
.management-card small { color: var(--muted); }
.management-card-arrow { color: var(--blue); font-size: 1.5rem; }
.company-settings-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-bottom: 1rem; }
.setting-card { display: grid; gap: .35rem; }
.setting-card span { color: var(--muted); }
.setting-card strong { font-size: 1.2rem; }
.management-heading { padding: 1rem 1.25rem; margin-bottom: 0; }
.management-heading .eyebrow { margin-bottom: .25rem; }
.management-heading h2 { font-size: 1.35rem; }
.supplier-permissions { border: 1px solid var(--line); border-radius: 10px; padding: 1rem; }
.supplier-permissions legend { font-weight: 750; padding: 0 .35rem; }
.supplier-permissions ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); list-style: none; padding: 0; margin: 0; gap: .5rem 1rem; }
.supplier-permissions label { display: flex; align-items: center; gap: .55rem; }
.supplier-permissions input { width: 18px; height: 18px; min-height: 0; }
.row-actions { display: flex; align-items: center; gap: .75rem; }.row-actions form { margin: 0; }.link-button { border: 0; padding: 0; background: none; color: var(--indigo); text-decoration: underline; cursor: pointer; }
.text-button { border: 0; padding: .25rem 0; background: none; color: var(--indigo); text-align: left; text-decoration: underline; cursor: pointer; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.payment-copy-card { margin-bottom: 1.25rem; }
.single-payment-form { max-width: 1180px; }
.single-payment-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.7fr); grid-template-areas: "main copy"; align-items: start; gap: 1.5rem; }
.single-payment-main { grid-area: main; min-width: 0; }
.single-payment-copy { grid-area: copy; position: sticky; top: calc(70px + 1rem); margin-bottom: 0; border: 1px solid var(--line); border-radius: 12px; padding: 1rem; background: var(--surface-soft); }
.single-payment-copy .panel-heading h2 { font-size: 1.2rem; }
.single-payment-copy .detail-list { margin-top: .8rem; }
.single-payment-layout:has(.single-payment-copy[hidden]) { grid-template-columns: minmax(0,1fr); grid-template-areas: "main"; }
.invoice-a2-heading { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: .5rem 0 1.25rem; }
.invoice-a2-title { display: flex; align-items: center; gap: 1rem; min-width: 0; }
.invoice-a2-title > div:last-child { min-width: 0; }
.invoice-a2-title h1 { margin-bottom: .35rem; overflow-wrap: anywhere; }
.invoice-reference { margin: 0; color: var(--muted); }
.invoice-due-relative { display: inline-block; border-radius: 999px; padding: .12rem .48rem; font-weight: 850; }
.invoice-due-overdue { color: #ff6671; background: #431d28; }
.due-calendar { width: 78px; min-width: 78px; overflow: hidden; display: grid; grid-template-rows: 24px 38px 22px; place-items: center; border: 1px solid #465570; border-radius: 13px; background: var(--surface); box-shadow: 0 12px 28px rgba(0,0,0,.28); }
.due-calendar > span { align-self: stretch; justify-self: stretch; display: grid; place-items: center; background: var(--red); color: white; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.due-calendar strong { color: var(--ink); font-size: 1.65rem; line-height: 1; }
.due-calendar small { color: var(--muted); font-weight: 750; }
.status-calendar-overdue { border-color: #8c3e4a; }
.status-calendar-due_today > span { background: #d99000; }
.status-calendar-closed > span { background: #278258; }
.quiet-action { align-self: center; color: var(--muted); font-weight: 750; text-decoration: none; padding: .6rem .2rem; }
.invoice-metric-strip { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 1px; overflow: hidden; margin-bottom: 1.25rem; border: 1px solid var(--line); border-radius: 14px; background: var(--line); box-shadow: var(--shadow); }
.invoice-metric-strip article { min-width: 0; display: grid; gap: .4rem; background: var(--surface); padding: 1rem 1.15rem; }
.invoice-metric-strip span,.invoice-metric-strip article > small { color: var(--muted); font-size: .78rem; }
.invoice-metric-strip strong { color: var(--ink); font-size: clamp(1.25rem,2.5vw,1.85rem); line-height: 1.1; overflow-wrap: anywhere; }
.invoice-metric-strip strong small { color: var(--muted); font-size: .75rem; }
.invoice-metric-strip .metric-status { color: #aab6ff; font-size: 1.05rem; }
.invoice-payment-panel { margin-bottom: 1.25rem; border-top: 4px solid var(--indigo); }
.invoice-payment-heading { align-items: center; }
.invoice-payment-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0 1.25rem; margin: .75rem 0 0; }
.invoice-payment-grid div { min-width: 0; border-bottom: 1px solid var(--line); padding: .85rem 0; }
.invoice-payment-grid dt { color: var(--muted); font-size: .76rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.invoice-payment-grid dd { margin: .25rem 0 0; color: var(--ink); font-weight: 850; overflow-wrap: anywhere; }
.invoice-payment-grid .iban-copy-row { grid-column: span 2; }
.invoice-a2-workspace { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(320px,.72fr); align-items: start; gap: 1.25rem; margin-bottom: 1.25rem; }
.invoice-a2-main { min-width: 0; }
.invoice-data-panel { margin-bottom: 1.25rem; }
.detail-list-two-columns { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.25rem; }
.detail-list-two-columns div { min-width: 0; }
.detail-list-two-columns dd { overflow-wrap: anywhere; }
.invoice-text-block { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 1rem; }
.invoice-text-block p { margin: .35rem 0 0; color: #c4cee0; white-space: pre-wrap; }
.invoice-preview-panel { position: sticky; top: 1rem; min-width: 0; padding: 0; overflow: hidden; }
.invoice-preview-panel .panel-heading { align-items: center; margin: 0; padding: 1rem 1.1rem; }
.document-count { min-width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 999px; background: #253a58; color: #a9ddff; font-weight: 900; }
.invoice-preview-stack { display: grid; gap: 0; max-height: min(66vh,720px); overflow-y: auto; }
.invoice-preview-item { min-width: 0; border-bottom: 1px solid var(--line); padding: 1rem; }
.invoice-thumbnail { min-height: 220px; display: grid; place-items: center; overflow: hidden; border: 1px solid #465570; border-radius: 11px; background: var(--field); }
.invoice-thumbnail img { display: block; width: 100%; height: 280px; object-fit: contain; background: #e8edf5; }
.invoice-thumbnail-fallback { min-height: 220px; padding: 1.25rem; display: grid; place-content: center; gap: .35rem; color: var(--ink); text-align: center; text-decoration: none; }
.invoice-thumbnail-fallback small { color: var(--muted); }
.invoice-thumbnail-fallback[hidden] { display: none; }
.invoice-document-cover { min-height: 230px; display: grid; place-content: center; justify-items: center; gap: .45rem; border: 1px solid #465570; border-radius: 11px; background: var(--field); color: var(--ink); text-align: center; text-decoration: none; padding: 1.25rem; }
.invoice-document-cover > span { width: 78px; height: 96px; display: grid; place-items: center; border-radius: 8px 8px 14px 8px; background: linear-gradient(145deg,#eef3fb,#dce3ef); border: 1px solid #b8c4d6; color: #d92f3d; font-size: 1.1rem; font-weight: 950; box-shadow: 0 10px 24px rgba(0,0,0,.22); }
.invoice-document-cover small { color: var(--muted); }
.invoice-document-cover.unsupported > span { color: var(--muted); font-size: .72rem; }
.invoice-preview-meta { display: grid; gap: .25rem; min-width: 0; padding-top: .75rem; }
.invoice-preview-meta strong { overflow-wrap: anywhere; }
.invoice-preview-meta small { color: var(--muted); }
.invoice-preview-meta .row-actions { margin-top: .35rem; }
.invoice-attachment-form { border-top: 1px solid var(--line); padding: 1rem; }
.empty-preview { min-height: 280px; display: grid; place-content: center; justify-items: center; text-align: center; padding: 2rem; color: var(--muted); }
.empty-preview > span { font-size: 3rem; color: #aeb9cc; }
.empty-preview p { max-width: 280px; margin-bottom: 0; }
.document-viewer { min-width: 0; border-top: 1px solid var(--line); }
.document-viewer-selector { display: flex; gap: .45rem; overflow-x: auto; padding: .75rem; background: var(--surface-soft); border-bottom: 1px solid var(--line); scrollbar-width: thin; }
.document-viewer-choice { flex: 0 0 min(230px,78vw); min-width: 0; display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: .55rem; border: 1px solid var(--line); border-radius: 10px; padding: .5rem .6rem; background: var(--surface-raised); color: var(--ink); text-align: left; cursor: pointer; }
.document-viewer-choice:hover,.document-viewer-choice:focus-visible { border-color: var(--blue); background: #253a58; }
.document-viewer-choice.is-active { border-color: var(--cyan); box-shadow: inset 0 0 0 1px var(--cyan); background: #203851; }
.document-viewer-choice > span:last-child { min-width: 0; display: grid; gap: .08rem; }
.document-viewer-choice strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
.document-viewer-choice small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.document-viewer-type { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 8px; background: #e8edf5; color: #c82938; font-size: .66rem; font-weight: 950; }
.document-viewer-surface { min-width: 0; background: #0b1220; }
.document-viewer-toolbar { min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .45rem .65rem; border-bottom: 1px solid #2c3b52; background: #111c2d; }
.document-viewer-pages,.document-viewer-tools { display: flex; align-items: center; gap: .35rem; }
.document-viewer-pages[hidden],.document-viewer-image[hidden],.document-viewer-fallback[hidden],.document-viewer-loading[hidden] { display: none; }
.document-viewer-toolbar button { min-width: 36px; min-height: 36px; border: 1px solid #3d4e68; border-radius: 8px; padding: .32rem .55rem; background: #19273b; color: #e6edf8; font-weight: 800; cursor: pointer; }
.document-viewer-toolbar button:hover,.document-viewer-toolbar button:focus-visible { border-color: var(--cyan); background: #243b57; }
.document-viewer-toolbar button:disabled { opacity: .38; cursor: default; }
.document-viewer-pages span,.document-viewer-tools span { min-width: 76px; color: #c4cee0; font-size: .76rem; font-weight: 750; text-align: center; }
.document-viewer-tools span { min-width: 45px; }
.document-viewer-close { display: none; font-size: 1.25rem; }
.document-viewer-canvas { height: clamp(430px,58vh,720px); overflow: auto; display: grid; place-items: start center; padding: 1rem; background: #09101b; overscroll-behavior: contain; }
.document-viewer-canvas:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }
.document-viewer-canvas img { display: block; max-width: none; height: auto; transform-origin: center top; box-shadow: 0 12px 32px rgba(0,0,0,.4); transition: width .16s ease, transform .16s ease; }
.document-viewer-loading { align-self: center; margin: auto; color: #b7c6da; }
.document-viewer-fallback { align-self: center; max-width: 360px; display: grid; place-items: center; gap: .4rem; margin: auto; color: #d9e3f1; text-align: center; }
.document-viewer-fallback > span { font-size: 3.2rem; color: #8192aa; }
.document-viewer-fallback p { margin: 0; color: #9dacbf; }
.document-viewer-caption { min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem .8rem; border-top: 1px solid #2c3b52; background: #111c2d; }
.document-viewer-caption > div { min-width: 0; display: grid; }
.document-viewer-caption strong,.document-viewer-caption small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.document-viewer-caption strong { color: #edf3fc; }
.document-viewer-caption small { color: #9dacbf; }
.document-viewer-caption .secondary-button { flex: 0 0 auto; }
.document-viewer-surface.is-overlay { position: fixed; inset: 1rem; z-index: 1200; display: grid; grid-template-rows: auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid #465b78; border-radius: 14px; box-shadow: 0 28px 80px rgba(0,0,0,.72); }
.document-viewer-open::after { content: ""; position: fixed; inset: 0; z-index: 1190; background: rgba(2,7,14,.86); }
.document-viewer-surface.is-overlay .document-viewer-canvas { height: auto; }
.document-viewer-surface.is-overlay .document-viewer-close { display: inline-grid; place-items: center; }
.document-viewer-open { overflow: hidden; }
.correspondence-viewer-panel { min-width: 0; padding: 0; overflow: hidden; }
.correspondence-viewer-panel .panel-heading { padding: 1rem 1.25rem 0; }
.efactura-detail-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(320px,.65fr); align-items: start; gap: 1rem; }
.efactura-actions-column { display: grid; gap: 1rem; }
.efactura-preview-card,.efactura-standalone-preview { min-width: 0; padding: 0; overflow: hidden; }
.efactura-standalone-preview { max-width: 1120px; margin-inline: auto; }
.efactura-paper { min-width: 0; background: #101a2a; color: #eaf1fb; }
.efactura-paper-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; padding: 1.4rem; border-bottom: 1px solid #34445d; background: linear-gradient(145deg,#16253b,#101a2a); }
.efactura-paper-heading p { margin: 0 0 .25rem; color: #8fbdff; font-size: .75rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.efactura-paper-heading h2 { margin: 0; font-size: clamp(1.25rem,3vw,2rem); }
.efactura-paper-heading > strong { color: #fff; font-size: clamp(1.25rem,3vw,1.85rem); white-space: nowrap; }
.efactura-parties { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border-bottom: 1px solid #34445d; background: #34445d; }
.efactura-parties section { min-width: 0; display: grid; gap: .25rem; padding: 1.15rem 1.4rem; background: #132033; }
.efactura-parties small,.efactura-summary dt { color: #91a3bc; font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.efactura-parties strong,.efactura-parties span,.efactura-summary dd { overflow-wrap: anywhere; }
.efactura-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: .55rem 1.4rem 1.2rem; }
.efactura-summary > div { min-width: 0; padding: .75rem 0; border-bottom: 1px solid #2d3d54; }
.efactura-summary > div:nth-child(odd) { padding-right: 1rem; }
.efactura-summary > div:nth-child(even) { padding-left: 1rem; }
.efactura-summary dd { margin: .2rem 0 0; font-weight: 750; }
.efactura-lines { margin: 0 1.4rem 1.25rem; border: 1px solid #34445d; border-radius: 10px; }
.efactura-lines table { min-width: 680px; margin: 0; }
.efactura-lines th { background: #18283d; }
.efactura-lines th,.efactura-lines td { padding: .65rem .75rem; border-bottom-color: #34445d; }
.efactura-lines td small { display: block; margin-top: .2rem; color: #91a3bc; }
.efactura-notes { margin: 0 1.4rem 1.25rem; border-left: 3px solid var(--cyan); padding: .2rem 0 .2rem 1rem; }
.efactura-notes h3 { margin-bottom: .35rem; font-size: .9rem; }
.efactura-notes p { margin: .2rem 0; color: #c4cee0; }
.efactura-paper footer { border-top: 1px solid #34445d; padding: .85rem 1.4rem; color: #91a3bc; font-size: .78rem; }
.efactura-warning ul { margin-bottom: 0; }
.efactura-source-panel { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.25rem; border-left: 4px solid var(--cyan); }
.efactura-source-panel h2 { margin-bottom: .35rem; }
.efactura-source-panel p:last-child { max-width: 720px; margin: 0; color: var(--muted); }
.efactura-reconciliation-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .85rem; margin-bottom: 1rem; }
.efactura-reconciliation-grid .metric-card { min-height: 132px; padding: 1rem; }
.efactura-reconciliation-grid .metric-card strong { font-size: 1.8rem; }
.status-reconciliation-exact { background: #173d31; color: #9ce7c6; }
.status-reconciliation-possible { background: #493817; color: #ffe0a0; }
.status-reconciliation-new { background: #15394a; color: #99def6; }
.status-reconciliation-review { background: #362d54; color: #cfc4ff; }
.efactura-reconciliation-cell { min-width: 220px; }
.efactura-reconciliation-cell > small { display: block; margin-top: .45rem; }
.efactura-reconciliation-cell form { margin-top: .5rem; }
.table-action-button { min-height: 34px; border: 1px solid #466b61; border-radius: 8px; padding: .38rem .65rem; background: #173d31; color: #b9f3d9; font-size: .76rem; font-weight: 800; cursor: pointer; }
.table-action-button:hover,.table-action-button:focus-visible { border-color: #72c9aa; background: #205341; color: #fff; }
.reconciliation-exact-card { border-left: 4px solid #4cc796; }
.reconciliation-possible-card { border-left: 4px solid #e1ad45; }
.timeline-dot-edit { background: var(--indigo); }
.edit-approval-notice { margin-top: 1.25rem; margin-bottom: 0; }
.compact-copy-data { display: grid; gap: .1rem; margin: .5rem 0 .15rem; color: var(--muted); font-size: .84rem; }
.compact-copy-data > div { display: flex; gap: .4rem; min-width: 0; }
.compact-copy-data dt { min-width: 76px; font-weight: 750; }.compact-copy-data dd { margin: 0; overflow-wrap: anywhere; }
.copy-field-row { display: flex; align-items: center; justify-content: flex-end; gap: .6rem; min-width: 0; }
.copy-field-row > span { min-width: 0; overflow-wrap: anywhere; }
.copy-value-button { flex: 0 0 auto; min-height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: .3rem .6rem; background: var(--surface-raised); color: #a9ddff; font-weight: 800; cursor: pointer; }
.copy-value-button:hover,.copy-value-button:focus-visible { border-color: var(--blue); background: #253a58; color: #fff; }
.compact-copy-data .copy-field-row { flex: 1 1 auto; }
.live-payment-total-note { margin: 1rem 0 -.35rem; color: var(--muted); font-size: .86rem; }
.supplier-bulk-approval { margin: 1rem 0; }
.bulk-approval-list { display: grid; gap: .45rem; margin: 1rem 0; }
.bulk-approval-row { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: .75rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); padding: .75rem; cursor: pointer; }
.bulk-approval-row:hover { border-color: #587096; }
.bulk-approval-row input { width: 20px; height: 20px; min-height: 0; }
.bulk-approval-row span { display: grid; }
.bulk-approval-row small { color: var(--muted); }

.eyebrow { color: #8fbdff; }
.primary-button { color: #fff; }
.invoice-payment-panel { border-top-color: #3f8fd8; }
.quiet-action,.quiet-button { color: var(--muted); }
.report-filters { display: grid; grid-template-columns: repeat(3,minmax(180px,1fr)) auto; align-items: end; gap: 1rem; margin-bottom: 1.25rem; }
.report-filters .primary-button { min-height: 42px; }
.report-grid { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(300px,.75fr); gap: 1rem; margin-bottom: 1rem; }
.report-panel-heading { padding: 1rem 1.25rem; margin: 0; }
.report-panel-heading strong { font-size: 1.4rem; color: var(--indigo); }
.report-table-panel { margin-bottom: 1rem; }
.amount-overdue { color: #ff9099; font-weight: 850; }
.empty-state.compact { padding: 2rem 1rem; }
.audit-filters { grid-template-columns: repeat(4,minmax(150px,1fr)) auto; }
.audit-timeline { padding: 0; overflow: hidden; }
.audit-timeline ol { list-style: none; padding: 0; margin: 0; }
.audit-timeline li { display: grid; grid-template-columns: 14px minmax(220px,1fr) auto; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--line); }
.audit-timeline li:last-child { border-bottom: 0; }
.audit-marker { width: 11px; height: 11px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px #1d4560; }
.audit-event-main,.audit-event-meta { display: grid; }
.audit-event-main span,.audit-event-meta { color: var(--muted); font-size: .86rem; }
.audit-event-meta { text-align: right; }
.compact-financial-table th,.compact-financial-table td { padding: .55rem .7rem; line-height: 1.22; }
.compact-financial-table .status { padding: .25rem .5rem; font-size: .72rem; }
.anaf-recovery-table td:first-child { padding-block: .1rem; }
.anaf-recovery-select { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; cursor: pointer; }
.anaf-recovery-select input { width: 20px; height: 20px; min-height: 0; margin: 0; cursor: pointer; }
.anaf-recovery-table .anaf-recovery-reason { white-space: normal; min-width: 14rem; max-width: 24rem; line-height: 1.4; }
.sortable-header { display: inline-flex; align-items: center; gap: .35rem; color: var(--ink); text-decoration: none; white-space: nowrap; }
.sortable-header span { color: var(--muted); font-size: .7rem; }
th[aria-sort="ascending"] .sortable-header span,th[aria-sort="descending"] .sortable-header span { color: var(--cyan); }
.sortable-header:hover { color: #a9ddff; }
.payment-preview-panel { position: static; }
.pagination-modern { display: grid; grid-template-columns: minmax(185px,auto) minmax(0,1fr) auto; align-items: center; gap: .8rem 1rem; border-top: 1px solid var(--line); padding: .8rem 1rem; background: var(--surface-soft); }
.pagination-size-form { display: flex; align-items: center; gap: .45rem; color: var(--muted); font-size: .8rem; font-weight: 750; }
.pagination-size-form select { width: auto; min-width: 68px; min-height: 34px; padding: .3rem 1.8rem .3rem .55rem; }
.pagination-apply { min-height: 34px; border: 1px solid var(--line); border-radius: 8px; padding: .3rem .6rem; background: var(--surface-raised); color: var(--ink); font-weight: 750; cursor: pointer; }
.pagination-pages { display: flex; justify-content: center; align-items: center; gap: .3rem; min-width: 0; }
.pagination-page,.pagination-arrow,.pagination-ellipsis { min-width: 40px; height: 40px; display: grid; place-items: center; border-radius: 9px; color: var(--ink); text-decoration: none; font-size: .84rem; font-weight: 800; }
.pagination-page,.pagination-arrow { border: 1px solid var(--line); background: var(--surface-raised); }
.pagination-page:hover,.pagination-arrow:hover { border-color: var(--blue); background: #253a58; color: #dcecff; }
.pagination-page.current { border-color: transparent; background: linear-gradient(135deg,var(--indigo),var(--blue)); color: #fff; box-shadow: 0 6px 16px rgba(39,102,189,.28); }
.pagination-arrow.disabled { opacity: .35; }
.pagination-summary { color: var(--muted); font-size: .8rem; white-space: nowrap; }
.login-layout { min-height: calc(100vh - 6rem); display: grid; grid-template-columns: minmax(0,1.1fr) minmax(320px,440px); align-items: center; gap: clamp(2rem,8vw,8rem); }
.login-layout.single-card-layout { grid-template-columns: minmax(0,540px); justify-content: center; }
.login-brand img { width: min(520px,100%); max-height: 200px; object-fit: contain; object-position: left center; margin-bottom: 2rem; }
.login-brand h1 { max-width: 700px; font-size: clamp(2.4rem,6vw,4.8rem); }.login-brand > p:last-child { max-width: 600px; color: var(--muted); font-size: 1.15rem; }
.login-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: clamp(1.5rem,4vw,2.25rem); box-shadow: var(--shadow); display: grid; gap: .7rem; }.login-card h2 { font-size: 1.65rem; }.login-card label { font-weight: 750; }.login-card input { width: 100%; }.login-card .primary-button { margin-top: .5rem; }.login-help-link { text-align: center; }.form-note { color: var(--muted); font-size: .85rem; text-align: center; margin: .5rem 0 0; }.form-error { color: #ffc0c5; background: #4a2028; border-radius: 8px; padding: .65rem; }
.password-reset-form { display: grid; gap: .7rem; }
.inline-action-form { margin: .3rem 0 0; }
.inline-action-form .text-button { min-height: 44px; padding-block: .45rem; text-align: left; }
.offline-card { min-height: 100vh; display: grid; place-content: center; justify-items: center; text-align: center; padding: 2rem; }.offline-card img { width: min(500px,80vw); margin-bottom: 2rem; }.offline-card p { color: var(--muted); max-width: 540px; }
.app-footer { width: min(1380px,100%); margin: 0 auto; padding: 0 clamp(1rem,4vw,3rem) 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: .82rem; }
.app-footer a { color: var(--muted); }
.help-heading { align-items: center; }
.help-layout { display: grid; grid-template-columns: minmax(210px,270px) minmax(0,1fr); align-items: start; gap: 1.25rem; }
.help-index { position: sticky; top: 1rem; padding: 1rem; }
.help-index > strong { display: block; color: var(--ink); margin-bottom: .65rem; }
.help-index nav { display: grid; }
.help-index a { color: #c3cee0; text-decoration: none; border-left: 2px solid var(--line); padding: .38rem .65rem; }
.help-index a:hover { color: #a9ddff; border-left-color: var(--cyan); background: var(--surface-raised); }
.help-content { display: grid; gap: 1rem; min-width: 0; }
.help-section { scroll-margin-top: 1rem; }
.help-section h2 { margin-bottom: .75rem; }
.help-section > p:not(.eyebrow), .help-section li, .help-section dd { color: #c4cee0; }
.help-section li + li { margin-top: .35rem; }
.help-steps { counter-reset: help-step; display: grid; gap: .75rem; list-style: none; padding: 0; }
.help-steps li { position: relative; min-height: 42px; padding-left: 3rem; }
.help-steps li::before { counter-increment: help-step; content: counter(help-step); position: absolute; left: 0; top: -.1rem; width: 2rem; height: 2rem; display: grid; place-items: center; border-radius: 50%; background: #253a58; color: #a9ddff; font-weight: 900; }
.workflow-list { display: grid; gap: 0; list-style: none; margin: 1.25rem 0; padding: 0; }
.workflow-list li { position: relative; display: grid; grid-template-columns: 2.5rem minmax(0,1fr); gap: .85rem; margin: 0; padding: 0 0 1.15rem; }
.workflow-list li:not(:last-child)::after { content: ""; position: absolute; left: 1.2rem; top: 2.4rem; bottom: .1rem; width: 2px; background: #40506b; }
.workflow-list p { margin: .2rem 0 0; color: #c4cee0; }
.workflow-number { position: relative; z-index: 1; width: 2.5rem; height: 2.5rem; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--indigo),var(--blue)); color: white; font-weight: 900; }
.workflow-variants { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: 1.25rem; }
.workflow-variants article { border: 1px solid var(--line); border-radius: 10px; background: var(--surface-soft); padding: .9rem; }
.workflow-variants h3 { margin-bottom: .35rem; font-size: 1rem; }
.workflow-variants p { margin-bottom: 0; color: #c4cee0; font-size: .9rem; }
.help-callout { border-left: 4px solid var(--cyan); border-radius: 9px; background: #173247; padding: .9rem 1rem; margin-top: 1.25rem; }
.help-callout.neutral { border-left-color: var(--indigo); background: #252a4b; }
.help-callout p { margin: .25rem 0 0; color: #c4cee0; }
.help-definitions, .help-faq { margin: 1rem 0; }
.help-definitions > div, .help-faq > div { display: grid; grid-template-columns: minmax(120px,.35fr) minmax(0,1fr); gap: 1rem; border-top: 1px solid var(--line); padding: .75rem 0; }
.help-definitions dt, .help-faq dt { font-weight: 800; }
.help-definitions dd, .help-faq dd { margin: 0; }
.release-list { display: grid; gap: 1.25rem; }
.release-card { padding: 0; overflow: hidden; }
.release-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 1.5rem; border-bottom: 1px solid var(--line); }
.release-heading h2 { margin-bottom: .4rem; }
.release-heading p:last-child { color: var(--muted); margin-bottom: 0; }
.release-meta { display: grid; justify-items: end; gap: .5rem; white-space: nowrap; color: var(--muted); font-size: .82rem; }
.current-release { border-radius: 999px; background: #173d31; color: #9ce7c6; padding: .25rem .6rem; font-weight: 800; }
.release-sections { display: grid; grid-template-columns: repeat(auto-fit,minmax(240px,1fr)); gap: 1rem; padding: 1.4rem 1.5rem; }
.release-sections section { border-radius: 10px; background: var(--surface-soft); padding: 1rem; }
.release-sections h3 { font-size: 1rem; margin-bottom: .65rem; }
.release-sections ul { margin: 0; padding-left: 1.2rem; color: #c4cee0; }
.release-sections li + li { margin-top: .35rem; }
.release-update-dialog { width: min(760px,calc(100vw - 2rem)); max-height: min(820px,calc(100vh - 2rem)); border: 1px solid #465570; border-radius: 18px; padding: 0; background: var(--surface); color: var(--ink); box-shadow: 0 28px 80px rgba(0,0,0,.62); }
.release-update-dialog::backdrop { background: rgba(3,8,18,.76); backdrop-filter: blur(5px); }
.release-update-shell { display: grid; max-height: min(820px,calc(100vh - 2rem)); }
@supports (height: 100dvh) { .release-update-dialog,.release-update-shell { max-height: min(820px,calc(100dvh - 2rem)); } }
.release-update-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); padding: 1.35rem 1.5rem 1.1rem; }
.release-update-heading .eyebrow { margin-bottom: .3rem; }
.release-update-heading h2 { margin: 0; font-size: clamp(1.35rem,3vw,2rem); }
.release-update-close { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #465570; border-radius: 12px; background: var(--surface-raised); color: var(--ink); cursor: pointer; font-size: 1.7rem; line-height: 1; }
.release-update-close:hover { border-color: var(--blue); background: #293750; }
.release-update-content { overflow-y: auto; padding: 1.25rem 1.5rem; }
.release-update-summary { margin-top: 0; color: #d3dded; font-size: 1.02rem; }
.release-update-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem; }
.release-update-sections section { border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); padding: 1rem; }
.release-update-sections h3 { margin-bottom: .6rem; font-size: 1rem; }
.release-update-sections ul { margin: 0; padding-left: 1.15rem; color: #c4cee0; }
.release-update-sections li + li { margin-top: .4rem; }
.release-update-actions { display: flex; align-items: center; justify-content: flex-end; gap: .75rem; border-top: 1px solid var(--line); padding: 1rem 1.5rem; }
.release-update-actions form { margin: 0; }
@media (max-width: 1180px) { .desktop-navigation { display: none; }.mobile-navigation { display: block; } }
@media (max-width: 1100px) { .report-filters,.audit-filters,.invoice-filter-form { grid-template-columns: repeat(2,minmax(180px,1fr)); }.report-grid { grid-template-columns: 1fr; }.invoice-a2-workspace { grid-template-columns: minmax(0,1.35fr) minmax(300px,.8fr); }.invoice-metric-strip { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .brand-copy small { display: none; }.account-name { display: none; }.metric-grid { grid-template-columns: repeat(2,1fr); }.login-layout { grid-template-columns: 1fr; }.login-brand { padding-top: 2rem; }.login-brand h1 { font-size: clamp(2rem,10vw,3.6rem); }.help-layout { grid-template-columns: 1fr; }.help-index { position: static; }.help-index nav { grid-template-columns: repeat(2,minmax(0,1fr)); }.workflow-variants { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .efactura-detail-grid { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .efactura-reconciliation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 900px) { .multi-payment-workspace { grid-template-columns: 1fr; }.payment-total-card { position: static; order: -1; } }
@media (max-width: 760px) { .invoice-a2-heading { align-items: flex-start; flex-direction: column; }.invoice-a2-heading .heading-actions { width: 100%; }.invoice-a2-heading .heading-actions .primary-button,.invoice-a2-heading .heading-actions .secondary-button { flex: 1 1 180px; }.invoice-a2-workspace { grid-template-columns: 1fr; }.invoice-preview-panel { position: static; }.invoice-preview-stack { max-height: none; }.invoice-payment-grid { grid-template-columns: 1fr; }.invoice-payment-grid .iban-copy-row { grid-column: auto; }.detail-list-two-columns { grid-template-columns: 1fr; }.single-payment-layout { grid-template-columns: 1fr; grid-template-areas: "copy" "main"; }.single-payment-copy { position: static; }.single-payment-main .form-grid { grid-template-columns: 1fr; }.single-payment-main .form-field.span-2 { grid-column: auto; } }
@media (max-width: 620px) { .app-header-inner { flex-wrap: wrap; padding-block: .5rem; }.brand-mark { width: 92px; height: 38px; }.brand-copy { display: none; }.header-actions { flex: 1 1 auto; gap: .35rem; }.company-picker { order: 2; flex: 1 1 100%; }.company-picker select { width: 100%; }.notification-link { min-width: 40px; }.mobile-navigation { order: 1; }.mobile-navigation nav { position: fixed; top: 62px; right: .75rem; }.page-heading,.channel-panel,.release-heading,.filter-panel-heading { align-items: flex-start; flex-direction: column; }.metric-grid,.management-grid,.company-settings-grid,.report-filters,.audit-filters,.invoice-metric-strip,.invoice-filter-form,.supplier-live-filter { grid-template-columns: 1fr; }.invoice-filter-search,.invoice-filter-actions { grid-column: auto; }.invoice-filter-actions { align-items: stretch; flex-direction: column; }.filter-count { align-self: flex-start; }.invoice-a2-title { align-items: flex-start; }.due-calendar { width: 68px; min-width: 68px; grid-template-rows: 22px 34px 20px; }.due-calendar strong { font-size: 1.4rem; }.due-list article { grid-template-columns: 90px 1fr; }.due-list .amount,.due-list .status { grid-column: 2; justify-self: start; }.filters { align-items: stretch; flex-direction: column; }.filters select { width: 100%; }.login-brand { display: none; }.login-layout { display: block; padding-top: 10vh; }.form-grid,.detail-grid,.lower-grid,.action-panel,.allocation-row { grid-template-columns: 1fr; }.form-field.span-2 { grid-column: auto; }.form-actions { flex-direction: column-reverse; }.notification-list article { grid-template-columns: 36px 1fr; }.notification-list article form { grid-column: 2; justify-self: start; }.supplier-permissions ul { grid-template-columns: 1fr; }.management-heading { align-items: flex-start; flex-direction: column; }.audit-timeline li { grid-template-columns: 12px minmax(0,1fr); }.audit-event-meta { grid-column: 2; text-align: left; }.help-index nav { grid-template-columns: 1fr; gap: .2rem; }.release-meta { justify-items: start; }.app-footer { align-items: flex-start; flex-direction: column; }.pagination-modern { grid-template-columns: 1fr; justify-items: stretch; }.pagination-size-form { justify-content: space-between; }.pagination-pages { justify-content: flex-start; overflow-x: auto; padding-bottom: .15rem; }.pagination-summary { text-align: left; }.release-update-sections { grid-template-columns: 1fr; }.release-update-actions { align-items: stretch; flex-direction: column; }.release-update-actions .primary-button,.release-update-actions .secondary-button { width: 100%; justify-content: center; }.release-update-actions form { width: 100%; } }
@media (max-width: 620px) { .action-drawer-content { grid-template-columns: 1fr; }.action-drawer summary { padding: .9rem 1rem; }.action-drawer-content { padding: 1rem; } }
@media (max-width: 620px) { .efactura-reconciliation-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .filters input { width: 100%; } }
@media (max-width: 620px) { .help-definitions > div,.help-faq > div { grid-template-columns: 1fr; gap: .2rem; } }
@media (min-width: 1101px) { .invoice-a2-workspace { grid-template-columns: minmax(0,1.15fr) minmax(460px,.9fr); } }
@media (max-width: 620px) {
  .document-viewer-toolbar { align-items: stretch; flex-direction: column; }
  .document-viewer-pages,.document-viewer-tools { justify-content: center; flex-wrap: wrap; }
  .document-viewer-tools button { flex: 1 1 auto; }
  .document-viewer-canvas { height: min(62vh,560px); padding: .5rem; }
  .document-viewer-caption { align-items: stretch; flex-direction: column; }
  .document-viewer-caption .secondary-button { justify-content: center; }
  .document-viewer-surface.is-overlay { inset: 0; border: 0; border-radius: 0; }
  .document-viewer-surface.is-overlay .document-viewer-toolbar { padding-top: max(.45rem,env(safe-area-inset-top)); }
  .document-viewer-surface.is-overlay .document-viewer-caption { padding-bottom: max(.7rem,env(safe-area-inset-bottom)); }
  .efactura-source-panel { align-items: stretch; flex-direction: column; }
  .efactura-source-panel .heading-actions { align-items: stretch; flex-direction: column; }
  .efactura-paper-heading { align-items: flex-start; flex-direction: column; }
  .efactura-paper-heading > strong { white-space: normal; }
  .efactura-parties,.efactura-summary { grid-template-columns: 1fr; }
  .efactura-summary > div:nth-child(odd),.efactura-summary > div:nth-child(even) { padding-inline: 0; }
  .efactura-lines { margin-inline: .75rem; }
}
