:root {
  --bg: #0b0d10;
  --surface: #12151a;
  --surface-raised: #181c22;
  --surface-hover: #1e232b;
  --border: #2a3039;
  --border-strong: #3a424e;
  --text: #f3f5f7;
  --text-muted: #9ca6b3;
  --primary: #ee8d2d;
  --primary-hover: #f5a04a;
  --success: #58c995;
  --warning: #e2b75a;
  --danger: #ed7777;
  --info: #6fa8e8;
  --shadow: 0 16px 42px rgba(0, 0, 0, .32);
  --radius-sm: 7px;
  --radius-md: 11px;
  --radius-lg: 16px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 16px;
  --space-4: 24px;
  --space-5: 32px;
  --sidebar-width: 248px;
  --sidebar-collapsed: 76px;
  --control-height: 40px;
  color-scheme: dark;
}

* { box-sizing: border-box; }
.review-settings-card{max-width:760px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.review-settings-card>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.review-settings-card h2{margin:0}.review-settings-card.is-connected{border-left:3px solid var(--success)}
html { min-width: 320px; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); font: 14px/1.5 Inter, "Segoe UI", system-ui, -apple-system, sans-serif; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--info); }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 70%, white); outline-offset: 2px; }
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 8px; transform: translateY(-150%); padding: 10px 14px; border-radius: var(--radius-sm); background: var(--text); color: var(--bg); }
.skip-link:focus { transform: none; }
.muted, small { color: var(--text-muted); }
.block { display: block; }
.money, [data-money], td:nth-last-child(-n+3) { font-variant-numeric: tabular-nums; }

/* Global shell */
.app-shell { min-height: 100vh; }
.app-sidebar { position: fixed; z-index: 50; inset: 0 auto 0 0; width: var(--sidebar-width); display: flex; flex-direction: column; gap: var(--space-3); padding: 18px 14px; overflow-y: auto; background: #0f1216; border-right: 1px solid var(--border); transition: width .2s ease, transform .2s ease; }
.app-main { min-width: 0; margin-left: var(--sidebar-width); transition: margin-left .2s ease; }
main { width: min(100%, 1720px); margin: 0 auto; padding: var(--space-5); }
.sidebar-is-collapsed .app-sidebar { width: var(--sidebar-collapsed); }
.sidebar-is-collapsed .app-main { margin-left: var(--sidebar-collapsed); }
.sidebar-top { min-height: 42px; display: flex; align-items: center; gap: var(--space-2); }
.brand { min-width: 0; flex: 1; display: flex; align-items: center; gap: 11px; color: var(--text); text-decoration: none; }
.brand-mark { width: 37px; height: 37px; flex: 0 0 37px; display: grid; place-items: center; border-radius: 10px; background: var(--primary); color: #241404; font-size: 14px; font-weight: 900; letter-spacing: -.02em; }
.brand-copy { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; white-space: nowrap; overflow: hidden; }
.brand-copy strong { font-size: 14px; }
.brand-copy small { margin-top: 3px; font-size: 11px; }
.icon-button { width: 40px; height: 40px; flex: 0 0 40px; display: inline-grid; place-items: center; padding: 0; color: var(--text-muted); background: transparent; border: 1px solid transparent; border-radius: var(--radius-md); cursor: pointer; }
.icon-button:hover { color: var(--text); background: var(--surface-hover); border-color: var(--border); }
.icon-button svg, .nav-item svg, .global-upload svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.nav-item:first-of-type svg { fill: currentColor; stroke: none; }
.sidebar-mobile-close { display: none; }
.global-upload { width: 100%; justify-content: center; overflow: hidden; white-space: nowrap; }
.global-upload svg { flex: 0 0 19px; }
.sidebar-nav { display: flex; flex-direction: column; gap: var(--space-3); }
.nav-group { display: flex; flex-direction: column; gap: 3px; }
.nav-group-label { padding: 0 10px 5px; color: #77818d; font-size: 10px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; overflow: hidden; }
.nav-item { min-height: 40px; display: flex; align-items: center; gap: 11px; padding: 8px 10px; border: 1px solid transparent; border-radius: var(--radius-md); color: #c4cbd4; text-decoration: none; white-space: nowrap; overflow: hidden; }
.nav-item svg { flex: 0 0 20px; }
.nav-item:hover { color: var(--text); background: var(--surface-hover); }
.nav-item.is-active { color: var(--text); background: var(--surface-raised); border-color: var(--border); box-shadow: inset 3px 0 var(--primary); }
.sidebar-is-collapsed .brand-copy, .sidebar-is-collapsed .global-upload span, .sidebar-is-collapsed .nav-item span, .sidebar-is-collapsed .nav-group-label { opacity: 0; width: 0; pointer-events: none; }
.sidebar-is-collapsed .global-upload { padding-inline: 0; }
.sidebar-is-collapsed .nav-item { justify-content: center; padding-inline: 0; box-shadow: none; }
.sidebar-is-collapsed .sidebar-collapse svg { transform: rotate(180deg); }
.mobile-bar { display: none; }
.sidebar-backdrop { position: fixed; z-index: 40; inset: 0; background: rgba(0, 0, 0, .58); backdrop-filter: blur(2px); }

/* Page structure */
.page-header { min-height: 64px; display: flex; align-items: flex-start; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.page-header-copy h1 { margin: 0; color: var(--text); font-size: clamp(24px, 2vw, 30px); line-height: 1.2; letter-spacing: -.025em; }
.page-header-copy p { margin: 6px 0 0; color: var(--text-muted); }
.page-header-actions, .section-actions, .actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: var(--space-2); }
.actions { margin-bottom: var(--space-3); }
.actions form { margin: 0; }
section { min-width: 0; margin-bottom: var(--space-3); padding: var(--space-3); background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); }
h1, h2, h3 { color: var(--text); }
h2 { margin: 0 0 14px; font-size: 16px; letter-spacing: -.01em; }
h3 { margin: 16px 0 8px; color: var(--text-muted); font-size: 13px; }
.section-header, .section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.section-header h2, .section-head h2 { margin: 0; }
.section-header p { margin: 3px 0 0; color: var(--text-muted); }

/* Buttons and dropdowns */
.btn { min-height: var(--control-height); display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 13px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-raised); color: var(--text); text-decoration: none; font-weight: 650; line-height: 1.15; cursor: pointer; transition: background .15s, border-color .15s, color .15s, transform .15s; }
.btn:hover { background: var(--surface-hover); border-color: #4a5360; }
.btn:active { transform: translateY(1px); }
.btn-primary, .btn.primary, .primary { background: var(--primary); border-color: var(--primary); color: #211304; }
.btn-primary:hover, .btn.primary:hover, .primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
.btn-secondary { background: var(--surface-raised); }
.btn-ghost { background: transparent; border-color: transparent; color: var(--text-muted); }
.btn-ghost:hover { color: var(--text); background: var(--surface-hover); }
.btn-danger, .danger-btn { background: transparent; border-color: color-mix(in srgb, var(--danger) 60%, var(--border)); color: #ff9b9b; }
.btn-danger:hover, .danger-btn:hover { background: rgba(237,119,119,.12); border-color: var(--danger); }
.btn-icon-only { width: var(--control-height); padding: 0; }
.btn.mini { min-height: 32px; padding: 5px 8px; font-size: 11px; }
.btn:disabled, .btn.is-disabled, .btn[aria-disabled="true"] { opacity: .45; pointer-events: none; cursor: not-allowed; }
.dropdown { position: relative; display: inline-flex; }
.dropdown-trigger span:last-child { color: var(--text-muted); }
.dropdown-panel { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; min-width: 220px; padding: 6px; background: var(--surface-raised); border: 1px solid var(--border-strong); border-radius: var(--radius-md); box-shadow: var(--shadow); }
.dropdown-panel a, .dropdown-panel button { width: 100%; min-height: 38px; display: flex; align-items: center; padding: 8px 10px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text); text-decoration: none; text-align: left; cursor: pointer; }
.dropdown-panel a:hover, .dropdown-panel button:hover { background: var(--surface-hover); }

/* Forms */
.form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
label { color: var(--text-muted); font-size: 12px; font-weight: 550; }
input, select, textarea, .search input, .product-filters input, .product-filters select, .inline-filter select { width: 100%; min-height: var(--control-height); margin-top: 5px; padding: 8px 10px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: #0e1115; color: var(--text); }
textarea { min-height: 88px; resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: #4c5663; }
input:focus, select:focus, textarea:focus { border-color: var(--primary); outline: 3px solid rgba(238,141,45,.18); }
input[readonly], textarea[readonly], select[disabled] { background: #171a1f; color: var(--text-muted); cursor: not-allowed; }
.form .full { grid-column: 1 / -1; }
.help-text, .field-help { display: block; margin-top: 5px; color: var(--text-muted); font-size: 11px; font-weight: 400; }
.field-error { display: block; margin-top: 5px; color: var(--danger); font-size: 11px; }
.check { display: flex; align-items: center; gap: 9px; color: var(--text) !important; }
.check input { width: 18px; min-height: 18px; margin: 0; accent-color: var(--primary); }
.search { display: flex; gap: var(--space-2); margin-bottom: var(--space-3); }
.search input { flex: 1; margin: 0; }

/* Data cards and badges */
.stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: var(--space-3); }
.stats > div, .stat-card { min-width: 0; padding: 15px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); }
.stats span, .stat-card > span { display: block; color: var(--text-muted); font-size: 11px; }
.stats b, .stat-card strong { display: block; margin-top: 6px; font-size: 20px; font-variant-numeric: tabular-nums; }
.stat-card small { display: block; margin-top: 5px; }
.status-badge, .badge, i { display: inline-flex; align-items: center; min-height: 25px; padding: 3px 8px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-raised); color: var(--text-muted); font-size: 11px; font-style: normal; font-weight: 700; white-space: nowrap; }
.status-review, .review, .processing { color: #f0c970; border-color: rgba(226,183,90,.35); }
.status-parsed, .status-validated, .processed, .verified, .matched { color: #75dbaa; border-color: rgba(88,201,149,.35); }
.status-error, .error { color: #ff9a9a; border-color: rgba(237,119,119,.4); }
.status-pending-invoice, .status-not-for-accounting { color: #e8c878; }
.confidence-badge, .confidence { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-weight: 800; font-variant-numeric: tabular-nums; }
.confidence-high, .confidence.high { background: rgba(88,201,149,.12); color: #75dbaa; }
.confidence-medium, .confidence.medium { background: rgba(226,183,90,.12); color: #f0c970; }
.confidence-low, .confidence.low { background: rgba(237,119,119,.12); color: #ff9a9a; }

/* Tables */
.scroll, .table-responsive, .lines-table-wrap { width: 100%; overflow: auto; border-radius: var(--radius-md); }
table { width: 100%; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
th { position: sticky; z-index: 2; top: 0; padding: 9px 10px; background: var(--surface); border-bottom: 1px solid var(--border-strong); color: var(--text-muted); font-size: 10px; font-weight: 750; letter-spacing: .055em; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { padding: 10px; border-bottom: 1px solid var(--border); vertical-align: middle; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: rgba(255,255,255,.022); }
tr[onclick], .is-clickable-row { cursor: pointer; }
.numeric, th.numeric, td.numeric { text-align: right; font-variant-numeric: tabular-nums; }
.empty-state { padding: 38px 24px; border: 1px dashed var(--border-strong); border-radius: var(--radius-md); color: var(--text-muted); text-align: center; }
.empty-state strong { display: block; color: var(--text); font-size: 15px; }
.empty-state p { max-width: 520px; margin: 7px auto 14px; }

/* Toasts, alerts and modal */
.toast-region { position: fixed; z-index: 80; top: 16px; right: 18px; width: min(390px, calc(100vw - 32px)); display: grid; gap: 8px; pointer-events: none; }
.toast { display: grid; grid-template-columns: 5px 1fr 32px; gap: 11px; align-items: start; padding: 12px; background: var(--surface-raised); border: 1px solid var(--border-strong); border-radius: var(--radius-md); box-shadow: var(--shadow); pointer-events: auto; }
.toast-indicator { width: 4px; align-self: stretch; border-radius: 999px; background: var(--info); }
.toast-success .toast-indicator { background: var(--success); }
.toast-warning .toast-indicator { background: var(--warning); }
.toast-danger .toast-indicator { background: var(--danger); }
.toast-close { width: 30px; height: 30px; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); font-size: 20px; cursor: pointer; }
.toast-close:hover { background: var(--surface-hover); color: var(--text); }
.alert { margin-bottom: 14px; padding: 11px 13px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--surface-raised); }
.alert.success { border-left: 3px solid var(--success); }
.alert.warning { border-left: 3px solid var(--warning); }
.alert.error, .alert.danger { border-left: 3px solid var(--danger); }
.confirm-modal { width: min(460px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: var(--surface-raised); color: var(--text); box-shadow: var(--shadow); }
.confirm-modal::backdrop { background: rgba(0,0,0,.7); backdrop-filter: blur(3px); }
.confirm-modal form { padding: 24px; }
.confirm-modal h2 { margin: 12px 0 6px; }
.confirm-modal p { margin: 0; color: var(--text-muted); }
.modal-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(237,119,119,.12); color: var(--danger); font-weight: 900; }
.modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }

/* Navigation components */
.breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 10px; color: var(--text-muted); font-size: 12px; }
.breadcrumb a { color: var(--text-muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--text); }
.tabs { display: flex; gap: 4px; padding: 3px; overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }
.tab { min-height: 36px; display: inline-flex; align-items: center; padding: 7px 11px; border-radius: 8px; color: var(--text-muted); text-decoration: none; white-space: nowrap; }
.tab:hover, .tab.is-active { color: var(--text); background: var(--surface-hover); }
.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; }

/* Existing page compatibility */
.metrics { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.metrics span { color: var(--text-muted); }
.upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.drop { min-height: 280px; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-bottom: 14px; border: 2px dashed var(--border-strong); border-radius: var(--radius-lg); cursor: pointer; text-align: center; }
.drop:hover { border-color: var(--primary); background: rgba(238,141,45,.03); }
.drop input { display: none; }
.drop strong { color: var(--text); font-size: 18px; }
.drop span { margin-top: 7px; color: var(--text-muted); }
.preview-wrap { max-height: 620px; overflow: auto; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: #080a0d; text-align: center; }
.preview-wrap img { max-width: 100%; height: auto; }
.appearance-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; margin-top: 12px; }
.processed-note { align-self: center; color: var(--success); }
.accounting-note { padding: 11px 13px; border: 1px solid rgba(226,183,90,.38); border-radius: var(--radius-md); background: rgba(226,183,90,.07); color: #e8c878; }
.reconcile.matched { border-color: rgba(88,201,149,.45); }
.reconcile.review { border-color: rgba(226,183,90,.45); }
.stats.small { grid-template-columns: repeat(5, minmax(0,1fr)); margin: 10px 0; }
.chip { display: inline-flex; margin: 3px; padding: 6px 9px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-raised); font-size: 12px; }
.chip.good { border-color: rgba(88,201,149,.35); color: #75dbaa; }
.chip.bad { border-color: rgba(237,119,119,.4); color: #ff9a9a; }
.chip.warn { border-color: rgba(226,183,90,.4); color: #f0c970; }
details { margin-top: 9px; color: var(--text-muted); }
summary { color: var(--text); font-weight: 650; cursor: pointer; }
.confidence-panel-high { border-color: rgba(88,201,149,.42); }
.confidence-panel-medium { border-color: rgba(226,183,90,.42); }
.confidence-panel-low { border-color: rgba(237,119,119,.42); }
.confidence-main { display: flex; align-items: center; gap: 15px; }
.confidence-main h2 { margin: 0; }
.confidence-main p { margin: 3px 0 0; color: var(--text-muted); }
.confidence-circle { width: 70px; height: 70px; flex: 0 0 70px; display: grid; place-items: center; border: 4px solid currentColor; border-radius: 50%; font-size: 19px; font-weight: 900; font-variant-numeric: tabular-nums; }
.confidence-panel-high .confidence-circle { color: var(--success); }
.confidence-panel-medium .confidence-circle { color: var(--warning); }
.confidence-panel-low .confidence-circle { color: var(--danger); }
.confidence-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.confidence-check { display: grid; grid-template-columns: 26px 1fr auto; gap: 8px; align-items: center; padding: 9px; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.confidence-check small { display: block; }
.check-ok > span { color: var(--success); }
.check-fail > span { color: var(--danger); }
.profile-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(310px,1fr)); gap: 14px; }
.supplier-profile { padding: 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); }
.supplier-profile dl { display: grid; grid-template-columns: 100px 1fr; gap: 7px; margin: 14px 0; }
.supplier-profile dt { color: var(--text-muted); }
.supplier-profile dd { margin: 0; }

/* Supplier management */
.supplier-management { display: grid; gap: 20px; }
.supplier-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.supplier-kpis article { min-height: 112px; padding: 16px 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); display: grid; align-content: center; gap: 5px; }
.supplier-kpis span,.supplier-kpis small { color: var(--text-muted); }
.supplier-kpis strong { font-size: clamp(1.55rem,3vw,2.15rem); line-height: 1; }
.supplier-search-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.supplier-search-toolbar input,.supplier-search-toolbar .btn { min-height: 46px; }
.supplier-search-toolbar [data-supplier-result-count] { min-width: 92px; color: var(--text-muted); text-align: right; }
.supplier-management-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.supplier-management-card { position: relative; padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); cursor: pointer; transition: transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.supplier-management-card:hover,.supplier-management-card:focus-visible { transform: translateY(-2px); border-color: color-mix(in srgb,var(--accent) 65%,var(--border)); background: var(--surface-raised); box-shadow: 0 12px 30px rgba(0,0,0,.18); outline: none; }
.supplier-management-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.supplier-management-card h2 { margin: 0 0 5px; font-size: 1.05rem; line-height: 1.3; }
.supplier-card-chevron { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--surface-raised); color: var(--accent); font-size: 1.55rem; transition: transform .18s ease; }
.supplier-management-card:hover .supplier-card-chevron { transform: translateX(3px); }
.profile-key { color: var(--text-muted); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .76rem; }
.supplier-card-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px 18px; margin: 16px 0; }
.supplier-card-stats div:last-child { grid-column: 1/-1; }
.supplier-card-stats dt,.supplier-detail-hero dt,.supplier-product-grid dt { color: var(--text-muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
.supplier-card-stats dd,.supplier-detail-hero dd,.supplier-product-grid dd { margin: 4px 0 0; font-weight: 700; }
.supplier-flow { padding: 12px; border-radius: var(--radius-md); background: var(--surface-raised); }
.supplier-flow span { color: var(--text-muted); font-size: .74rem; }
.supplier-flow p { margin: 5px 0 0; line-height: 1.45; }
.supplier-detail-page { display: grid; gap: 18px; }
.back-link { width: fit-content; color: var(--text-muted); }
.supplier-detail-hero { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(480px,1fr); gap: 28px; padding: 22px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(135deg,color-mix(in srgb,var(--accent) 8%,var(--surface)),var(--surface)); }
.supplier-detail-hero h2 { margin: 8px 0; font-size: clamp(1.45rem,3vw,2rem); }
.supplier-detail-hero p { max-width: 680px; margin: 0; color: var(--text-muted); }
.supplier-detail-hero dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 0; }
.supplier-detail-hero dl div { padding: 12px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(0,0,0,.1); }
.supplier-detail-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); gap: 14px; }
.supplier-detail-section { padding: 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }
.identity-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.identity-form-grid label{display:grid;gap:7px;color:var(--text-muted);font-size:.86rem}.identity-form-grid input,.identity-form-grid select{width:100%}.identity-form-grid .wide,.identity-form-grid .identity-lock{grid-column:1/-1}.identity-form-grid .identity-lock{display:flex;align-items:center;gap:9px}.identity-form-grid .identity-lock input{width:auto}.identity-preview dl{display:grid;gap:10px}.identity-preview dl div{display:grid;grid-template-columns:180px 1fr;gap:14px;padding:12px;border-bottom:1px solid var(--border)}.identity-preview dd{display:flex;gap:14px;justify-content:space-between}.identity-preview del{color:var(--text-muted)}
.supplier-detail-section>header { margin-bottom: 14px; }
.supplier-detail-section h2 { margin: 0; font-size: 1.05rem; }
.supplier-detail-section header p { margin: 4px 0 0; color: var(--text-muted); }
.supplier-document-list { display: grid; }
.supplier-document-list>a { display: grid; grid-template-columns: 100px minmax(0,1fr) auto 20px; align-items: center; gap: 14px; padding: 12px 4px; border-top: 1px solid var(--border); }
.supplier-document-list>a:first-child { border-top: 0; }
.supplier-document-list time,.supplier-document-list span { color: var(--text-muted); }
.supplier-document-list div { display: grid; gap: 3px; }
.supplier-document-list>a:hover strong { color: var(--accent); }
.supplier-rule-card { padding: 13px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); }
.supplier-rule-card+.supplier-rule-card { margin-top: 10px; }
.supplier-rule-card>span,.supplier-rule-card small { color: var(--text-muted); font-size: .74rem; }
.supplier-rule-card strong { display: block; margin-top: 5px; }
.supplier-rule-card p { margin: 7px 0; line-height: 1.45; }
.supplier-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.supplier-product-grid>a { position: relative; display: grid; gap: 14px; padding: 14px 34px 14px 14px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); transition: border-color .15s ease,transform .15s ease; }
.supplier-product-grid>a:hover { border-color: var(--accent); transform: translateY(-1px); }
.supplier-product-grid>a>span { position: absolute; right: 14px; top: 50%; color: var(--accent); }
.supplier-product-grid>a>div>span { display: block; margin-top: 5px; color: var(--text-muted); font-size: .78rem; }
.supplier-product-grid dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }

@media(max-width:1000px){.supplier-kpis{grid-template-columns:repeat(2,1fr)}.supplier-detail-hero,.supplier-detail-grid{grid-template-columns:1fr}.supplier-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.supplier-management-grid,.supplier-product-grid{grid-template-columns:1fr}.supplier-search-toolbar{grid-template-columns:1fr 1fr}.supplier-search-toolbar input{grid-column:1/-1}.supplier-search-toolbar [data-supplier-result-count]{text-align:left}.supplier-detail-hero{padding:16px}.supplier-detail-hero dl{grid-template-columns:1fr 1fr}.supplier-document-list>a{grid-template-columns:1fr auto}.supplier-document-list time{grid-column:1}.supplier-document-list>a>span:last-child{display:none}}
@media(max-width:480px){.supplier-kpis{grid-template-columns:1fr 1fr}.supplier-kpis article{min-height:96px;padding:13px}.supplier-card-stats{grid-template-columns:1fr}.supplier-card-stats div:last-child{grid-column:auto}.supplier-detail-hero dl{grid-template-columns:1fr}.supplier-product-grid dl{grid-template-columns:1fr 1fr}}
.profile-key { padding: 4px 7px; border-radius: 6px; background: var(--bg); color: var(--text-muted); font-size: 11px; }

/* Document lines retain every field while becoming visually coherent. */
.editable-lines { min-width: 0; table-layout: fixed; }
.editable-lines th:nth-child(1) { width: 8%; }.editable-lines th:nth-child(2) { width: 40%; }.editable-lines th:nth-child(3) { width: 10%; }.editable-lines th:nth-child(4) { width: 6%; }.editable-lines th:nth-child(5) { width: 10%; }.editable-lines th:nth-child(6) { width: 8%; }.editable-lines th:nth-child(7) { width: 9%; }.editable-lines th:nth-child(8) { width: 9%; }
.editable-lines td { padding: 8px 6px; vertical-align: top; }
.editable-lines input, .editable-lines textarea { min-width: 0; width: 100%; min-height: 34px; margin: 0; padding: 6px; }
.editable-lines textarea { min-height: 50px; line-height: 1.35; overflow-wrap: anywhere; }
.editable-lines small { display: block; margin-top: 4px; font-size: 10px; }
.description-cell { min-width: 300px; }
.line-actions { display: flex; flex-direction: column; gap: 5px; }
.line-actions form, .line-actions button { width: 100%; }
.line-details-row td { padding: 0 8px 10px; }
.line-details { margin: 0; padding: 6px 4px; border-top: 1px dashed var(--border-strong); }
.line-details-grid { display: grid; grid-template-columns: repeat(5,minmax(125px,1fr)); gap: 9px; padding-top: 10px; }
.line-details-grid label { font-size: 10px; }
.line-kind { display: inline-flex; padding: 3px 7px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.line-kind.product { background: rgba(111,168,232,.12); color: #a9d2ff; }
.line-kind.bonus { background: rgba(88,201,149,.12); color: #85ddb1; }
.line-kind.discount { background: rgba(111,168,232,.12); color: #a9d2ff; }
.line-kind.fee, .line-kind.charge, .line-kind.transport { background: rgba(226,183,90,.12); color: #ebca85; }
.line-kind.ignored, .line-kind.non-commercial { background: rgba(156,166,179,.1); color: #bdc4cc; }
.line-row-bonus, .line-details-row.line-row-bonus { background: rgba(88,201,149,.045); }
.line-row-discount, .line-details-row.line-row-discount { background: rgba(111,168,232,.04); }
.editable-lines input[name="discount_percent"] { border-color: rgba(226,183,90,.48); }

/* Catalog compatibility */
.catalog-stats { grid-template-columns: repeat(6,minmax(110px,1fr)); }
.catalog-stats > div { padding: 12px 14px; }
.catalog-stats b { font-size: 18px; }
.product-filters { display: grid; grid-template-columns: minmax(250px,2fr) repeat(6,minmax(112px,1fr)); gap: 8px; align-items: center; flex: 1; }
.product-filters input, .product-filters select { margin: 0; }
.product-name-col { min-width: 250px; max-width: 420px; white-space: normal; overflow-wrap: anywhere; }
.product-name-col a { color: var(--text); text-decoration: none; }
.product-name-col a:hover { color: var(--primary); }
.variation.up { color: #ff9d92; }.variation.down { color: #75dbaa; }

/* Documents operational inbox */
.document-inbox { display: grid; gap: 18px; }
.inbox-toolbar { display: flex; justify-content: flex-end; gap: 8px; }
.inbox-global-menu button, .row-more .dropdown-panel button { width: 100%; padding: 9px 11px; border: 0; background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.inbox-global-menu button:hover, .row-more .dropdown-panel button:hover { background: var(--surface-hover); }
.inbox-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.inbox-stat { display: grid; align-content: center; gap: 2px; min-height: 76px; padding: 9px 15px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); color: inherit; text-decoration: none; }
.inbox-stat:hover, .inbox-stat:focus-visible, .inbox-stat.is-active { border-color: var(--primary); background: color-mix(in srgb,var(--primary) 8%,var(--surface)); outline: none; }
.inbox-stat span { color: var(--text-muted); font-size: 12px; font-weight: 700; }
.inbox-stat strong { font-size: 24px; line-height: 1; font-variant-numeric: tabular-nums; }
.inbox-stat small { color: var(--text-subtle); }
.inbox-stat.tone-warning { border-color: rgba(226,183,90,.35); }.inbox-stat.tone-warning strong { color: #ebca85; }
.inbox-stat.tone-info { border-color: rgba(111,168,232,.35); }.inbox-stat.tone-info strong { color: #a9d2ff; }
.inbox-stat.tone-success { border-color: rgba(88,201,149,.3); }.inbox-stat.tone-success strong { color: #85ddb1; }
.inbox-tabs { display: flex; gap: 4px; overflow-x: auto; border-bottom: 1px solid var(--border); scrollbar-width: thin; }
.inbox-tab { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 13px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-muted); white-space: nowrap; cursor: pointer; }
.inbox-tab span { min-width: 22px; padding: 2px 6px; border-radius: 999px; background: var(--surface-raised); font-size: 11px; font-variant-numeric: tabular-nums; }
.inbox-tab:hover { color: var(--text); }.inbox-tab.is-active { border-bottom-color: var(--primary); color: var(--text); }
.inbox-filters { display: grid; gap: 10px; padding: 12px; }
.inbox-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; align-items: stretch; }
.inbox-search { min-width: 0; height: var(--control-height); margin: 0; }
.search-control { display: flex; align-items: stretch; min-width: 0; height: var(--control-height); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--input-bg); overflow: hidden; }
.search-control:focus-within { border-color: var(--primary); box-shadow: 0 0 0 3px var(--focus-ring); }
.search-control input[type="search"] { flex: 1; min-width: 0; height: 100%; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.search-control .btn { height: 100%; min-height: 0; border: 0; border-left: 1px solid rgba(255,255,255,.09); border-radius: 0; }
.inbox-search-row > .btn { height: var(--control-height); min-height: var(--control-height); margin: 0; align-self: stretch; }
.filter-toggle { gap: 7px; }.filter-count { min-width: 20px; padding: 2px 6px; border-radius: 999px; background: var(--primary); color: #101216; font-size: 10px; font-weight: 800; text-align: center; }
.primary-filter-row, .secondary-filter-panel { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.primary-filter-row label, .secondary-filter-panel label { display: grid; gap: 5px; color: var(--text-muted); font-size: 10px; font-weight: 700; }
.primary-filter-row select, .secondary-filter-panel input, .secondary-filter-panel select { width: 100%; }
.secondary-filter-panel { padding-top: 10px; border-top: 1px solid var(--border); }
.secondary-filter-panel[hidden] { display: none; }
.secondary-filter-panel .checkbox-filter { display: flex; align-items: center; gap: 8px; min-height: var(--control-height); }
.secondary-filter-panel .checkbox-filter input { width: auto; }
.document-list-section { padding: 0; overflow: visible; }
.inbox-result-meta { display: flex; justify-content: space-between; padding: 14px 17px; border-bottom: 1px solid var(--border); color: var(--text-muted); font-size: 12px; }
.documents-table-wrap { overflow: visible; }
.documents-table { width: 100%; }
.documents-table th { position: sticky; top: 0; z-index: 2; background: var(--surface); }
.document-row { cursor: default; }
.documents-table th { padding-top: 8px; padding-bottom: 8px; font-size: 10px; }
.document-row td { padding-top: 8px; padding-bottom: 8px; vertical-align: middle; }
.document-row td:nth-child(2) strong { display: block; max-width: 270px; overflow: hidden; text-overflow: ellipsis; }
.document-row td:nth-child(2) small { display: block; max-width: 270px; margin-top: 3px; overflow: hidden; color: var(--text-subtle); text-overflow: ellipsis; white-space: nowrap; }
.document-number { color: var(--text); font-weight: 700; text-decoration: none; }.document-number:hover { color: var(--primary); }
.next-action { color: var(--text-muted); font-size: 12px; }
.row-actions { position: relative; width: 58px; }
.quick-actions { position: absolute; z-index: 5; right: 48px; top: 50%; display: none; gap: 3px; padding: 4px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); box-shadow: var(--shadow-sm); transform: translateY(-50%); white-space: nowrap; }
.quick-actions a { padding: 6px 8px; border-radius: 6px; color: var(--text-muted); font-size: 11px; text-decoration: none; }.quick-actions a:hover { background: var(--surface-hover); color: var(--text); }
.document-row:hover .quick-actions, .document-row:focus-within .quick-actions { display: flex; }
.row-more .dropdown-panel { right: 0; min-width: 150px; }
.documents-table .status-badge { min-height: 20px; padding: 2px 7px; font-size: 9px; line-height: 1.2; }
.document-dual-status { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.status-badge.status-warning { background: rgba(226,183,90,.13); color: #ebca85; }
.status-badge.status-info, .status-badge.status-mixed { background: rgba(111,168,232,.13); color: #a9d2ff; }
.status-badge.status-success { background: rgba(88,201,149,.13); color: #85ddb1; }
.status-badge.status-neutral { background: rgba(156,166,179,.1); color: #bdc4cc; }
.page-size-control { display: flex; justify-content: flex-end; padding: 0 17px 17px; }.page-size-control label { display: flex; align-items: center; gap: 8px; color: var(--text-muted); font-size: 12px; }.page-size-control select { width: auto; }
.inbox-empty { padding: 22px; }

/* Document review workspace */
.document-workspace { display: grid; gap: 16px; }
body:has(.document-workspace) main > .page-header { display: none; }
.document-command-bar { position: sticky; z-index: 25; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 8px 14px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: rgba(18,22,28,.96); box-shadow: var(--shadow-sm); backdrop-filter: blur(14px); }
.document-command-main { min-width: 0; display: flex; align-items: center; gap: 20px; }
.back-link { color: var(--text-muted); font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.document-header-copy { min-width: 0; display: grid; grid-template-columns: auto auto; gap: 2px 14px; align-items: baseline; }.document-header-copy b { grid-column: 1 / -1; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }.document-header-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.document-header-copy time { color: var(--text-muted); font-size: 11px; }.document-header-total { margin-left: auto; font-size: 18px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.document-command-actions { display: flex; gap: 8px; flex: 0 0 auto; }
.document-more-menu { right: 0; min-width: 245px; }
.document-more-menu button, .document-more-menu a { width: 100%; display: block; padding: 9px 12px; border: 0; background: transparent; color: var(--text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.document-more-menu button:hover, .document-more-menu a:hover { background: var(--surface-hover); }
.document-mobile-tabs { display: none; }
.document-workspace-grid { display: grid; grid-template-columns: minmax(500px,1.08fr) minmax(440px,.92fr); gap: 14px; align-items: start; }
.document-preview-column { position: sticky; top: 92px; min-width: 0; }
.document-preview-card { padding: 12px; }
.preview-actions { display: flex; gap: 5px; }.preview-control { min-width: 42px; height: 42px; padding: 0 9px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface-raised); color: var(--text); cursor: pointer; }.preview-control:hover, .preview-control:focus-visible { border-color: var(--primary); background: var(--surface-hover); }.preview-control.fit, .preview-control.fullscreen { min-width: 46px; font-size: 11px; font-weight: 750; }
.document-preview-frame { height: calc(100vh - 205px); min-height: 520px; overflow: auto; display: grid; place-items: start center; border: 1px solid var(--border); border-radius: var(--radius-md); background: #090b0e; }
.document-preview-frame img { display: block; max-width: 100%; height: auto; margin: auto; transform-origin: top center; transition: transform .15s ease; }
.document-preview-frame iframe { width: 100%; height: 100%; border: 0; background: white; }
.document-pages { display: flex; align-items: center; justify-content: center; gap: 14px; min-height: 44px; padding-top: 10px; color: var(--text-muted); }
.document-pages span { min-width: 118px; text-align: center; font-variant-numeric: tabular-nums; }
.document-page-arrow { width: 36px; height: 34px; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-raised); color: var(--text); font-size: 25px; line-height: 1; cursor: pointer; }
.document-page-arrow:hover:not(:disabled), .document-page-arrow:focus-visible { border-color: var(--primary); color: var(--primary); outline: none; }
.document-page-arrow:disabled { opacity: .35; cursor: default; }
.document-review-column { min-width: 0; display: grid; gap: 11px; }
.operational-status { display: grid; grid-template-columns: 34px 1fr; gap: 10px; align-items: center; margin-bottom: 12px; padding: 10px 13px; border: 1px solid var(--border); border-left-width: 3px; border-radius: var(--radius-md); background: var(--surface); }.operational-status-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-hover); font-size: 17px; font-weight: 850; }.operational-status strong { display: block; font-size: 14px; }.operational-status p { margin: 2px 0 0; color: var(--text-muted); font-size: 10px; }.operational-status-critical { border-left-color: var(--danger); }.operational-status-critical .operational-status-icon { color: #ff9d92; }.operational-status-warning { border-left-color: var(--warning); }.operational-status-warning .operational-status-icon { color: #ebca85; }.operational-status-pending { border-left-color: var(--info); }.operational-status-pending .operational-status-icon { color: #a9d2ff; }.operational-status-success { border-left-color: var(--success); }.operational-status-success .operational-status-icon { color: #85ddb1; }
.document-summary-list { display: grid; gap: 0; margin: 0; }.document-summary-list div { display: grid; grid-template-columns: 105px 1fr; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--border); }.document-summary-list div:last-child { border-bottom: 0; }.document-summary-list dt { color: var(--text-subtle); font-size: 10px; font-weight: 750; }.document-summary-list dd { margin: 0; overflow-wrap: anywhere; font-weight: 650; }
.document-more-data { margin-top: 8px; border-top: 1px solid var(--border); }.document-more-data > summary { padding: 9px 0 2px; cursor: pointer; color: var(--text-muted); font-size: 10px; font-weight: 750; }.document-more-data dl { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 8px 0 0; }.document-more-data dl div { min-width: 0; padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); }.document-more-data dt { color: var(--text-subtle); font-size: 9px; }.document-more-data dd { margin: 2px 0 0; overflow-wrap: anywhere; font-size: 10px; font-weight: 650; }
.document-editor { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border); }
.document-editor[hidden] { display: none; }
.issue-list { display: grid; gap: 8px; }
.issue-groups { display: grid; gap: 6px; }.issue-group { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }.issue-group > summary { display: flex; align-items: center; justify-content: space-between; min-height: 38px; padding: 0 10px; cursor: pointer; font-weight: 700; }.issue-group > summary b { min-width: 22px; padding: 2px 6px; border-radius: 999px; text-align: center; }.issue-group.critical > summary b { background: rgba(238,101,95,.14); color: #ff9d92; }.issue-group.attention > summary b { background: rgba(226,183,90,.14); color: #ebca85; }.issue-group.informative > summary b { background: rgba(111,168,232,.14); color: #a9d2ff; }.issue-group > div { padding: 0 10px 9px; color: var(--text-muted); font-size: 11px; }.issue-group p { margin: 5px 0; }
.issue-item { display: grid; grid-template-columns: 28px 1fr; gap: 9px; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }
.issue-item > span { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; font-weight: 850; }
.issue-item strong { display: block; }.issue-item p { margin: 2px 0; color: var(--text-muted); }.issue-item small { color: var(--text-subtle); }
.issue-item.critical { border-color: rgba(238,101,95,.4); }.issue-item.critical > span { background: rgba(238,101,95,.14); color: #ff9d92; }
.issue-item.attention { border-color: rgba(226,183,90,.35); }.issue-item.attention > span { background: rgba(226,183,90,.14); color: #ebca85; }
.issue-item.informative > span { background: rgba(111,168,232,.14); color: #a9d2ff; }.issue-item.ok > span { background: rgba(88,201,149,.14); color: #85ddb1; }
.checks-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-bottom: 10px; }
.checks-overview > div { display: flex; align-items: baseline; gap: 8px; padding: 9px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }
.checks-overview strong { font-size: 20px; font-variant-numeric: tabular-nums; }.checks-overview span { color: var(--text-muted); font-size: 10px; }
.checks-overview .critical strong { color: #ff9d92; }.checks-overview .attention strong { color: #ebca85; }.checks-overview .normal strong { color: #85ddb1; }
.checks-explanation { margin: 0 0 12px; padding: 9px 11px; border-left: 3px solid var(--primary); background: rgba(242,143,44,.06); color: var(--text-muted); font-size: 11px; }
.validation-cards { display: grid; gap: 10px; }
.validation-card-v2 { padding: 0; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); }
.validation-card-v2.critical { border-color: rgba(238,101,95,.42); }.validation-card-v2.attention { border-color: rgba(226,183,90,.35); }.validation-card-v2.normal { border-color: rgba(88,201,149,.3); }
.validation-card-v2 > header { display: flex; align-items: center; gap: 5px; padding: 5px 9px 2px; border-bottom: 0; }
.validation-alert-group { border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden; }.validation-alert-group > summary { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 11px; cursor: pointer; background: var(--surface-raised); }.validation-alert-group > summary > span { color: #ebca85; font-size: 16px; }.validation-alert-group > summary small { margin-left: auto; color: var(--text-subtle); }.compact-validation-list { padding: 8px; }
.validation-card-v2 > :not(header):not(.validation-product):not(.validation-compact-reason) { display: none; }.validation-card-v2.is-expanded > :not(header):not(.validation-product):not(.validation-compact-reason) { display: grid; }.validation-card-v2.is-expanded > .validation-source { display: block; }.validation-expand-hint { width: 32px; min-height: 32px; margin-left: auto; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); cursor: pointer; font-size: 15px; font-weight: 800; }.validation-expand-hint:hover { background: var(--surface-hover); color: var(--text); }.validation-card-v2.is-expanded .validation-expand-hint { transform: rotate(90deg); }.new-product-badge { margin-left: auto; padding: 2px 6px; border-radius: 999px; background: rgba(111,168,232,.12); color: #a9d2ff; font-size: 9px; font-weight: 800; }.new-product-badge + .validation-expand-hint { margin-left: 0; }
.validation-severity, .validation-kind { display: inline-flex; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.critical .validation-severity { background: rgba(238,101,95,.14); color: #ff9d92; }.attention .validation-severity { background: rgba(226,183,90,.14); color: #ebca85; }.normal .validation-severity { background: rgba(88,201,149,.14); color: #85ddb1; }
.validation-kind { background: var(--surface-hover); color: var(--text-muted); }
.validation-product { display: grid; gap: 1px; padding: 2px 9px 1px; }.validation-product span { display: none; }.validation-product span, .validation-comparison span, .validation-recommendation span { color: var(--text-subtle); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }.validation-product strong { overflow: hidden; font-size: 14px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }.validation-compact-reason { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 1px 9px 6px; color: var(--text-muted); font-size: 10px; }.validation-compact-reason strong { color: var(--text); font-size: 10px; font-variant-numeric: tabular-nums; }
.validation-comparison { display: grid; grid-template-columns: 1fr auto 1fr auto; align-items: center; gap: 8px; padding: 7px 12px 10px; }
.validation-comparison > div { display: grid; gap: 3px; }.validation-comparison > div > strong { font-size: 17px; font-variant-numeric: tabular-nums; }.comparison-arrow { color: var(--text-subtle); font-size: 16px; }
.difference-pill { min-width: 92px; padding: 7px 9px; border-radius: var(--radius-sm); background: rgba(226,183,90,.1); text-align: right; }.critical .difference-pill strong { color: #ff9d92; }.attention .difference-pill strong { color: #ebca85; }.normal .difference-pill strong { color: #85ddb1; }
.validation-conclusion { padding: 10px 12px; border-top: 1px solid var(--border); background: rgba(255,255,255,.015); }.validation-conclusion strong { display: block; }.validation-conclusion p { margin: 3px 0 0; color: var(--text-muted); font-size: 11px; }
.validation-recommendation { display: grid; gap: 3px; padding: 9px 12px; border-top: 1px solid var(--border); }.validation-recommendation strong { font-size: 11px; font-weight: 650; }
.validation-source { border-top: 1px solid var(--border); }.validation-source summary { padding: 8px 12px; color: var(--text-muted); cursor: pointer; font-size: 10px; }.validation-source p { margin: 0; padding: 0 12px 10px; color: var(--text-subtle); font-size: 10px; overflow-wrap: anywhere; }
.tax-summary details { border: 0; }.tax-summary summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; }.tax-summary summary span { display: grid; gap: 3px; }.tax-summary summary small { color: var(--text-muted); }.tax-summary summary b { font-size: 20px; font-variant-numeric: tabular-nums; }
.reconcile-status { display: flex; justify-content: space-between; margin-bottom: 9px; }.reconcile-compact { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; }.reconcile-compact div { display: grid; gap: 4px; padding: 9px; border: 1px solid var(--border); border-radius: var(--radius-sm); }.reconcile-compact span { color: var(--text-muted); font-size: 10px; }.reconcile-compact b { font-variant-numeric: tabular-nums; }
.automatic-activity{margin:14px 0;padding:16px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.automatic-activity>header h2{margin:0;font-size:1rem}.automatic-activity>header p{margin:3px 0 12px;color:var(--text-muted);font-size:.78rem}.automatic-activity-list{display:grid;gap:7px}.automatic-activity-list article{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(79,210,140,.28);border-radius:10px;background:rgba(79,210,140,.035)}.automatic-activity-list article.is-read{opacity:.65;border-color:var(--border)}.automatic-activity-list article>span{color:#4fd28c;font-weight:800}.automatic-activity-list article>div{display:grid;gap:3px}.automatic-activity-list small{color:var(--text-muted)}.automatic-activity-list nav{display:flex;gap:12px}.automatic-activity-list nav a{font-size:.76rem;color:var(--accent)}
.document-products { padding: 0; overflow: hidden; }.document-products > .section-header { padding: 10px 13px 0; }.product-review-table th { padding: 6px 8px; font-size: 9px; }.product-review-table th:first-child { width: 55%; }.product-review-table th:nth-child(2) { width: 8%; }.product-review-table th:nth-child(3) { width: 6%; }.product-review-table th:nth-child(4), .product-review-table th:nth-child(5) { width: 12%; text-align: right; }.product-review-table th:last-child { width: 7%; }.product-review-table td { padding: 6px 8px; vertical-align: middle; color: var(--text-muted); font-size: 10px; }.product-review-table .numeric-cell { text-align: right; font-variant-numeric: tabular-nums; }.product-summary-row { cursor: pointer; }.product-summary-row:focus { outline: 2px solid var(--primary); outline-offset: -2px; }.product-summary-row .description-cell { color: var(--text); }.product-summary-row .description-cell strong { display: -webkit-box; overflow: hidden; font-size: 15px; font-weight: 680; line-height: 1.24; overflow-wrap: normal; word-break: normal; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.product-row-action { text-align: right; }.product-detail-toggle { width: 36px; min-height: 36px; display: inline-grid; place-items: center; padding: 0; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); cursor: pointer; font-size: 16px; font-weight: 800; }.product-detail-toggle:hover { background: var(--surface-hover); color: var(--text); }.product-detail-toggle .arrow-open { display: none; }.product-detail-toggle[aria-expanded="true"] .arrow-closed { display: none; }.product-detail-toggle[aria-expanded="true"] .arrow-open { display: inline; }.product-bonus-badge { display: inline-flex; padding: 2px 6px; border-radius: 999px; background: rgba(88,201,149,.13); color: #85ddb1; font-size: 9px; font-weight: 800; }
.product-detail-row td { padding: 0 13px 13px; background: var(--surface-raised); }.product-detail-fallback > summary { padding: 9px 0; cursor: pointer; color: var(--text-muted); font-size: 10px; font-weight: 700; }.product-detail-content { padding-top: 4px; }.js .product-detail-row { display: none; }.js .product-detail-row.is-expanded { display: table-row; }.js .product-detail-row .product-detail-fallback > summary { display: none; }.validation-card[hidden] { display: none; }.line-editor { display: grid; gap: 11px; }.line-primary-fields { display: grid; grid-template-columns: minmax(250px,2fr) repeat(5,minmax(90px,1fr)); gap: 8px; }.line-primary-fields label { display: grid; gap: 5px; color: var(--text-muted); font-size: 10px; }.line-editor-actions { display: flex; justify-content: flex-end; }.line-delete { display: flex; justify-content: flex-end; margin-top: -38px; margin-right: 100px; }
.technical-accordion { border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); }.technical-accordion > summary { min-height: 48px; display: flex; align-items: center; padding: 0 14px; cursor: pointer; font-weight: 750; }.technical-content { display: grid; gap: 11px; padding: 0 14px 14px; }.technical-facts { display: grid; grid-template-columns: repeat(4,1fr); gap: 6px; margin: 0; }.technical-facts div { padding: 7px; border: 1px solid var(--border); border-radius: var(--radius-sm); }.technical-facts dt { color: var(--text-subtle); font-size: 9px; text-transform: uppercase; }.technical-facts dd { margin: 3px 0 0; overflow-wrap: anywhere; }
.preview-dialog { width: min(96vw,1500px); height: 94vh; padding: 44px 12px 12px; border: 1px solid var(--border-strong); border-radius: var(--radius-lg); background: #080a0d; color: var(--text); }.preview-dialog::backdrop { background: rgba(0,0,0,.82); }.preview-dialog > .icon-button { position: absolute; top: 7px; right: 8px; }.preview-dialog [data-preview-dialog-content] { width: 100%; height: 100%; display: grid; place-items: center; overflow: auto; }.preview-dialog img { max-width: 100%; max-height: 100%; }.preview-dialog iframe { width: 100%; height: 100%; border: 0; background: white; }

@media (max-width: 1400px) {
  main { padding: 24px; }
  .line-details-grid { grid-template-columns: repeat(4,minmax(120px,1fr)); }
  .catalog-stats { grid-template-columns: repeat(3,1fr); }
  .product-filters { grid-template-columns: repeat(3,1fr); }
  .product-filters input[name="q"] { grid-column: span 2; }
}

@media (max-width: 1100px) {
  :root { --control-height: 44px; }
  .app-sidebar { transform: translateX(-102%); width: min(310px, 86vw); box-shadow: var(--shadow); }
  .app-main, .sidebar-is-collapsed .app-main { margin-left: 0; }
  .sidebar-is-collapsed .app-sidebar { width: min(310px, 86vw); }
  .sidebar-is-collapsed .brand-copy, .sidebar-is-collapsed .global-upload span, .sidebar-is-collapsed .nav-item span, .sidebar-is-collapsed .nav-group-label { opacity: 1; width: auto; pointer-events: auto; }
  .sidebar-is-collapsed .nav-item { justify-content: flex-start; padding-inline: 10px; }
  .sidebar-collapse { display: none; }
  .sidebar-mobile-close { display: inline-grid; }
  .sidebar-drawer-open .app-sidebar { transform: translateX(0); }
  .mobile-bar { position: sticky; z-index: 35; top: 0; min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 8px 16px; border-bottom: 1px solid var(--border); background: rgba(11,13,16,.92); backdrop-filter: blur(12px); }
  .mobile-brand { color: var(--text); text-decoration: none; font-weight: 750; }
  .icon-button { width: 44px; height: 44px; flex-basis: 44px; }
  .drawer-lock { overflow: hidden; }
  main { padding: 22px; }
  .stats { grid-template-columns: repeat(3,1fr); }
  .appearance-form { grid-template-columns: 1fr 1fr; }
  .appearance-form .btn { grid-column: 1 / -1; }
  .editable-lines { min-width: 1050px; }.product-review-table { min-width: 0; }
  .lines-table-wrap { overflow-x: auto; }
  section > table { display: block; max-width: 100%; overflow-x: auto; }
  .inbox-stats { grid-template-columns: repeat(2,1fr); }
  .inbox-search-row { grid-template-columns: 1fr auto auto; }
  .document-command-bar { top: 58px; }.document-workspace-grid { grid-template-columns: 1fr; }.document-preview-column { position: static; }.document-preview-frame { height: min(70vh,760px); }.document-review-column { grid-row: 2; }.line-primary-fields { grid-template-columns: repeat(3,1fr); }.line-primary-fields label:first-child { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
  main { padding: 16px 12px 28px; }
  .page-header { min-height: auto; margin-bottom: 18px; }
  .page-header-copy h1 { font-size: 23px; }
  .page-header-actions { width: 100%; justify-content: flex-start; }
  .section-header, .section-head { align-items: stretch; flex-direction: column; }
  section { padding: 14px; border-radius: var(--radius-md); }
  .stats, .stats.small, .catalog-stats { grid-template-columns: 1fr 1fr; }
  .form, .upload-grid, .appearance-form, .confidence-checks { grid-template-columns: 1fr; }
  .form .full, .appearance-form .btn { grid-column: auto; }
  .search { flex-wrap: wrap; }
  .search input { flex-basis: 100%; }
  .actions { justify-content: flex-start; }
  .actions > *, .actions form, .actions .btn { max-width: 100%; }
  .product-filters { grid-template-columns: 1fr 1fr; }
  .product-filters input[name="q"] { grid-column: 1 / -1; }
  .profile-grid { grid-template-columns: 1fr; }
  .pagination { justify-content: space-between; gap: 7px; }
  .pagination > span { font-size: 12px; text-align: center; }
  .toast-region { top: 68px; right: 12px; width: calc(100vw - 24px); }
  .drop { min-height: 210px; }
  .modal-actions { flex-direction: column-reverse; }
  .modal-actions .btn { width: 100%; }
  .inbox-toolbar { justify-content: space-between; }
  .inbox-stats { grid-template-columns: 1fr 1fr; gap: 8px; }.inbox-stat { min-height: 70px; padding: 8px 12px; }.inbox-stat strong { font-size: 21px; }
  .inbox-search-row { grid-template-columns: 1fr 1fr; }
  .inbox-search { grid-column: 1 / -1; }
  .inbox-search-row > .btn { width: 100%; min-height: 44px; }
  .search-control { min-height: 44px; }
  .primary-filter-row, .secondary-filter-panel { grid-template-columns: 1fr; }
  .inbox-result-meta { align-items: flex-start; flex-direction: column; gap: 4px; }
  .document-inbox, .inbox-tabs, .documents-table-wrap { min-width: 0; max-width: 100%; }
  .documents-table-wrap { overflow: hidden; }
  .documents-table, .documents-table tbody { display: block; min-width: 0; }
  .documents-table thead { display: none; }
  .documents-table .document-row { display: grid; grid-template-columns: 1fr auto; gap: 10px 14px; margin: 0; padding: 15px; border-bottom: 1px solid var(--border); }
  .documents-table .document-row:last-child { border-bottom: 0; }
  .documents-table .document-row td { display: block; padding: 0; border: 0; }
  .documents-table .document-row td::before { display: block; margin-bottom: 3px; color: var(--text-subtle); content: attr(data-label); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
  .documents-table .document-row td:nth-child(1), .documents-table .document-row td:nth-child(2), .documents-table .document-row td:nth-child(7) { grid-column: 1 / -1; }
  .documents-table .document-row td:nth-child(3), .documents-table .document-row td:nth-child(5) { grid-column: 1; }
  .documents-table .document-row td:nth-child(4), .documents-table .document-row td:nth-child(6) { grid-column: 2; text-align: right; }
  .documents-table .document-row .row-actions { grid-column: 1 / -1; width: 100%; }
  .documents-table .document-row .row-actions::before { display: none; }
  .quick-actions { position: static; display: flex; flex-wrap: wrap; padding: 0; border: 0; background: transparent; box-shadow: none; transform: none; }
  .quick-actions a { min-height: 38px; display: inline-flex; align-items: center; padding: 7px 10px; border: 1px solid var(--border); }
  .row-more { position: absolute; right: 14px; bottom: 14px; }
  .page-size-control { justify-content: center; }
  .document-command-bar { position: static; align-items: stretch; flex-direction: column; gap: 10px; padding: 12px; }.document-command-main { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; }.back-link { grid-column: 1 / -1; }.document-identity { grid-column: 1; }.document-command-facts { grid-column: 1 / -1; }.document-command-status { grid-column: 2; grid-row: 2; }.document-command-actions { position: sticky; z-index: 24; bottom: 8px; }.document-command-actions .sticky-save { flex: 1; min-height: 44px; }
  .document-mobile-tabs { position: sticky; z-index: 23; top: 58px; display: grid; grid-template-columns: repeat(4,1fr); padding: 4px; border: 1px solid var(--border); border-radius: var(--radius-md); background: rgba(18,22,28,.96); }.document-mobile-tabs button { min-width: 0; min-height: 44px; padding: 5px; border: 0; border-radius: var(--radius-sm); background: transparent; color: var(--text-muted); font-size: 11px; }.document-mobile-tabs button.is-active { background: var(--surface-hover); color: var(--text); }
  .document-workspace-grid { display: block; }.document-preview-column, .document-review-column > [data-document-panel], .document-products, .technical-accordion { margin-bottom: 12px; }.document-preview-frame { min-height: 450px; height: 68vh; }
  .document-summary-list div { grid-template-columns: 90px 1fr; }
  .checks-overview { grid-template-columns: 1fr; }.validation-comparison { grid-template-columns: 1fr auto 1fr; }.difference-pill { grid-column: 1 / -1; text-align: left; }
  .reconcile-compact { grid-template-columns: 1fr 1fr; }.technical-facts { grid-template-columns: 1fr 1fr; }.line-primary-fields, .line-details-grid { grid-template-columns: 1fr; }.line-primary-fields label:first-child { grid-column: 1; }.line-delete { margin: 8px 0 0; }
  .document-products .lines-table-wrap { overflow: visible; }
  .product-review-table, .product-review-table tbody { display: block; width: 100%; min-width: 0; }
  .product-review-table thead { display: none; }
  .product-review-table .product-summary-row { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px 10px; margin: 0 8px 7px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }
  .product-review-table .product-summary-row td { display: grid; gap: 2px; padding: 0; border: 0; }
  .product-review-table .product-summary-row td::before { content: attr(data-label); color: var(--text-subtle); font-size: 9px; font-weight: 750; text-transform: uppercase; }
  .product-review-table .product-summary-row .description-cell { grid-column: 1 / -1; }.product-review-table .product-summary-row .description-cell strong { font-size: 14px; }
  .product-review-table .product-summary-row .description-cell::before { display: none; }
  .product-review-table .product-summary-row .product-row-action { display: flex; grid-column: 1 / -1; align-items: center; justify-content: flex-end; }
  .product-review-table .product-summary-row .product-row-action::before { display: none; }
  .product-review-table .product-detail-row.is-expanded, .product-review-table .product-detail-row.is-expanded > td { display: block; width: 100%; }
  .product-review-table .product-detail-row > td { padding: 0 8px 8px; border: 0; }
  .product-detail-toggle { width: 44px; min-height: 44px; }.document-more-data dl { grid-template-columns: 1fr; }
}

.supplier-search-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto; gap: 8px; align-items: center; margin: 14px 0; }
.supplier-search-toolbar input { min-height: 44px; }
.supplier-search-toolbar [data-supplier-result-count] { color: var(--text-muted); font-size: 12px; white-space: nowrap; }
.product-filter-header { align-items: center; }
.product-filter-header { flex-direction: column; align-items: flex-start; gap: 4px; }.product-filter-header > div { width: 100%; }.product-filter-header .review-products-switch { margin-top: 4px; }
.review-products-switch { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; color: var(--text-muted); font-size: 11px; cursor: pointer; }
.review-products-switch input { width: 16px; height: 16px; accent-color: var(--primary); }
.product-filter-empty { margin: 8px 13px; padding: 10px; border: 1px dashed var(--border); border-radius: var(--radius-sm); color: var(--text-muted); text-align: center; }
.validation-group-details { display: grid; gap: 6px; margin-top: 8px; }
.validation-check-detail { padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }
.validation-card-v2 { cursor: pointer; }.product-focus-pulse { animation: product-focus-pulse 2s ease-out; }@keyframes product-focus-pulse { 0%,45% { background: rgba(242,146,36,.16); box-shadow: inset 3px 0 var(--primary); } 100% { background: transparent; box-shadow: inset 0 0 transparent; } }
.checks-by-kind { grid-template-columns: repeat(4,minmax(0,1fr)); }.checks-by-kind > div { border-color: var(--border); }.product-detail-row.is-expanded .product-detail-content { animation: product-detail-enter .18s ease-out; }@keyframes product-detail-enter { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }.product-detail-groups { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; }.product-detail-groups span { padding: 3px 7px; border: 1px solid var(--border); border-radius: 999px; color: var(--text-muted); font-size: 9px; font-weight: 700; }
.accounting-information { padding: 10px 12px; }.accounting-compact { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8px; }.accounting-compact > div { display: grid; gap: 3px; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); }.accounting-compact span { color: var(--text-muted); font-size: 9px; text-transform: uppercase; }.accounting-information details { margin-top: 7px; }.accounting-information summary { cursor: pointer; color: var(--text-muted); font-size: 10px; }.details-chevron { display: inline-block; transition: transform .16s ease; }.accounting-information details[open] .details-chevron { transform: rotate(90deg); }.accounting-details { margin-top: 8px; }.document-command-actions .dropdown-trigger { color: var(--text-muted); border-color: transparent; background: transparent; }
.product-review-table th:nth-child(2), .product-review-table td:nth-child(2) { text-align: right; font-variant-numeric: tabular-nums; }
.product-review-table th:nth-child(3), .product-review-table td:nth-child(3) { text-align: center; }
.product-summary-row .description-cell strong { font-size: 17px; }
@media (max-width: 700px) { .supplier-search-toolbar { grid-template-columns: 1fr; }.review-products-switch { min-height: 44px; }.product-summary-row .description-cell strong { font-size: 14px; }.checks-by-kind { grid-template-columns: 1fr 1fr; } }

.product-catalog-workspace { display: grid; gap: 14px; }.catalog-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 0; border: 0; background: transparent; }.catalog-overview article { display: grid; gap: 3px; min-height: 96px; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); }.catalog-overview span { color: var(--text-muted); font-size: 11px; }.catalog-overview strong { font-size: 26px; font-variant-numeric: tabular-nums; }.catalog-overview small { color: var(--text-subtle); font-size: 9px; }.catalog-panel { padding: 0; overflow: hidden; }.catalog-toolbar { display: flex; gap: 10px; align-items: flex-start; padding: 13px; border-bottom: 1px solid var(--border); }.catalog-live-filters { display: grid; grid-template-columns: minmax(280px,1.8fr) minmax(190px,1fr) auto auto; gap: 8px; flex: 1; align-items: center; }.catalog-search input,.supplier-combobox input { min-height: 44px; margin: 0; }.supplier-combobox { position: relative; }.supplier-options { position: absolute; z-index: 20; top: calc(100% + 5px); left: 0; right: 0; max-height: 250px; overflow: auto; padding: 5px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface-raised); box-shadow: var(--shadow-lg); }.supplier-options button { width: 100%; padding: 8px; border: 0; border-radius: 6px; background: transparent; color: var(--text); text-align: left; cursor: pointer; }.supplier-options button:hover { background: var(--surface-hover); }.period-quick-filters { display: flex; grid-column: 1 / -1; gap: 5px; flex-wrap: wrap; }.period-quick-filters input { position: absolute; opacity: 0; pointer-events: none; }.period-quick-filters span { display: inline-flex; min-height: 34px; align-items: center; padding: 0 10px; border: 1px solid var(--border); border-radius: 999px; color: var(--text-muted); cursor: pointer; font-size: 10px; font-weight: 700; }.period-quick-filters input:checked + span { border-color: var(--primary); background: rgba(242,146,36,.12); color: var(--text); }.catalog-more-filters { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(4,minmax(130px,1fr)) auto auto; gap: 8px; align-items: end; padding-top: 5px; }.catalog-more-filters label { color: var(--text-muted); font-size: 9px; }.catalog-result-line { display: flex; justify-content: space-between; padding: 8px 13px; color: var(--text-muted); font-size: 10px; }.catalog-result-line p { margin: 0; }.catalog-table-wrap { overflow-x: auto; }.catalog-table { margin: 0; }.catalog-table th { padding: 7px 9px; font-size: 9px; }.catalog-table td { padding: 8px 9px; font-size: 10px; vertical-align: middle; }.catalog-product-row { cursor: pointer; }.catalog-product-row:hover { background: var(--surface-hover); }.catalog-product-row td:first-child strong { display: block; color: var(--text); font-size: 14px; }.catalog-product-row td:first-child small { display: block; margin-top: 2px; color: var(--text-subtle); }.catalog-row-chevron { width: 34px; text-align: center; }.catalog-row-chevron .open { display: none; }.catalog-product-row[aria-expanded="true"] .closed { display: none; }.catalog-product-row[aria-expanded="true"] .open { display: inline; }.catalog-product-detail { display: none; }.catalog-product-detail.is-open { display: table-row; }.catalog-product-detail > td { padding: 0; background: var(--surface-raised); }.catalog-detail-inner { padding: 12px 14px 14px; animation: product-detail-enter .18s ease-out; }.catalog-detail-tabs { display: flex; gap: 5px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }.catalog-detail-tabs button { padding: 6px 9px; border: 0; border-radius: 7px; background: transparent; color: var(--text-muted); cursor: pointer; font-size: 10px; font-weight: 700; }.catalog-detail-tabs button[aria-selected="true"] { background: var(--surface-hover); color: var(--text); }.catalog-detail-inner section { padding-top: 10px; }.catalog-detail-inner h3 { margin: 0 0 8px; font-size: 12px; }.mini-price-chart { display: flex; align-items: end; gap: 8px; width: 220px; height: 74px; padding: 8px; border-left: 1px solid var(--border); border-bottom: 1px solid var(--border); }.mini-price-chart span { flex: 1; min-height: 4px; border-radius: 4px 4px 0 0; background: linear-gradient(180deg,var(--primary),#bd6512); transition: height .25s ease; }.catalog-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-bottom: 9px; }.catalog-detail-grid div { display: grid; gap: 3px; padding: 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); }.catalog-detail-grid span { color: var(--text-muted); font-size: 9px; }.catalog-check-badge { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 750; }.catalog-check-badge.warning { background: rgba(226,183,90,.14); color: #efcf82; }.catalog-check-badge.info { background: rgba(111,168,232,.13); color: #a9d2ff; }.catalog-check-badge.success { background: rgba(88,201,149,.13); color: #85ddb1; }.catalog-actions { display: flex; flex-wrap: wrap; gap: 6px; }.extra-column { display: none; }.show-extra-columns .extra-column { display: table-cell; }.catalog-pagination { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 12px; border-top: 1px solid var(--border); }.btn-ghost { border-color: transparent; background: transparent; color: var(--text-muted); }
@media (max-width: 1024px) { .catalog-overview { grid-template-columns: 1fr 1fr; }.catalog-live-filters { grid-template-columns: 1fr 1fr auto; }.catalog-search { grid-column: 1 / -1; }.catalog-table th:nth-child(5),.catalog-table td:nth-child(5) { display: none; } }
@media (max-width: 700px) { .catalog-overview { grid-template-columns: 1fr 1fr; }.catalog-overview article { min-height: 82px; padding: 11px; }.catalog-overview strong { font-size: 21px; }.catalog-toolbar { display: grid; }.catalog-live-filters { grid-template-columns: 1fr; }.catalog-search,.period-quick-filters,.catalog-more-filters { grid-column: 1; }.catalog-more-filters { grid-template-columns: 1fr 1fr; }.catalog-table-wrap { overflow: visible; }.catalog-table thead { display: none; }.catalog-table,.catalog-table tbody { display: block; }.catalog-product-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; margin: 0 8px 8px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); }.catalog-product-row td { display: grid; gap: 2px; padding: 0; border: 0; }.catalog-product-row td::before { content: attr(data-label); color: var(--text-subtle); font-size: 8px; text-transform: uppercase; }.catalog-product-row td:first-child { grid-column: 1 / -1; }.catalog-product-row td:first-child::before,.catalog-row-chevron::before { display: none; }.catalog-row-chevron { grid-column: 1 / -1; justify-self: end; }.catalog-product-detail.is-open { display: block; margin: -8px 8px 8px; }.catalog-product-detail td { display: block; }.catalog-detail-tabs { overflow-x: auto; }.catalog-detail-grid { grid-template-columns: 1fr; }.catalog-pagination { position: sticky; bottom: 0; background: var(--surface); } }

.supplier-options[hidden],.catalog-more-filters[hidden] { display: none !important; }
.period-quick-filters input { width: 1px !important; height: 1px; margin: 0; }
.catalog-detail-tabs button { flex: 1; min-width: 0; padding-inline: 3px; white-space: nowrap; }
@media (max-width: 700px) { .catalog-detail-tabs button { font-size: 9px; }.catalog-detail-tabs { overflow: hidden; } }
.catalog-table { width: 100%; table-layout: fixed; }
.catalog-table th:first-child { width: 25%; }.catalog-table th:nth-child(2) { width: 5%; }.catalog-table th:nth-child(3),.catalog-table th:nth-child(4),.catalog-table th:nth-child(5),.catalog-table th:nth-child(6) { width: 8%; }.catalog-table th:nth-child(7) { width: 10%; }.catalog-table th:nth-child(8) { width: 19%; }
.catalog-table td { overflow-wrap: anywhere; }.catalog-table-wrap { overflow-x: hidden; }

/* Product catalog 3.1: useful history, real tabs and quieter administration. */
.catalog-table th:nth-child(n+3):nth-child(-n+6), .catalog-table td.catalog-number { text-align: right; font-variant-numeric: tabular-nums; }
.catalog-table th:nth-child(2), .catalog-unit { text-align: center; }
.catalog-row-chevron span { display: inline-block; transition: transform .18s ease; }
.catalog-product-row[aria-expanded="true"] .catalog-row-chevron span { transform: rotate(90deg); }
.catalog-detail-inner { padding: 16px 18px 18px; }
.catalog-detail-tabs { gap: 3px; padding: 3px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--bg); overflow-x: auto; }
.catalog-detail-tabs button { position: relative; min-height: 36px; padding: 7px 13px; }
.catalog-detail-tabs button[aria-selected="true"] { background: var(--surface-hover); color: #fff; box-shadow: var(--shadow-sm); }
.catalog-detail-tabs button[aria-selected="true"]::after { position: absolute; right: 12px; bottom: 0; left: 12px; height: 2px; border-radius: 2px; background: var(--primary); content: ""; }
.catalog-detail-tabs button:focus-visible { outline: 2px solid var(--primary); outline-offset: -2px; }
.catalog-detail-inner [role="tabpanel"] { padding: 14px 0 0; }
.catalog-detail-inner [role="tabpanel"][hidden] { display: none !important; }
.price-summary { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.price-summary > div { display: grid; gap: 4px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.price-summary span { color: var(--text-muted); font-size: 9px; font-weight: 700; text-transform: uppercase; }
.price-summary strong { font-size: 14px; font-variant-numeric: tabular-nums; }
.purchase-history-list { display: grid; gap: 6px; }
.purchase-history-item { display: grid; grid-template-columns: 90px minmax(170px,1fr) minmax(300px,1.8fr); gap: 12px; align-items: center; padding: 9px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.purchase-history-item time { color: var(--text-muted); font-variant-numeric: tabular-nums; }
.purchase-history-item > div { display: grid; gap: 2px; }
.purchase-history-item a { color: var(--text-muted); font-size: 10px; text-decoration: none; }.purchase-history-item a:hover { color: var(--primary); }
.purchase-values { display: flex !important; flex-wrap: wrap; align-items: center; gap: 5px 12px !important; font-variant-numeric: tabular-nums; }
.purchase-values span { color: var(--text-muted); }.purchase-values strong { color: var(--text); }
.purchase-history-item details { grid-column: 2 / -1; margin: 0; }.purchase-history-item details summary { font-size: 9px; }.purchase-history-item details span { color: var(--text-muted); font-size: 10px; }
.catalog-full-history { display: inline-flex; margin-top: 10px; color: var(--primary); font-size: 10px; font-weight: 700; text-decoration: none; }
.catalog-supplier-list, .catalog-check-list { display: grid; gap: 8px; }
.catalog-supplier-list > article { display: grid; grid-template-columns: minmax(190px,1.2fr) 3fr auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }
.catalog-supplier-list article > div { display: grid; gap: 2px; }.catalog-supplier-list small { color: var(--text-subtle); font-size: 9px; }
.catalog-supplier-list dl, .catalog-check-card dl { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0; }
.catalog-supplier-list dl div, .catalog-check-card dl div { display: grid; gap: 2px; }.catalog-supplier-list dt, .catalog-check-card dt { color: var(--text-muted); font-size: 8px; text-transform: uppercase; }.catalog-supplier-list dd, .catalog-check-card dd { margin: 0; font-variant-numeric: tabular-nums; }
.catalog-documents-list { display: grid; gap: 5px; }
.catalog-documents-list > a { display: grid; grid-template-columns: 75px minmax(100px,1fr) 90px minmax(130px,1.4fr) 75px 95px 95px; gap: 9px; align-items: center; padding: 9px 11px; border: 1px solid var(--border); border-radius: var(--radius-sm); color: var(--text-muted); text-decoration: none; font-variant-numeric: tabular-nums; }
.catalog-documents-list > a:hover { border-color: var(--border-strong); background: var(--surface-hover); color: var(--text); }.catalog-documents-list strong { color: var(--text); }.catalog-document-kind { color: #a9d2ff; font-weight: 700; }
.catalog-check-card { display: grid; gap: 10px; padding: 11px; border: 1px solid var(--border); border-left: 3px solid var(--border-strong); border-radius: var(--radius-sm); background: var(--surface); }.catalog-check-card.attention { border-left-color: var(--warning); }.catalog-check-card.critical { border-left-color: var(--danger); }.catalog-check-card.normal { border-left-color: var(--success); }.catalog-check-card > div { display: flex; align-items: center; gap: 9px; }.catalog-check-card p { margin: 0; color: var(--text-muted); }
.catalog-empty-copy { margin: 0; padding: 12px; color: var(--text-muted); text-align: center; }
.catalog-admin-menu { position: relative; margin: 0; }.catalog-admin-menu > summary { list-style: none; cursor: pointer; }.catalog-admin-menu > summary::-webkit-details-marker { display: none; }.catalog-admin-menu > form { position: absolute; z-index: 30; top: calc(100% + 5px); right: 0; min-width: 210px; padding: 10px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-raised); box-shadow: var(--shadow); }.catalog-admin-menu p { margin: 0 0 7px; color: var(--text-muted); font-size: 9px; }
.catalog-destructive-actions { width: 100%; padding-top: 8px; border-top: 1px solid var(--border); }.catalog-destructive-actions summary { width: fit-content; font-size: 10px; }.catalog-destructive-actions p { color: var(--text-muted); }

@media (max-width: 1024px) {
  .price-summary { grid-template-columns: repeat(3,1fr); }
  .purchase-history-item { grid-template-columns: 80px 1fr; }.purchase-values { grid-column: 1 / -1; }
  .catalog-supplier-list > article { grid-template-columns: 1fr; }.catalog-documents-list > a { grid-template-columns: 70px 1fr 90px 1fr; }.catalog-documents-list > a span:nth-last-child(-n+3) { display: none; }
}
@media (max-width: 700px) {
  .catalog-table-wrap, .catalog-table, .catalog-table tbody { max-width: 100%; overflow: visible; }
  .catalog-product-row td:nth-child(2), .catalog-product-row td:nth-child(4), .catalog-product-row td:nth-child(5) { display: none; }
  .catalog-product-row td:nth-child(3), .catalog-product-row td:nth-child(6) { display: grid; }.catalog-product-row td:nth-child(7), .catalog-product-row td:nth-child(8) { display: grid; }
  .catalog-product-detail.is-open { max-width: calc(100vw - 40px); }.catalog-detail-inner { min-width: 0; padding: 11px; }
  .catalog-detail-tabs { overflow-x: auto; }.catalog-detail-tabs button { flex: 0 0 auto; min-width: 88px; }
  .price-summary { grid-template-columns: 1fr 1fr; }.price-summary > div:last-child { grid-column: 1 / -1; }
  .purchase-history-item { grid-template-columns: 1fr; }.purchase-values, .purchase-history-item details { grid-column: 1; }
  .catalog-supplier-list dl, .catalog-check-card dl { grid-template-columns: 1fr 1fr; }
  .catalog-documents-list > a { grid-template-columns: 1fr 1fr; }.catalog-documents-list > a > * { min-width: 0; overflow: hidden; text-overflow: ellipsis; }.catalog-documents-list > a time { text-align: right; }
  .catalog-check-card > div { align-items: flex-start; flex-direction: column; }
  .catalog-admin-menu > form { right: auto; left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

@media print {
  .app-sidebar, .mobile-bar, .toast-region, .actions { display: none !important; }
  .app-main { margin: 0 !important; }
  main { width: 100%; padding: 0; }
  body, section { background: white; color: black; }
}
.merge-ready .review-actions{align-items:flex-end}.merge-ready .merge-confirm-form{flex:1 1 620px;align-items:flex-end!important;gap:0!important}.merge-confirm-form .merge-final-name{flex:1;min-width:280px;gap:5px}.merge-confirm-form .merge-final-name input{width:100%;height:46px;min-height:46px;border-radius:10px 0 0 10px;border-right:0;padding:0 14px}.merge-confirm-form>button{height:46px;min-height:46px;padding-inline:22px;border-radius:0 10px 10px 0;font-size:.92rem;font-weight:750;white-space:nowrap}.merge-ready .merge-confirm-form+form{margin-left:18px;opacity:.72}.merge-ready .merge-confirm-form+form .btn{background:transparent;border-color:var(--border);color:var(--muted)}.merge-ready .merge-confirm-form+form:hover{opacity:1}@media(max-width:700px){.merge-ready .merge-confirm-form{flex-basis:100%;display:grid!important;grid-template-columns:1fr}.merge-confirm-form .merge-final-name{min-width:0}.merge-confirm-form .merge-final-name input,.merge-confirm-form>button{border-radius:9px;border:1px solid var(--border)}.merge-confirm-form>button{width:100%;margin-top:7px}.merge-ready .merge-confirm-form+form{margin-left:0}}
.review-merge-tool .review-compare{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);padding-right:0;align-items:stretch}.merge-drop-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:150px;border-block:1px dashed var(--border);color:var(--muted);text-align:center;transition:.2s}.merge-symbol{font-size:2rem;color:var(--accent)}.merge-drop-center.is-active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--text)}.merge-keyboard{display:flex;gap:6px}.merge-keyboard button{width:34px;height:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:inherit}.merge-draggable{cursor:grab;touch-action:none;user-select:none}.merge-draggable.is-dragging{opacity:.3;transform:scale(.97)}.merge-draggable.is-drop-target{transform:translateY(-4px) scale(1.025);border-color:var(--accent);box-shadow:0 14px 35px rgba(0,0,0,.35),0 0 0 2px color-mix(in srgb,var(--accent) 45%,transparent)}.merge-draggable.is-drop-target::after{content:'Lasă aici pentru a uni produsele';display:block;margin-top:10px;padding:8px;border-radius:8px;background:var(--accent);color:#111;font-weight:700;text-align:center}.merge-drag-ghost{position:fixed;z-index:9999;width:360px;max-width:42vw;pointer-events:none;transform:translate(-50%,-50%) rotate(1.5deg) scale(1.03);padding:12px;border:1px solid var(--accent);border-radius:12px;background:var(--surface);box-shadow:0 22px 55px rgba(0,0,0,.55);opacity:.92}.merge-draggable.is-absorbed{animation:merge-absorb .46s ease forwards}.merge-draggable.is-absorbing{animation:merge-receive .46s ease}.merge-confirm-form{display:none!important}.merge-ready .merge-confirm-form{display:flex!important}.merge-impact{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.merge-impact span{display:grid;padding:9px;border-radius:9px;background:var(--surface-2);font-size:1.15rem;font-weight:700}.merge-impact small{color:var(--muted);font-size:.72rem;font-weight:400}@keyframes merge-absorb{to{opacity:0;transform:scale(.55) translateX(35%)}}@keyframes merge-receive{50%{transform:scale(1.04);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 45%,transparent)}}@media(max-width:700px){.review-merge-tool .review-compare{grid-template-columns:1fr}.merge-drop-center{min-height:90px;border:1px dashed var(--border);border-radius:10px}.merge-drag-ghost{max-width:80vw}.merge-impact{grid-template-columns:1fr 1fr}}
.merge-direction{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin:10px 0;text-align:center}.merge-direction small{grid-column:1/-1;color:var(--muted)}.merge-direction button{min-height:40px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:inherit;cursor:pointer}.merge-direction button.is-selected,.merge-draggable.is-kept{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.merge-draggable{cursor:grab;transition:border-color .18s,box-shadow .18s}.merge-final-name{display:grid;gap:4px;min-width:280px}.merge-final-name input{min-height:40px}
.safe-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.safe-summary strong,.orphan-group,.document-problem-group{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.orphan-group,.document-problem-group{display:block;margin:10px 0}.orphan-group>summary,.document-problem-group>summary{cursor:pointer;font-weight:700}.review-doc-problems{display:grid;gap:6px;margin-top:9px}.review-doc-problems a{display:grid;grid-template-columns:1.2fr 1fr 120px 100px;gap:8px;padding:9px;border-radius:8px;background:var(--surface);color:inherit;text-decoration:none}@media(max-width:700px){.safe-summary{grid-template-columns:1fr}.review-doc-problems a{grid-template-columns:1fr 1fr}}
.review-safe-bulk,.merge-preview{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.review-safe-bulk summary,.merge-preview summary{cursor:pointer;font-weight:700}.review-safe-bulk form{display:grid;gap:7px;margin-top:10px}.diff-same{background:transparent;color:inherit}.diff-removed{background:#5e2530;color:#ffb4bf;text-decoration:line-through}.diff-added{background:#173f31;color:#8fe0bd}.review-difference mark{padding:1px 2px;border-radius:3px}.review-history-row{display:grid;grid-template-columns:180px 1fr 160px 2fr;gap:10px;padding:11px;border-bottom:1px solid var(--border)}

/* Sprint 16 — review workspace */
.review-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.review-summary a{display:flex;flex-direction:column;gap:4px;padding:15px 17px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:inherit;text-decoration:none}.review-summary strong{font-size:1.55rem}.review-summary span{color:var(--muted)}
.review-section{scroll-margin-top:18px;margin-bottom:20px}.review-card{position:relative;margin:10px 0;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.review-grid .review-card{margin:0}.review-score{position:absolute;right:16px;top:14px;display:flex;align-items:flex-end;flex-direction:column}.review-score strong{color:var(--accent);font-size:1.25rem}.review-score span,.review-card small{color:var(--muted)}
.review-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-right:150px}.review-compare>div{padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.review-compare h3{margin:3px 0}.review-difference{margin-top:10px}.review-difference code{display:block;margin-top:4px;padding:9px;border-radius:8px;background:var(--surface-2);white-space:normal}.review-meta{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.review-meta>span{padding:5px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.8rem}.review-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.review-actions form{display:flex;align-items:center;gap:7px;margin:0}.review-actions select{min-height:40px;max-width:260px}.review-doc-links{display:flex;flex-wrap:wrap;gap:8px;padding:9px 0}.review-doc-links a{color:var(--accent)}.orphan-card h3{margin:9px 0 4px}.empty-state{padding:24px;border:1px dashed var(--border);border-radius:14px;color:var(--muted);text-align:center}
@media(max-width:900px){.review-summary{grid-template-columns:1fr 1fr}.review-grid{grid-template-columns:1fr}.review-compare{padding-right:0}.review-score{position:static;align-items:flex-start;margin-bottom:8px}}
@media(max-width:600px){.review-summary,.review-compare{grid-template-columns:1fr}.review-actions,.review-actions form{align-items:stretch;flex-direction:column}.review-actions .btn,.review-actions select{width:100%;max-width:none}.review-section .table-wrap table{min-width:680px}}
+
/* Expense analytics dashboard */
.expense-dashboard{display:grid;gap:12px}.dashboard-period{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 2px}.dashboard-period h2,.dashboard-period p{margin:0}.dashboard-period p{margin-top:3px;color:var(--text-muted)}.dashboard-period nav{display:flex;align-items:center;gap:7px}.dashboard-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.dashboard-kpis article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.dashboard-kpis span{color:var(--text-muted);font-size:9px}.dashboard-kpis strong{font-size:21px;font-variant-numeric:tabular-nums}.dashboard-kpis small{color:var(--text-subtle);font-size:9px}.dashboard-kpis .positive strong,.comparison-total .positive{color:#efcf82}.dashboard-kpis .negative strong,.comparison-total .negative{color:#85ddb1}.supplier-expense-chart,.expense-evolution,.month-comparison,.dashboard-secondary-grid>section{padding:15px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.supplier-expense-chart>header,.expense-evolution>header,.month-comparison>header,.dashboard-secondary-grid section>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.supplier-expense-chart h2,.expense-evolution h2,.month-comparison h2,.dashboard-secondary-grid h2{margin:0}.supplier-expense-chart header p,.expense-evolution header p{margin:3px 0 0;color:var(--text-muted)}.chart-legend{display:flex;gap:13px;color:var(--text-muted);font-size:9px}.chart-legend span::before{display:inline-block;width:9px;height:9px;margin-right:5px;border-radius:3px;content:""}.chart-legend .invoiced::before,.chart-legend .invoiced-line::before{background:#59697b}.chart-legend .pending::before,.chart-legend .estimated::before{background:var(--primary)}.supplier-bars{display:grid;gap:6px}.supplier-bar-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(180px,1fr) 100px 90px;gap:10px;align-items:center;padding:7px 8px;border-radius:var(--radius-sm);color:inherit;text-decoration:none}.supplier-bar-row:hover,.supplier-bar-row:focus-visible{background:var(--surface-hover);outline:none}.supplier-bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.supplier-bar-track{height:15px;display:flex;overflow:hidden;border-radius:999px;background:var(--bg)}.supplier-bar-track i{display:block;height:100%;min-width:0;transition:width .35s ease}.bar-invoiced{background:#59697b}.bar-pending{background:linear-gradient(90deg,#c77931,var(--primary))}.supplier-bar-row strong{text-align:right;font-variant-numeric:tabular-nums}.supplier-bar-row small{color:var(--text-muted);text-align:right}.evolution-chart{min-width:0}.evolution-chart svg{display:block;width:100%;height:auto;max-height:300px}.evolution-chart [data-grid] line{stroke:var(--border);stroke-width:1}.evolution-chart [data-estimated-area]{fill:rgba(242,143,44,.09)}.evolution-chart [data-estimated-line]{fill:none;stroke:var(--primary);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.evolution-chart [data-invoiced-line]{fill:none;stroke:#70849a;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.evolution-chart circle{fill:var(--surface);stroke:var(--primary);stroke-width:3}.evolution-labels{display:grid;grid-template-columns:repeat(12,1fr);gap:2px}.evolution-labels a{padding:5px 2px;border-radius:5px;color:var(--text-muted);font-size:9px;text-align:center;text-decoration:none}.evolution-labels a.selected{background:rgba(242,143,44,.12);color:var(--primary);font-weight:750}.trend-summary{display:flex;justify-content:flex-end;gap:20px;margin-top:10px;color:var(--text-muted);font-size:10px}.trend-summary strong{color:var(--text)}.comparison-total{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.comparison-total>strong{font-size:28px}.comparison-total>span{font-weight:750}.comparison-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-columns>div{padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.comparison-columns h3{margin:0 0 8px;font-size:11px}.comparison-columns p{display:flex;justify-content:space-between;gap:10px;margin:6px 0;color:var(--text-muted)}.comparison-columns p strong{color:var(--text);font-variant-numeric:tabular-nums}.dashboard-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dashboard-compact-list{display:grid;gap:6px}.dashboard-compact-list>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px;border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;text-decoration:none}.dashboard-compact-list>a:hover{background:var(--surface-hover)}.dashboard-compact-list a div{display:grid;gap:2px}.dashboard-compact-list a span{color:var(--text-muted);font-size:9px}.dashboard-compact-list a b{color:#efcf82;font-variant-numeric:tabular-nums}
@media(max-width:1024px){.dashboard-kpis{grid-template-columns:1fr 1fr}.supplier-bar-row{grid-template-columns:minmax(130px,200px) 1fr 90px}.supplier-bar-row small{display:none}.dashboard-secondary-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dashboard-period{align-items:stretch;flex-direction:column}.dashboard-period nav{justify-content:space-between}.dashboard-kpis{grid-template-columns:1fr 1fr}.dashboard-kpis article:first-child{grid-column:1/-1}.supplier-expense-chart,.expense-evolution,.month-comparison,.dashboard-secondary-grid>section{padding:11px}.supplier-expense-chart>header,.expense-evolution>header{align-items:flex-start;flex-direction:column}.supplier-bar-row{grid-template-columns:minmax(110px,1fr) 90px;padding:8px 2px}.supplier-bar-track{grid-column:1/-1;grid-row:2}.supplier-bar-row strong{grid-column:2;grid-row:1}.chart-legend{flex-wrap:wrap}.evolution-chart svg{height:210px}.evolution-labels a{font-size:8px}.trend-summary{align-items:flex-end;flex-direction:column;gap:4px}.comparison-total{align-items:flex-start;flex-direction:column;gap:3px}.comparison-columns{grid-template-columns:1fr}.dashboard-secondary-grid{grid-template-columns:1fr}.dashboard-compact-list>a{align-items:flex-start;flex-direction:column}.dashboard-period-current{min-height:44px}}

/* Telefonie read-only */
.calls-workspace{display:grid;min-width:0;gap:12px}.call-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.call-kpis article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.call-kpis span,.call-kpis small{color:var(--text-muted);font-size:9px}.call-kpis strong{font-size:20px;font-variant-numeric:tabular-nums}.call-filters{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto auto;gap:8px;align-items:end;padding:12px}.call-filters label{display:grid;gap:4px;color:var(--text-muted);font-size:9px}.call-table-wrap{min-width:0;overflow-x:auto;padding:0}.call-table{width:100%;min-width:850px}.call-table td,.call-table th{padding:10px 12px}.call-table td{font-size:10px}.call-direction,.call-status{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:750}.call-direction.inbound{background:rgba(111,168,232,.13);color:#a9d2ff}.call-direction.outbound{background:rgba(88,201,149,.13);color:#85ddb1}.call-direction.unknown{background:rgba(156,166,179,.12);color:#bdc4cc}.call-status.answered{background:rgba(88,201,149,.13);color:#85ddb1}.call-status.no-answer,.call-status.busy{background:rgba(226,183,90,.14);color:#efcf82}.phone-offline{padding:18px;border-color:rgba(226,183,90,.35)}.phone-offline p,.phone-offline small,.phone-unavailable{color:var(--text-muted)}.phone-today{padding:15px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.phone-today header{display:flex;align-items:center;justify-content:space-between;gap:12px}.phone-today h2,.phone-today p{margin:0}.phone-today header p{margin-top:3px;color:var(--text-muted)}.phone-today>div{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px}.phone-today>div span{color:var(--text-muted)}.call-detail-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:12px}.call-detail-main,.call-technical{padding:16px}.call-detail-main header{display:flex;gap:8px;margin-bottom:15px}.call-detail-main dl,.call-technical dl{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.call-detail-main dl div,.call-technical dl div{display:grid;gap:4px}.call-detail-main dt,.call-technical dt{color:var(--text-muted);font-size:9px}.call-detail-main dd,.call-technical dd{margin:0;overflow-wrap:anywhere}.call-technical summary{margin-bottom:14px;cursor:pointer;font-weight:700}
@media(max-width:1000px){.call-kpis{grid-template-columns:repeat(3,1fr)}.call-filters{grid-template-columns:repeat(3,1fr)}.call-detail-grid{grid-template-columns:1fr}}
@media(max-width:700px){.call-kpis{grid-template-columns:1fr 1fr}.call-kpis article:last-child{grid-column:1/-1}.call-filters{grid-template-columns:1fr 1fr}.call-filters label:nth-of-type(4){grid-column:1/-1}.call-detail-main dl,.call-technical dl{grid-template-columns:1fr}.phone-today header{align-items:flex-start;flex-direction:column}}

/* UI 4.0.1 interaction polish */
.supplier-payment-card[role="link"]{cursor:pointer}.supplier-payment-card[role="link"]:hover,.supplier-payment-card[role="link"]:focus-visible{border-color:rgba(242,143,44,.42);background:linear-gradient(135deg,rgba(242,143,44,.045),var(--surface-hover));outline:none}.supplier-card-chevron{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--text-muted);font-size:24px;transition:.15s}.supplier-payment-card:hover .supplier-card-chevron,.supplier-payment-card:focus-visible .supplier-card-chevron{background:rgba(242,143,44,.1);color:var(--primary);transform:translateX(2px)}.payment-toolbar{align-items:center}.payment-toolbar>label,.payment-filter-toggle{height:42px}.payment-toolbar>label input,.payment-toolbar>label select,.payment-filter-toggle{height:42px;min-height:42px}.payment-filter-toggle{width:100%;justify-content:center}.payment-filter-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(240px,.7fr) 1.3fr;gap:12px;align-items:end;margin-top:2px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.payment-filter-panel[hidden]{display:none!important}.payment-secondary-options{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.payment-secondary-options .check-control{min-height:36px;padding:0 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.payment-secondary-options .btn{min-height:36px}.payment-status-tabs{display:none}
@media(max-width:900px){.payment-filter-panel{grid-template-columns:1fr}.payment-secondary-options{justify-content:flex-start}}
@media(max-width:700px){.payment-toolbar{grid-template-columns:1fr}.payment-toolbar>label,.payment-filter-toggle{width:100%}.payment-filter-panel{grid-column:1}.payment-secondary-options{display:grid;grid-template-columns:1fr 1fr}.payment-secondary-options .btn{grid-column:1/-1}.supplier-card-chevron{margin-left:auto}}

+
/* UI 4.0.1 — payment-oriented purchases */
.payments-workspace{gap:10px}.payments-header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 2px}.payments-header h2{margin:2px 0;font-size:22px}.payment-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.payment-summary article{display:grid;gap:3px;min-height:88px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.payment-summary span{color:var(--text-muted);font-size:9px;font-weight:700}.payment-summary strong{font-size:21px;font-variant-numeric:tabular-nums}.payment-summary small{color:var(--text-subtle);font-size:9px}.payment-summary .payment-primary{border-color:rgba(242,143,44,.38);background:linear-gradient(135deg,rgba(242,143,44,.1),var(--surface))}.payment-summary .payment-primary strong{color:#ffd09b;font-size:25px}.payment-panel{overflow:visible;padding:0}.payment-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 190px auto;gap:8px;padding:13px;border-bottom:1px solid var(--border)}.payment-toolbar input,.payment-toolbar select{width:100%;min-height:42px}.payment-more-filters{position:relative}.payment-more-filters>summary{min-height:42px;list-style:none;cursor:pointer}.payment-more-filters>summary::-webkit-details-marker{display:none}.payment-more-filters>div{position:absolute;z-index:20;top:48px;right:0;width:290px;display:grid;gap:9px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow)}.payment-period-form{display:grid;grid-template-columns:1fr 1fr;gap:7px}.payment-period-form label{display:grid;gap:3px;color:var(--text-muted);font-size:9px}.payment-more-filters .check-control{display:flex;align-items:center;gap:7px}.payment-status-tabs{display:flex;gap:5px;padding:10px 13px;overflow-x:auto;border-bottom:1px solid var(--border)}.payment-status-tabs button{min-height:34px;padding:6px 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);white-space:nowrap;cursor:pointer}.payment-status-tabs button.is-active{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.payment-list-heading{display:flex;align-items:end;justify-content:space-between;padding:13px}.payment-list-heading h2,.payment-list-heading p{margin:0}.payment-list-heading p{color:var(--text-muted);font-size:10px}.supplier-payment-list{display:grid;gap:8px;padding:0 13px 13px}.supplier-payment-card{padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);transition:.15s}.supplier-payment-card:hover{border-color:var(--border-strong);background:var(--surface-hover)}.supplier-payment-card>header,.supplier-payment-card>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.supplier-payment-card h3{margin:0 0 3px;font-size:14px}.supplier-payment-card p{margin:0;color:var(--text-muted);font-size:9px}.supplier-payment-values{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px;margin:12px 0;padding:10px 0;border-block:1px solid var(--border)}.supplier-payment-values>div{display:grid;gap:3px}.supplier-payment-values span{color:var(--text-muted);font-size:9px}.supplier-payment-values strong{font-size:14px;font-variant-numeric:tabular-nums}.supplier-payment-values .estimated strong{color:#ffd09b;font-size:22px}.payment-badges{display:flex;flex-wrap:wrap;gap:6px}.payment-badges span{padding:4px 7px;border-radius:999px;background:var(--surface);color:var(--text-muted);font-size:9px}.supplier-payment-detail-header{display:flex;align-items:center;justify-content:space-between;padding:16px}.supplier-payment-detail-header h2,.supplier-payment-detail-header p{margin:0}.supplier-payment-detail-header p{margin-top:3px;color:var(--text-muted)}.supplier-detail-totals{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;padding:0 16px 12px}.supplier-detail-totals article{display:grid;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.supplier-detail-totals span{color:var(--text-muted);font-size:9px}.supplier-detail-totals strong{font-size:18px}.supplier-detail-totals article:first-child strong{color:#ffd09b;font-size:23px}.supplier-document-list{display:grid;gap:6px;padding:0 13px 13px}.supplier-document-list>a{display:grid;grid-template-columns:90px minmax(160px,1fr) 100px minmax(150px,1fr) auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);color:inherit;text-decoration:none}.supplier-document-list>a:hover{border-color:var(--border-strong);background:var(--surface-hover)}.supplier-document-list a div{display:grid;gap:2px}.supplier-document-list a span,.supplier-document-list time{color:var(--text-muted);font-size:10px}.supplier-document-list .document-payment-state{color:var(--text)}.document-open{color:var(--primary)!important;font-weight:700}
@media(max-width:900px){.payment-summary{grid-template-columns:1fr 1fr}.payment-toolbar{grid-template-columns:1fr 180px auto}.supplier-payment-values{grid-template-columns:1fr 1fr}.supplier-payment-values .estimated{grid-column:1/-1}.supplier-document-list>a{grid-template-columns:80px 1fr 100px}.supplier-document-list .document-payment-state{grid-column:2/-1}.supplier-document-list .document-open{grid-column:3;text-align:right}}
@media(max-width:700px){.payments-header{align-items:stretch;flex-direction:column}.payment-summary{grid-template-columns:1fr 1fr}.payment-summary .payment-primary{grid-column:1/-1}.payment-toolbar{grid-template-columns:1fr}.payment-more-filters>div{position:static;width:auto;margin-top:7px}.payment-status-tabs{padding-inline:10px}.payment-list-heading{align-items:flex-start;flex-direction:column;gap:3px}.supplier-payment-card>header{align-items:flex-start}.supplier-payment-values{grid-template-columns:1fr 1fr}.supplier-payment-card>footer{align-items:stretch;flex-direction:column}.supplier-payment-card>footer .btn{width:100%;min-height:46px}.supplier-detail-totals{grid-template-columns:1fr 1fr}.supplier-detail-totals article:first-child{grid-column:1/-1}.supplier-document-list>a{grid-template-columns:1fr 1fr}.supplier-document-list>a>strong{text-align:right}.supplier-document-list .document-payment-state{grid-column:1/-1}.supplier-document-list .document-open{grid-column:1/-1;min-height:44px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius-sm)}}

+

/* UI 4.0 — monthly purchases */
.purchases-workspace{display:grid;gap:14px}.purchases-period-header{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 19px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.purchases-period-header h2{margin:3px 0;font-size:24px}.purchases-period-header p,.purchase-breadcrumb{margin:0;color:var(--text-muted);font-size:11px}.purchase-breadcrumb{text-decoration:none}.period-navigation{display:flex;align-items:center;gap:7px}.purchase-period-form{display:flex;align-items:end;gap:8px}.purchase-period-form label{display:grid;gap:4px;color:var(--text-muted);font-size:9px}.purchase-period-form select{min-width:130px}.purchase-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.purchase-summary article,.supplier-purchase-summary article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.purchase-summary span,.supplier-purchase-summary span{color:var(--text-muted);font-size:9px}.purchase-summary strong,.supplier-purchase-summary strong{font-size:20px;font-variant-numeric:tabular-nums}.purchase-summary small{color:var(--text-subtle);font-size:9px}.purchase-panel{padding:0;overflow:hidden}.purchase-panel>.section-heading{padding:14px 16px}.purchase-live-filters{display:grid;grid-template-columns:minmax(200px,1fr) 170px repeat(4,auto) auto;gap:7px;align-items:center;padding:10px 16px;border-block:1px solid var(--border);background:var(--surface-raised)}.purchase-live-filters input[type=search],.purchase-live-filters select{width:100%;min-height:40px}.purchase-live-filters .check-control{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:10px}.purchase-live-filters .check-control input{width:16px;height:16px}.purchase-table-wrap{overflow-x:auto}.purchase-table{width:100%}.purchase-table td{vertical-align:middle}.purchase-table td strong,.purchase-table td small{display:block}.purchase-table td small{margin-top:2px;color:var(--text-subtle);font-size:9px}.status-badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:750}.status-up_to_date{background:rgba(88,201,149,.13);color:#85ddb1}.status-awaiting_invoice,.status-no_accounting_document{background:rgba(111,168,232,.13);color:#a9d2ff}.status-needs_review{background:rgba(226,183,90,.14);color:#efcf82}.supplier-purchase-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px}.purchase-documents{display:grid;gap:6px;padding:0 16px 16px}.purchase-documents article{display:grid;grid-template-columns:90px minmax(160px,1fr) 100px minmax(180px,1.2fr) auto;gap:12px;align-items:center;padding:10px 11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.purchase-documents article div{display:grid;gap:2px}.purchase-documents article span,.purchase-documents time{color:var(--text-muted);font-size:10px}.document-accounting-state{color:var(--text)!important}.purchase-panel>[data-purchase-empty]{margin:14px}

/* UI 4.1 — mobile capture */
.mobile-upload-workspace{display:grid;gap:14px;max-width:1100px;margin:auto}.upload-intro{display:flex;justify-content:space-between;align-items:center;gap:16px}.upload-intro h2{margin:0 0 4px}.upload-intro p{margin:0;color:var(--text-muted)}.capture-session{display:grid;gap:12px}.upload-primary-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-action{position:relative;display:grid;place-items:center;gap:6px;min-height:210px;padding:24px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);text-align:center;cursor:pointer;transition:.18s}.upload-action:hover{border-color:var(--primary);background:var(--surface-hover);transform:translateY(-2px)}.upload-action input,.add-page input{position:absolute;width:1px;height:1px;opacity:0}.upload-action-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:rgba(242,143,44,.12);color:var(--primary);font-size:28px}.upload-action strong{font-size:17px}.upload-action small{color:var(--text-muted)}.capture-preview{padding:15px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.capture-preview>header{display:flex;justify-content:space-between;align-items:center;gap:12px}.capture-preview h2{margin:0 0 3px}.capture-preview p{margin:0;color:var(--text-muted)}.add-page{position:relative;overflow:hidden;cursor:pointer}.capture-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px;margin:14px 0}.capture-item{display:grid;grid-template-columns:70px 1fr auto;gap:9px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.capture-item.is-dragging{opacity:.45}.capture-image{height:74px;display:grid;place-items:center;overflow:hidden;border-radius:7px;background:#090b0e}.capture-image img{width:100%;height:100%;object-fit:contain}.file-placeholder{font-weight:800}.capture-item-copy{min-width:0;display:grid;gap:3px}.capture-item-copy strong,.capture-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.capture-item-copy small{color:var(--text-muted)}.capture-item-actions{display:grid;gap:5px}.multipage-note{padding:9px 11px;border-left:3px solid var(--info);background:rgba(111,168,232,.07);font-size:10px}.upload-submit-row{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.upload-confirm{min-height:48px;padding-inline:22px}.upload-progress{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.upload-progress p{margin:3px 0 0;color:var(--text-muted)}.upload-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:upload-spin .8s linear infinite}.capture-preview.is-submitting{opacity:.55;pointer-events:none}.photo-tips ul{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0;list-style:none}.photo-tips li{padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.photo-tips details{margin-top:10px;color:var(--text-muted)}.kitchen-mode{max-width:760px}.kitchen-mode .upload-action{min-height:240px}.kitchen-mode .btn,.kitchen-mode .icon-button{min-height:48px}@keyframes upload-spin{to{transform:rotate(360deg)}}
@media(max-width:1024px){.purchase-summary{grid-template-columns:repeat(3,1fr)}.purchase-live-filters{grid-template-columns:1fr 1fr repeat(2,auto)}.purchase-search{grid-column:1/-1}.purchase-table th:nth-child(3),.purchase-table td:nth-child(3){display:none}}
@media(max-width:700px){.purchases-period-header,.upload-intro{align-items:stretch;flex-direction:column}.period-navigation{justify-content:space-between}.purchase-period-form{display:grid;grid-template-columns:1fr 1fr}.purchase-period-form .btn{grid-column:1/-1}.purchase-summary{grid-template-columns:1fr 1fr}.purchase-summary article:first-child{grid-column:1/-1}.purchase-live-filters{grid-template-columns:1fr 1fr}.purchase-search,.purchase-live-filters label:nth-child(2),.purchase-live-filters .btn{grid-column:1/-1}.purchase-table-wrap{overflow:visible}.purchase-table thead{display:none}.purchase-table,.purchase-table tbody{display:block}.purchase-table tr{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 9px 9px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.purchase-table td{display:grid!important;gap:2px;padding:0;border:0}.purchase-table td::before{content:attr(data-label);color:var(--text-subtle);font-size:8px;text-transform:uppercase}.purchase-table td:first-child,.purchase-table td:last-child{grid-column:1/-1}.purchase-table td:last-child .btn{width:100%;min-height:44px}.supplier-purchase-summary{grid-template-columns:1fr 1fr}.purchase-documents article{grid-template-columns:1fr 1fr}.purchase-documents article .document-accounting-state,.purchase-documents article .btn{grid-column:1/-1}.purchase-documents article .btn{min-height:44px}.upload-primary-actions{grid-template-columns:1fr}.upload-action{min-height:170px}.capture-preview>header{align-items:stretch;flex-direction:column}.capture-preview>header .btn{width:100%;min-height:48px}.capture-thumbnails{grid-template-columns:1fr}.capture-item{grid-template-columns:82px 1fr auto}.upload-submit-row{display:grid}.upload-submit-row .btn{min-height:48px}.photo-tips ul{grid-template-columns:1fr 1fr}.mobile-upload-workspace{max-width:100%;overflow-x:hidden}}
.js .documents-search-fallback{display:none}.inbox-loading{padding:9px 13px;color:var(--text-muted);font-size:10px}.document-inbox.is-loading .documents-table-wrap{opacity:.55;transition:opacity .15s ease}.document-inbox.is-loading .document-row{pointer-events:none}
.product-detail-v2{display:grid;gap:12px}.product-detail-header{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 17px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.product-detail-header h1{margin:5px 0 2px;font-size:24px}.product-detail-header p,.product-back{margin:0;color:var(--text-muted);font-size:10px}.product-back{text-decoration:none}.product-header-actions{display:flex;gap:7px}.product-more{position:relative}.product-more summary{list-style:none}.product-more nav{position:absolute;z-index:20;right:0;top:calc(100% + 5px);display:grid;min-width:220px;padding:6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:var(--shadow-lg)}.product-more nav a,.product-more nav button{padding:9px;border:0;border-radius:6px;background:transparent;color:var(--text);text-align:left;text-decoration:none;cursor:pointer}.product-more nav a:hover,.product-more nav button:hover{background:var(--surface-hover)}.product-duplicate-banner{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border:1px solid rgba(226,183,90,.35);border-radius:var(--radius-md);background:rgba(226,183,90,.08)}.product-duplicate-banner div{display:grid;gap:3px}.product-duplicate-banner span{color:var(--text-muted);font-size:10px}.product-price-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.product-price-cards article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.product-price-cards span,.product-price-cards small{color:var(--text-muted);font-size:9px}.product-price-cards strong{font-size:20px;font-variant-numeric:tabular-nums}.product-detail-v2 .panel{padding:0;overflow:hidden}.product-detail-v2 .panel>header{display:flex;justify-content:space-between;align-items:center;padding:13px 15px;border-bottom:1px solid var(--border)}.product-detail-v2 .panel h2{margin:0;font-size:14px}.product-detail-v2 .panel header p{margin:3px 0 0;color:var(--text-muted);font-size:9px}.product-chart{min-height:280px;padding:15px}.product-chart svg{display:block;width:100%;height:250px;overflow:visible}.product-chart .price-line{fill:none;stroke:var(--primary);stroke-width:3}.product-chart circle{fill:var(--surface);stroke:var(--primary);stroke-width:3;cursor:pointer}.product-chart circle:hover{r:8}.product-chart text{fill:var(--text-muted);font-size:10px}.product-history-chart>footer{display:flex;gap:22px;flex-wrap:wrap;padding:11px 15px;border-top:1px solid var(--border);color:var(--text-muted);font-size:10px}.product-history-chart>footer strong{color:var(--text)}.product-supplier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 15px}.product-supplier-grid.single{grid-template-columns:1fr}.product-supplier-grid article{padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.product-supplier-grid article>div{display:flex;justify-content:space-between;gap:10px}.product-supplier-grid dl,.variant-list dl,.product-document-list dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:9px 0 0}.product-supplier-grid dl div,.variant-list dl div,.product-document-list dl div{display:grid;gap:2px}.product-supplier-grid dt,.variant-list dt,.product-document-list dt{color:var(--text-subtle);font-size:8px}.product-supplier-grid dd,.variant-list dd,.product-document-list dd{margin:0;font-size:10px}.product-document-list{display:grid}.product-document-list article{border-bottom:1px solid var(--border)}.product-document-list article>a{display:grid;grid-template-columns:85px 1.2fr 1.2fr 80px 110px 90px;gap:9px;align-items:center;padding:10px 15px;color:var(--text);text-decoration:none;font-size:10px}.product-document-list article>a:hover{background:var(--surface-hover)}.product-document-list details{padding:0 15px 9px}.product-document-list summary,.product-variants>details summary{color:var(--text-muted);cursor:pointer;font-size:9px}.variant-list{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 15px}.variant-list article{padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm)}.variant-list article>span{display:block;margin-top:3px;color:var(--text-muted);font-size:9px}.product-variants>details{padding:11px 15px;border-top:1px solid var(--border)}.product-empty-state{padding:36px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center}.product-edit-drawer{position:fixed;z-index:80;inset:0 0 0 auto;width:min(430px,100%);padding:18px;background:var(--surface);box-shadow:var(--shadow-lg)}.product-edit-drawer form{display:grid;gap:12px;height:100%;align-content:start}.product-edit-drawer header{display:flex;justify-content:space-between;align-items:center}.product-edit-drawer footer{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:12px;background:var(--surface)}.product-merge-dialog{width:min(520px,calc(100% - 24px));border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text)}.product-merge-dialog::backdrop{background:rgba(0,0,0,.65)}.product-merge-dialog>form:first-child{display:flex;justify-content:flex-end}.product-merge-dialog>form:last-child{display:grid;gap:10px}.product-empty-state h2{margin-top:0}
@media(max-width:900px){.product-detail-header{align-items:flex-start}.product-price-cards{grid-template-columns:1fr 1fr}.product-supplier-grid{grid-template-columns:1fr}.product-document-list article>a{grid-template-columns:80px 1fr 1fr}.product-document-list article>a span:nth-of-type(n+3),.product-document-list article>a b{display:none}.variant-list{grid-template-columns:1fr}}
@media(max-width:600px){.product-detail-header{flex-direction:column}.product-header-actions{width:100%}.product-header-actions>.btn,.product-header-actions details{flex:1}.product-header-actions summary{width:100%;min-height:44px}.product-price-cards{grid-template-columns:1fr 1fr}.product-price-cards article{padding:11px}.product-chart{min-height:220px;padding:8px}.product-chart svg{height:210px}.product-history-chart>footer{gap:10px}.product-document-list article>a{grid-template-columns:1fr 1fr;padding:11px}.product-document-list article>a strong{grid-column:1/-1}.product-document-list article>a span:nth-of-type(n+2){display:none}.product-supplier-grid dl,.variant-list dl{grid-template-columns:1fr 1fr}.product-duplicate-banner{align-items:stretch;flex-direction:column;gap:9px}.product-duplicate-banner .btn{min-height:44px}.product-detail-v2{max-width:100%;overflow-x:hidden}}
/* Learning 2.0 — knowledge management */
.knowledge-page,.knowledge-detail{display:grid;gap:18px}.knowledge-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.knowledge-kpis article,.knowledge-activity,.resolution-map,.knowledge-library,.knowledge-top,.knowledge-detail-hero,.knowledge-detail-card,.knowledge-actions{background:var(--panel,#12171d);border:1px solid var(--border,#29313b);border-radius:16px}.knowledge-kpis article{padding:18px;display:grid;gap:5px}.knowledge-kpis span,.knowledge-kpis small{color:var(--muted,#9ba8b7)}.knowledge-kpis strong{font-size:1.75rem}.knowledge-activity,.resolution-map,.knowledge-library,.knowledge-top,.knowledge-detail-card{padding:18px}.knowledge-activity>header,.resolution-map>header,.knowledge-library>header,.knowledge-top>header,.knowledge-detail-card>header{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.knowledge-activity h2,.resolution-map h2,.knowledge-library h2,.knowledge-top h2,.knowledge-detail-card h2,.knowledge-actions h2{margin:0;font-size:1rem}.knowledge-activity header p,.resolution-map header p,.knowledge-library header p,.knowledge-top header p,.knowledge-detail-card header p,.knowledge-actions p{margin:3px 0 0;color:var(--muted,#9ba8b7);font-size:.82rem}.knowledge-feed{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 20px}.knowledge-feed p{margin:0;padding:7px 0;display:flex;gap:9px;font-size:.85rem}.knowledge-feed .is-success span{color:#69d6a0}.knowledge-feed .is-warning span{color:#ffbd66}.resolution-map ol{list-style:none;padding:0;margin:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.resolution-map li{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted,#9ba8b7)}.resolution-map li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(245,143,35,.14);color:#f58f23;font-size:.75rem}.resolution-map li>b{font-size:.78rem;white-space:nowrap}.resolution-map li>i{font-style:normal;margin-left:8px;opacity:.45}.knowledge-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.knowledge-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px auto;gap:10px;margin-bottom:14px}.knowledge-toolbar input,.knowledge-toolbar select{min-height:44px}.knowledge-card-list{display:grid;gap:10px}.knowledge-card{position:relative;display:grid;gap:13px;padding:15px 42px 15px 16px;border:1px solid var(--border,#29313b);border-radius:13px;color:inherit;text-decoration:none;background:rgba(255,255,255,.012);transition:.18s ease}.knowledge-card:hover{transform:translateY(-2px);border-color:rgba(245,143,35,.65);background:rgba(245,143,35,.035)}.knowledge-card>header{display:flex;justify-content:space-between;gap:12px}.knowledge-card>header>div{display:flex;align-items:center;gap:8px}.knowledge-card header span:first-child{font-weight:750}.knowledge-card header small{color:var(--muted,#9ba8b7)}.knowledge-transform{display:flex;align-items:center;gap:12px;min-width:0}.knowledge-transform strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.knowledge-transform span{color:#f58f23}.knowledge-card dl{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px;margin:0}.knowledge-card dt,.knowledge-facts dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#9ba8b7)}.knowledge-card dd,.knowledge-facts dd{margin:3px 0 0;font-size:.84rem}.card-chevron{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.5rem;color:#f58f23}.knowledge-health{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:.74rem;font-weight:700}.knowledge-health i{width:8px;height:8px;border-radius:50%;background:#87919d}.knowledge-health.is-strong i,.knowledge-health.is-healthy i{background:#4fd28c}.knowledge-health.is-rare i{background:#efb34b}.knowledge-health.is-unused i{background:#bbc1c8}.knowledge-health.is-inactive i{background:#4c535c}.knowledge-health.is-attention i{background:#ef6464}.knowledge-top ol{list-style:none;padding:0;margin:0;display:grid}.knowledge-top li{display:grid;grid-template-columns:26px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--border,#29313b)}.knowledge-top li:last-child{border-bottom:0}.knowledge-top li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(245,143,35,.12);color:#f58f23;font-weight:800}.knowledge-top a{display:grid;gap:3px;color:inherit;text-decoration:none}.knowledge-top b,.knowledge-top small{font-size:.73rem;color:var(--muted,#9ba8b7)}.knowledge-detail-hero{padding:20px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.knowledge-detail-hero>div>span{color:#f58f23;font-size:.8rem;font-weight:750}.knowledge-detail-hero h2{margin:7px 0;font-size:1.35rem}.knowledge-detail-hero h2 i{font-style:normal;color:#f58f23}.knowledge-detail-hero p{margin:0;max-width:720px;color:var(--muted,#9ba8b7)}.knowledge-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.knowledge-before-after{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.knowledge-before-after>div{padding:14px;border:1px solid var(--border,#29313b);border-radius:12px;display:grid;gap:5px}.knowledge-before-after span,.knowledge-before-after small{color:var(--muted,#9ba8b7);font-size:.75rem}.knowledge-before-after>b{color:#f58f23}.knowledge-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:16px 0 0}.resolution-vertical{list-style:none;margin:0;padding:0;display:grid}.resolution-vertical li{position:relative;display:flex;gap:12px;padding:5px 0 17px;color:var(--muted,#9ba8b7)}.resolution-vertical li:not(:last-child):before{content:"";position:absolute;left:11px;top:28px;bottom:1px;width:1px;background:var(--border,#29313b)}.resolution-vertical li>span{z-index:1;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#242b34;font-size:.7rem}.resolution-vertical li.done{color:inherit}.resolution-vertical li.done>span{background:rgba(79,210,140,.15);color:#4fd28c}.resolution-vertical li.resolved{padding:10px;border-radius:10px;background:rgba(245,143,35,.08);color:inherit}.resolution-vertical li.resolved>span{background:#f58f23;color:#111}.resolution-vertical li div{display:grid;gap:2px}.resolution-vertical small{color:var(--muted,#9ba8b7)}.knowledge-last-use{display:flex;justify-content:space-between;align-items:center;padding:14px;border:1px solid var(--border,#29313b);border-radius:12px;color:inherit;text-decoration:none}.knowledge-last-use>div{display:grid;gap:4px}.knowledge-last-use span,.knowledge-last-use small,.knowledge-data-note{color:var(--muted,#9ba8b7);font-size:.76rem}.knowledge-data-note{margin:12px 0 0}.knowledge-actions{padding:18px;display:flex;justify-content:space-between;align-items:center;gap:18px}.knowledge-actions>div:last-child{display:flex;gap:10px}.knowledge-actions form{margin:0}
@media (max-width:1000px){.knowledge-kpis{grid-template-columns:repeat(2,1fr)}.knowledge-layout{grid-template-columns:1fr}.knowledge-top ol{grid-template-columns:repeat(2,1fr);gap:0 18px}.resolution-map ol{overflow-x:auto;justify-content:flex-start;padding-bottom:6px}.knowledge-detail-grid{grid-template-columns:1fr}}
@media (max-width:640px){.knowledge-kpis{grid-template-columns:1fr 1fr}.knowledge-kpis article{padding:14px}.knowledge-kpis strong{font-size:1.35rem}.knowledge-feed{grid-template-columns:1fr}.resolution-map li{flex:0 0 auto}.knowledge-toolbar{grid-template-columns:1fr}.knowledge-card dl{grid-template-columns:1fr 1fr}.knowledge-card dl>div:first-child{grid-column:1/-1}.knowledge-transform{align-items:flex-start;flex-direction:column;gap:4px}.knowledge-transform span{transform:rotate(0)}.knowledge-top ol{grid-template-columns:1fr}.knowledge-detail-hero,.knowledge-actions{flex-direction:column}.knowledge-detail-hero h2{font-size:1.1rem}.knowledge-before-after{grid-template-columns:1fr}.knowledge-before-after>b{transform:rotate(90deg);justify-self:center}.knowledge-facts{grid-template-columns:1fr 1fr}.knowledge-actions>div:last-child,.knowledge-actions form,.knowledge-actions button{width:100%}.knowledge-actions>div:last-child{flex-direction:column}}

/* Learning 2.0 polish */
.knowledge-feed article{margin:0;padding:7px 0;display:flex;gap:9px;font-size:.85rem}.knowledge-feed article p{margin:0}.knowledge-feed article time{display:block;margin-top:3px;color:var(--muted,#9ba8b7);font-size:.72rem}.knowledge-feed article.is-success>span{color:#69d6a0}.knowledge-feed article.is-warning>span{color:#ffbd66}.resolution-map li.is-learning-step{padding:8px 10px;border-radius:10px;background:rgba(245,143,35,.11);color:#fff}.resolution-map li.is-learning-step>span{background:#f58f23;color:#111}.knowledge-layout{grid-template-columns:minmax(0,1fr)}.knowledge-layout.has-ranking{grid-template-columns:minmax(0,1fr) 320px}.knowledge-card{gap:15px;padding:16px 42px 16px 17px}.knowledge-transform{gap:18px;padding:5px 0}.knowledge-transform strong{font-size:1.05rem}.knowledge-transform span{font-size:1.15rem}
@media (max-width:1000px){.knowledge-layout.has-ranking{grid-template-columns:1fr}}
.catalog-mode-selector{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.catalog-mode-selector legend{padding:0 6px;font-weight:750}.catalog-mode-selector label{display:flex;gap:8px;min-height:88px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.catalog-mode-selector label:has(input:checked){border-color:var(--primary);background:rgba(242,146,36,.1)}.catalog-mode-selector input{margin-top:3px}.catalog-mode-selector span{display:grid;align-content:start;gap:4px}.catalog-mode-selector small{color:var(--text-muted);line-height:1.35}.catalog-mode-status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.catalog-mode-status div{display:flex;gap:8px;align-items:center}.catalog-mode-status span{padding:3px 7px;border-radius:999px;background:var(--surface-raised);color:var(--text-muted);font-size:9px}.catalog-mode-status p{margin:0;color:var(--text-muted);font-size:10px}.catalog-mode-accounting{border-color:rgba(111,168,232,.35)}.catalog-mode-header_only{border-color:rgba(226,183,90,.35)}.catalog-mode-disabled{opacity:.75}.supplier-catalog-mode{padding:13px}.supplier-catalog-mode header{margin-bottom:10px}.supplier-catalog-mode form{display:flex;gap:8px}.supplier-catalog-mode select{flex:1}.catalog-mode-preview{max-width:760px;margin:auto;padding:20px}.catalog-mode-preview dl{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.catalog-mode-preview dl div{padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm)}.catalog-mode-preview dt{color:var(--text-muted);font-size:10px}.catalog-mode-preview dd{margin:5px 0 0;font-size:16px;font-weight:750}.mode-unknown{padding:10px;border-radius:var(--radius-sm);background:rgba(226,183,90,.1);color:#efcf82}
@media(max-width:700px){.catalog-mode-selector{grid-template-columns:1fr}.catalog-mode-selector label{min-height:64px}.catalog-mode-status,.supplier-catalog-mode form{align-items:stretch;flex-direction:column}.catalog-mode-preview dl{grid-template-columns:1fr}}

/* Delivery events: operational receipts stay visually distinct from invoices. */
.document-deliveries-card{padding:0;overflow:hidden}.document-deliveries-card>.section-header{padding:13px 15px;border-bottom:1px solid var(--border)}
.delivery-event-list{display:grid;grid-template-columns:1fr;gap:8px;padding:12px 15px}
.delivery-event-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}
.delivery-event-identity{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:5px}.delivery-event-identity span,.delivery-event-card time{color:var(--text-muted);font-size:9px}.delivery-event-identity strong{font-size:12px}
.delivery-event-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.delivery-event-card dl div{display:grid;gap:2px}.delivery-event-card dt{color:var(--text-subtle);font-size:8px}.delivery-event-card dd{margin:0;font-size:11px;font-weight:700}
.delivery-event-status{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:9px}.delivery-event-status a{color:var(--primary)}
.validation-delivery{display:grid;margin-right:auto}.validation-delivery span{font-weight:750}.validation-delivery time{color:var(--text-muted);font-size:8px}
.supplier-delivery-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.supplier-delivery-list>article{display:grid;grid-template-columns:minmax(150px,1fr) 1fr auto;gap:12px;align-items:center;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}
.supplier-delivery-list article>div:first-child{display:grid;gap:2px}.supplier-delivery-list article>div:first-child span,.supplier-delivery-list time{color:var(--text-muted);font-size:9px}.supplier-delivery-list dl{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0}.supplier-delivery-list dt{color:var(--text-subtle);font-size:8px}.supplier-delivery-list dd{margin:2px 0 0;font-size:10px;font-weight:700}
.product-delivery-identity{display:grid;gap:2px}.product-delivery-identity strong{font-size:11px}.product-delivery-identity small{color:var(--text-muted);font-size:8px}
@media(max-width:900px){.delivery-event-list,.supplier-delivery-list{grid-template-columns:1fr}.supplier-delivery-list>article{grid-template-columns:1fr 1fr auto}}
@media(max-width:600px){.delivery-event-card dl{grid-template-columns:1fr 1fr}.supplier-delivery-list>article{grid-template-columns:1fr}.supplier-delivery-list dl{grid-template-columns:repeat(3,1fr)}.delivery-event-list{padding:9px}.delivery-event-card{padding:11px}}
@media(max-width:700px){.identity-form-grid{grid-template-columns:1fr}.identity-form-grid .wide,.identity-form-grid .identity-lock{grid-column:auto}.identity-preview dl div{grid-template-columns:1fr}.identity-preview dd{align-items:flex-start;flex-direction:column}}
.catalog-mode-selector input[type="radio"]{flex:0 0 18px;width:18px!important;height:18px;min-height:18px;margin:3px 0 0;accent-color:var(--primary)}
.nav-count{margin-left:auto;min-width:1.4rem;padding:.1rem .4rem;border-radius:999px;background:var(--danger,#c94b55);color:white;text-align:center;font-size:.75rem}
.gate-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.gate-badges{display:flex;gap:.75rem;align-items:center}.gate-case-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);color:inherit;text-decoration:none}.gate-case-row>div{display:flex;flex-direction:column;gap:.25rem}.gate-actions form{display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:1rem;margin:.75rem 0}.gate-actions p{margin:0;color:var(--muted)}
@media(max-width:760px){.gate-comparison{grid-template-columns:1fr}.gate-actions form{grid-template-columns:1fr}}
.dashboard-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}
.dashboard-action-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"header header" "kpis footer";gap:var(--space-2) var(--space-3);min-height:132px;margin:0;padding:var(--space-3);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}
.dashboard-action-card::before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--info);content:""}
.dashboard-action-card.is-clear::before{background:var(--success)}.dashboard-action-card.has-warning::before{background:var(--warning)}.dashboard-action-card.has-blockers::before{background:var(--danger)}
.dashboard-action-header{grid-area:header;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.dashboard-action-header h2,.dashboard-action-header p{margin:0}.dashboard-action-header p{margin-top:var(--space-1);color:var(--text-muted);font-size:11px}
.dashboard-mini-kpis{grid-area:kpis;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.dashboard-mini-kpis>div{min-width:0;display:flex;align-items:baseline;gap:var(--space-1)}.dashboard-mini-kpis strong{color:var(--text);font-size:19px;font-variant-numeric:tabular-nums}.dashboard-mini-kpis span{overflow:hidden;color:var(--text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.dashboard-action-footer{grid-area:footer;display:flex;align-items:end;justify-content:flex-end}.dashboard-action-footer .btn{min-height:36px;white-space:nowrap}
.structured-review{background:var(--surface)}.structured-issue-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.structured-issue{position:relative;display:grid;align-content:start;gap:var(--space-2);padding:var(--space-3);overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised)}.structured-issue::before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--info);content:""}.structured-issue.blocking::before{background:var(--danger)}.structured-issue.warning::before{background:var(--warning)}.structured-issue.info::before{background:var(--info)}
.structured-issue-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.structured-issue-header>div{min-width:0;display:grid;gap:var(--space-1)}.structured-issue-header strong{color:var(--text);font-size:16px}.structured-issue-header small{color:var(--text-muted);font-size:10px}
.issue-value-grid,.source-coherence-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.issue-value-grid>div,.source-coherence-summary>div{min-width:0;display:grid;gap:var(--space-1);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.issue-value-grid span,.source-coherence-summary span,.issue-problem>span{color:var(--text-muted);font-size:9px;font-weight:700;text-transform:uppercase}.issue-value-grid strong,.source-coherence-summary strong{overflow-wrap:anywhere;color:var(--text);font-size:13px}.issue-calculation{grid-column:1/-1}.issue-calculation code{color:var(--text);font-size:13px;white-space:normal}
.issue-problem{display:grid;gap:var(--space-1)}.issue-problem p{margin:0;color:var(--text)}.issue-suggestion{display:grid;gap:var(--space-1);margin:0;padding:var(--space-2);border-left:3px solid var(--info);background:color-mix(in srgb,var(--info) 8%,transparent)}.issue-suggestion strong{font-size:10px}.issue-suggestion span{color:var(--text-muted)}
.structured-correction{display:grid;grid-template-columns:minmax(150px,1fr) minmax(220px,2fr);gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border)}.structured-correction>div,.line-type-actions{grid-column:1/-1;display:flex;gap:var(--space-2);flex-wrap:wrap}.structured-correction output{grid-column:1/-1;display:block;color:var(--text-muted)}
.structured-correction-disclosure{margin:0}.structured-correction-disclosure>summary{width:fit-content;list-style:none}.structured-correction-disclosure>summary::-webkit-details-marker{display:none}.structured-correction-disclosure[open]>summary{margin-bottom:var(--space-2)}
.status-info{color:var(--info);border-color:color-mix(in srgb,var(--info) 35%,var(--border))}
@media(max-width:1100px){.dashboard-action-grid{grid-template-columns:1fr}.dashboard-mini-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){.dashboard-action-card{grid-template-columns:1fr;grid-template-areas:"header" "kpis" "footer";min-height:0}.dashboard-action-header{align-items:flex-start;flex-direction:column}.dashboard-mini-kpis{grid-template-columns:1fr 1fr}.dashboard-mini-kpis>div{display:grid;gap:0}.dashboard-action-footer,.dashboard-action-footer .btn{width:100%}.issue-value-grid,.source-coherence-summary{grid-template-columns:1fr}.structured-correction{grid-template-columns:1fr}.structured-correction>div{display:grid}.structured-correction .btn{width:100%;min-height:44px}.structured-correction-disclosure>summary{width:100%;min-height:44px}}
.document-primary-source{display:flex;justify-content:space-between;gap:12px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-muted)}
.document-primary-source strong{color:var(--text)}
.attached-source-list{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.attached-source-list h3{margin:0 0 8px;font-size:.92rem}
.attached-source-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}
.attached-source-list article:first-of-type{border-top:0}.attached-source-list article div{display:grid;gap:2px;min-width:0}.attached-source-list article strong{overflow-wrap:anywhere}.attached-source-list article span{color:var(--text-muted);font-size:.8rem}
@media(max-width:640px){.document-primary-source,.attached-source-list article{align-items:flex-start;flex-direction:column}.attached-source-list .btn{width:100%}}
.reconciliation-candidates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.reconciliation-candidates article{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}
.reconciliation-candidates article>div{display:grid;gap:3px;min-width:0}.reconciliation-candidates span{color:var(--text-muted);font-size:.78rem}
@media(max-width:760px){.reconciliation-candidates{grid-template-columns:1fr}.reconciliation-candidates article{flex-direction:column}.reconciliation-candidates .btn{width:100%}}
.review-kpi-grid{margin-bottom:16px}.review-filters{align-items:end}.review-original-cell{max-width:560px;white-space:normal}.review-stars{color:var(--warning);letter-spacing:1px}.review-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-section-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.review-section-card>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.review-section-card h2{margin:0;font-size:1rem}.review-original{font-size:1.05rem;line-height:1.55;white-space:pre-wrap}.review-analysis{display:grid;gap:10px}.review-analysis div{display:grid;gap:3px}.review-analysis dt{color:var(--text-muted);font-size:.78rem;text-transform:uppercase}.review-analysis dd{margin:0}.review-draft-card textarea{width:100%;resize:vertical}.review-draft-card .button-row{display:flex;gap:8px;margin-top:10px}.review-section-card.has-warning{border-left:3px solid var(--warning)}@media(max-width:800px){.review-detail-grid{grid-template-columns:1fr}.review-filters{grid-template-columns:1fr}.review-draft-card .button-row{flex-direction:column}}
.reviews-workspace{display:grid;gap:10px}.reviews-kpi-strip,.reviews-policy-strip{display:flex;align-items:stretch;gap:7px}.reviews-kpi-strip>a,.rating-distribution,.policy-kpi{display:flex;align-items:center;gap:10px;min-height:52px;padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);text-decoration:none}.reviews-kpi-strip a span,.policy-kpi span{color:var(--text-muted);font-size:10px}.reviews-kpi-strip a strong,.policy-kpi strong{font-size:18px}.rating-distribution{flex:1;justify-content:space-around}.rating-distribution span{color:var(--text-muted);font-size:10px;white-space:nowrap}.rating-distribution b{color:var(--text);font-variant-numeric:tabular-nums}.policy-kpi{flex:1;justify-content:space-between}.policy-kpi.reportable{border-left:3px solid var(--warning)}.policy-kpi.is-active,.policy-kpi:hover{border-color:var(--border-strong);background:var(--surface-hover)}.reviews-toolbar{display:flex;align-items:end;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.reviews-toolbar label{display:grid;gap:3px;color:var(--text-muted);font-size:9px}.reviews-toolbar select{min-height:36px}.reviews-inbox-layout{display:grid;grid-template-columns:minmax(380px,.82fr) minmax(520px,1.18fr);height:calc(100vh - 315px);min-height:530px;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}.reviews-list{overflow:auto;border-right:1px solid var(--border)}.review-inbox-row{display:grid;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text);text-decoration:none}.review-inbox-row:hover,.review-inbox-row.is-selected{background:var(--surface-hover)}.review-inbox-row.is-selected{box-shadow:inset 3px 0 var(--primary)}.review-row-head,.review-inbox-row footer{display:flex;align-items:center;gap:8px}.review-row-head{justify-content:space-between}.review-row-head strong{font-size:12px}.review-row-head time,.review-inbox-row footer{color:var(--text-muted);font-size:9px}.review-inbox-row .review-stars{font-size:11px}.review-inbox-row p{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-muted);font-size:10px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.review-inbox-row footer b{padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);font-size:8px}.review-inbox-row footer i{margin-left:auto;color:var(--text);font-size:17px}.reviews-list .pagination{position:sticky;bottom:0;padding:8px;background:var(--surface-raised)}.review-detail-panel{overflow:auto;background:var(--surface-raised)}.review-panel-content{display:grid;gap:10px;padding:14px}.review-panel-header,.policy-check>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.review-panel-header h2,.review-panel-header p{margin:0}.review-panel-header h2{font-size:17px}.review-panel-header p{margin-top:3px;color:var(--text-muted);font-size:10px}.review-panel-section{padding-bottom:11px;border-bottom:1px solid var(--border)}.review-panel-section h3{margin:0 0 7px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.review-panel-section .review-original{margin:0 0 5px;font-size:12px;line-height:1.48}.review-panel-section small{display:block;margin-top:5px;color:var(--text-muted);font-size:9px}.human-analysis ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;font-size:11px}.human-analysis li.positive{color:var(--success)}.review-draft-card textarea{min-height:138px;padding:10px;background:var(--surface);color:var(--text)}.review-editor-actions{display:flex;gap:6px;margin-top:8px}.btn-link{padding-inline:0;border:0;background:transparent;color:var(--info)}.review-reply-translation{margin-top:10px;padding:10px;border-left:3px solid var(--info);background:var(--surface)}.review-reply-translation p{margin:0;white-space:pre-wrap;font-size:11px;line-height:1.45}.policy-check dl{display:grid;grid-template-columns:110px 1fr;gap:5px;margin:8px 0;font-size:10px}.policy-check dt{color:var(--text-muted)}.policy-check dd{margin:0}.policy-check.policy-reportable{border-left:3px solid var(--warning);padding-left:10px}.review-next{justify-self:end}@media(max-width:1050px){.reviews-inbox-layout{grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr)}.rating-distribution{flex-wrap:wrap}.reviews-kpi-strip,.reviews-policy-strip{flex-wrap:wrap}.policy-kpi{min-width:190px}}@media(max-width:800px){.reviews-kpi-strip,.reviews-policy-strip{display:grid;grid-template-columns:1fr 1fr}.rating-distribution{grid-column:1/-1}.reviews-toolbar{overflow-x:auto}.reviews-inbox-layout{display:block;height:auto;min-height:0}.reviews-list{border-right:0}.review-detail-panel{display:none}.review-inbox-row{padding:12px}.reviews-policy-strip .btn{grid-column:1/-1}}
/* Responsive density uses the CSS viewport only; never physical pixels or DPR. */
@media (min-width:1400px) and (max-width:1799px){:root{--sidebar-width:220px;--space-4:20px;--space-5:24px}.app-sidebar{gap:12px;padding:14px 11px}.sidebar-nav{gap:10px}.nav-item{min-height:36px;padding:6px 9px}main{padding:var(--space-5)}.page-header{min-height:54px;margin-bottom:18px}.kpi-grid,.dashboard-action-grid{gap:12px}.card,.panel{padding:14px}th{padding-block:8px}td{padding-block:9px}}
@media (min-width:1100px) and (max-width:1399px){:root{--sidebar-width:204px;--space-3:12px;--space-4:16px;--space-5:20px}.app-sidebar{gap:10px;padding:12px 10px}.sidebar-nav{gap:8px}.nav-item{min-height:35px;gap:8px;padding:6px 8px}.brand-mark{width:34px;height:34px;flex-basis:34px}main{padding:var(--space-5)}.page-header{min-height:50px;gap:14px;margin-bottom:14px}.page-header h1{font-size:24px}.kpi-grid,.dashboard-action-grid{gap:10px}.card,.panel{padding:12px}.filters,.toolbar,.reviews-toolbar{gap:6px}th{padding:7px 9px}td{padding:8px 9px}.documents-table-wrap{max-width:100%;overflow-x:auto;overflow-y:hidden}.documents-table{min-width:1120px}}
/* RRHH */
.hr-shell{display:grid;gap:16px}.hr-tabs{display:flex;gap:7px;overflow:auto;padding:5px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.hr-tabs a{padding:9px 12px;border-radius:10px;color:var(--text-muted);white-space:nowrap;text-decoration:none}.hr-tabs a.is-active{background:rgba(242,143,44,.14);color:var(--primary);font-weight:750}.hr-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.hr-kpis article{display:grid;gap:8px;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.hr-kpis span{color:var(--text-muted)}.hr-kpis strong{font-size:30px}.hr-grid,.hr-sync-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.hr-sync-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.hr-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.hr-row small{grid-column:1/-1;color:var(--text-muted)}.hr-sync-cards article header{display:flex;justify-content:space-between;align-items:center}.hr-sync-cards dl,.hr-shell dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hr-sync-cards dd,.hr-shell dd{margin:0;text-align:right}.muted{color:var(--text-muted)}@media(max-width:850px){.hr-kpis,.hr-grid,.hr-sync-cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.hr-kpis,.hr-grid,.hr-sync-cards{grid-template-columns:1fr}}
.commercial-evidence-lines{display:grid;gap:14px;margin:14px 0 20px}.commercial-evidence-line{border:1px solid var(--border);border-left:4px solid #d99b2b;border-radius:12px;padding:16px;background:var(--surface-raised);color:var(--text)}.commercial-evidence-line.ambiguous{border-left-color:#8b6fc0}.commercial-evidence-line header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.commercial-evidence-line .source-evidence,.evidence-reason{color:var(--text-muted);font-size:.9rem}.commercial-evidence-line .line-primary-fields,.unresolved-charges form{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;align-items:end}.commercial-evidence-line label,.unresolved-charges label{display:grid;gap:5px}.known-commercial-value{display:grid;gap:5px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.known-commercial-value span{color:var(--text-muted);font-size:.82rem}.ocr-candidates{margin:10px 0;padding:10px;border-radius:8px;background:var(--surface)}.ocr-candidates pre{white-space:pre-wrap}.unresolved-charges{margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:12px}.unresolved-charges article{padding:12px 0;border-top:1px solid var(--border)}.unresolved-charges article:first-of-type{border-top:0}@media(max-width:720px){.commercial-evidence-line header{align-items:flex-start;flex-direction:column}}
.dashboard-attention-breakdown a{display:flex;align-items:baseline;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);text-decoration:none}.dashboard-attention-breakdown a:hover{background:var(--surface-hover)}
.catalog-document-summary,.catalog-summary-strip{display:flex;align-items:center;justify-content:space-between;gap:14px}.catalog-document-summary>div{display:grid;gap:3px}.catalog-document-summary span,.catalog-document-summary small{color:var(--text-muted)}.catalog-progress{min-width:240px}.catalog-progress progress{width:100%;accent-color:var(--success)}.catalog-summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0}.catalog-summary-strip>div{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised)}.catalog-summary-strip strong{font-size:22px}.catalog-summary-strip span{color:var(--text-muted);font-size:11px}.catalog-summary-strip .needs-action{border-left:4px solid var(--warning)}.catalog-resolved-lines{margin:12px 0;padding:12px;border:1px solid var(--border);border-radius:var(--radius-md)}.catalog-resolved-lines summary{cursor:pointer;font-weight:700}.catalog-resolved-lines summary span{float:right;color:var(--primary);font-weight:500}
@media(max-width:760px){.catalog-document-summary{align-items:flex-start;flex-direction:column}.catalog-progress{width:100%;min-width:0}.catalog-summary-strip{grid-template-columns:1fr 1fr}}
