#processes-view { min-width: 0; container-type: inline-size; }
.invoice-page-heading { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 18px; margin-bottom: 24px; }
.invoice-page-heading h1 { margin: 6px 0 8px; }
.invoice-page-heading p { margin: 0; }
.invoice-page-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
#invoices-state { min-height:1.4em; margin:8px 0; }
#invoices-retry { position:relative; }
.invoice-action-queue { margin:0 0 18px;padding:14px 16px 0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface); }
.invoice-actions-heading { display:flex;align-items:center;gap:10px;margin-bottom:10px; }.invoice-actions-heading h2 { display:flex;align-items:center;gap:10px;margin:0;font-size:1rem; }.invoice-actions-heading h2::before { content:'';width:3px;height:18px;border-radius:3px;background:var(--accent); }.invoice-actions-heading .invoice-column-count { margin-left:auto; }
.invoice-actions-bulk { display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0 12px;border-bottom:1px solid var(--border); }.invoice-bulk-page { display:flex;align-items:center;gap:6px;margin:0;font-size:.78rem;white-space:nowrap; }
html:root .invoice-actions-bulk :is(button,select) { width:auto;max-width:100%;min-height:36px;margin:0;padding:6px 9px;font-size:.78rem; }.invoice-actions-bulk [role=status] { margin-left:auto;white-space:nowrap; }
#invoice-actions-list { max-height:560px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable; }
.invoice-action-row { display:grid;grid-template-columns:24px minmax(0,1fr) 120px 340px;gap:10px 14px;align-items:center;padding:12px 0; }.invoice-action-row + .invoice-action-row { border-top:1px solid var(--border); }
html:root .invoice-action-select { width:18px;height:18px;min-height:18px;margin:4px 0 0;align-self:start; }.invoice-action-info { min-width:0; }
html:root[data-theme] .invoice-action-title { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;width:100%;padding:0;min-height:0;border:0;background:transparent;color:var(--accent);text-align:left;font-size:.87rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere; }
.invoice-action-info p { margin:3px 0 0;font-size:.76rem;overflow-wrap:anywhere;line-height:1.4; }.invoice-action-amount { font-size:.88rem;line-height:1.4;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums; }
.invoice-action-route-details { margin-top:4px; }.invoice-action-route-details summary { width:fit-content;max-width:100%;font-size:.74rem;color:var(--text-secondary);cursor:pointer;line-height:1.5; }
.invoice-action-route { display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:8px 0 0;margin:0;list-style:none; }.invoice-action-route li { position:relative;flex:0 0 36px;display:grid;gap:4px;align-content:center; }
.invoice-action-route li:not(:last-child)::after { content:'›';position:absolute;top:50%;right:-9px;transform:translateY(-50%);color:var(--text-secondary); }
html:root[data-theme] .invoice-action-person { display:grid;place-items:center;width:36px;height:36px;min-height:36px;padding:1px;margin:0;border:2px solid transparent;border-radius:50%;background:transparent;box-shadow:none;color:var(--accent); }
html:root .invoice-action-person .person-avatar { width:28px;height:28px;flex:none;font-size:.75rem; }html:root .invoice-action-person .person-avatar img { width:100%;height:100%;object-fit:cover; }
html:root[data-theme] .invoice-action-current .invoice-action-person { border-color:var(--accent);background:var(--accent-soft); }html:root[data-theme] .invoice-action-person:is(:hover,:focus-visible) { background:var(--accent-soft); }html:root[data-theme] .invoice-action-person:focus-visible { outline:2px solid var(--accent);outline-offset:2px; }
html:root .invoice-action-unassigned { border:1px dashed var(--border);background:transparent; }.invoice-action-unassigned .ui-icon { width:18px;height:18px; }
.invoice-action-next { min-width:0; }.invoice-action-buttons { display:grid;grid-template-columns:100px 76px minmax(0,1fr);max-width:340px;align-items:center;gap:6px; }
.invoice-action-buttons:has(> button:only-child) { display:flex; }
.invoice-action-buttons [data-queue-action="revise"] { grid-column:3; }
html:root[data-theme] .invoice-action-buttons button { min-height:36px;margin:0;font-size:.76rem;line-height:1.35;padding:6px 9px;text-align:center; }
.invoice-actions-pagination { display:flex;justify-content:center;align-items:center;gap:14px;padding:10px 0; }html:root .invoice-actions-pagination button { min-height:36px; }
.invoice-batch-dialog { width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--text-primary);overflow:hidden; }.invoice-batch-dialog[open] { display:flex;flex-direction:column; }
.invoice-batch-dialog > header { flex:none;padding:14px 18px;margin:0;border-bottom:1px solid var(--border); }.invoice-batch-dialog h2 { margin:0;font-size:1rem; }.invoice-batch-body { overflow:auto;min-height:0;padding:0 18px; }
.invoice-batch-table { width:100%;border-collapse:collapse;font-size:.8rem; }.invoice-batch-table th,.invoice-batch-table td { padding:10px 8px;text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere; }.invoice-batch-table th { position:sticky;top:0;background:var(--surface);color:var(--text-secondary);font-weight:500; }.invoice-batch-table small { display:block;margin-top:3px;color:var(--text-secondary); }.invoice-batch-table :is(th,td):last-child { text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums; }
.invoice-batch-table :is(th,td):nth-child(3) { overflow-wrap:normal; }
.invoice-batch-footer { display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:14px 18px;border-top:1px solid var(--border);flex:none; }.invoice-batch-footer strong { margin-right:auto;font-size:.88rem; }.invoice-batch-status { width:100%;margin:0; }.invoice-batch-status:empty { display:none; }
@container (max-width:1000px) { .invoice-action-row { grid-template-columns:24px minmax(0,1fr) auto; }.invoice-action-next { grid-column:2/-1; }.invoice-action-buttons { justify-content:flex-start; } }
@container (max-width:520px) { .invoice-action-queue { padding:12px 10px 0; }.invoice-action-row { grid-template-columns:24px minmax(0,1fr);gap:6px 8px; }.invoice-action-amount { grid-column:2;text-align:left;font-size:.85rem; }.invoice-actions-bulk [role=status] { margin-left:0; }.invoice-actions-bulk { gap:6px; }.invoice-actions-heading h2 { font-size:.92rem; }.invoice-action-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }.invoice-action-buttons [data-queue-action="revise"] { grid-column:1/-1; } }
@media(max-width:700px),(pointer:coarse) { html:root .invoice-actions-bulk :is(button,select),html:root[data-theme] .invoice-action-buttons button,html:root .invoice-actions-pagination button { min-height:44px; }.invoice-bulk-page { min-height:44px; }html:root .invoice-action-select { width:24px;height:44px;min-height:44px;margin-top:0; }.invoice-action-route-details summary { min-height:32px;display:flex;align-items:center; }html:root[data-theme] .invoice-action-person { width:44px;height:44px;min-height:44px; }.invoice-action-route li { flex-basis:44px; }.invoice-batch-body { padding:0 10px; }.invoice-batch-table { font-size:.74rem; }.invoice-batch-table :is(th,td) { padding:8px 4px; }.invoice-batch-footer { padding:10px; }.invoice-batch-footer strong { flex-basis:100%; } }
.invoice-table-wrap { overflow: auto; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--surface); }
@media(max-width:600px) {
 .invoice-batch-table thead { display:none; }.invoice-batch-table,.invoice-batch-table tbody { display:block; }
 .invoice-batch-table tr { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px 0;border-bottom:1px solid var(--border); }
 .invoice-batch-table td { display:block;min-width:0;padding:0;border:0; }.invoice-batch-table td:first-child { grid-column:1/-1; }
 .invoice-batch-table td:nth-child(2),.invoice-batch-table td:nth-child(3) { grid-column:1;color:var(--text-secondary); }
 .invoice-batch-table td:last-child { grid-column:2;grid-row:2/4;align-self:center; }
}
.invoice-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.invoice-table th { color: var(--text-secondary); font-weight: 500; text-align: left; padding: 16px; border-bottom: 1px solid var(--border); }
.invoice-table td { padding: 18px 16px; border-bottom: 1px solid var(--border); vertical-align: top; }
.invoice-table tr:last-child td { border-bottom: 0; }
.invoice-table tbody tr:hover { background: var(--surface-hover); }
.invoice-table .invoice-open { text-align: left; color: var(--accent); border: 0; padding: 0; background: transparent; font-weight: 600; max-width: 330px; overflow-wrap: anywhere; }
.invoice-table small { display: block; margin-top: 6px; color: var(--text-secondary); }
.invoice-amount { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 650; }
.invoice-pagination { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; justify-content: flex-end; margin-top: 18px; }
.invoice-pagination label { display: flex; align-items: center; gap: 10px; margin: 0; }
.invoice-pagination select { width: auto; }
.invoice-empty { padding: 60px 24px; text-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-card); }
#invoice-dialog { width: min(1400px,calc(100vw - 40px)); max-height: calc(100dvh - 40px); padding: 0; }
#invoice-dialog > .employee-dialog-head { padding: 16px 22px; margin: 0; border-bottom: 1px solid var(--border); }
#invoice-form { overflow: auto; min-height: 0; scroll-padding-bottom: 95px; }
.invoice-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,1fr); }
.invoice-main,.invoice-side { padding: 22px 28px; min-width: 0; }
.invoice-side { background: var(--accent-soft); border-left: 1px solid var(--border); }
.invoice-side h3 { margin-top: 0; }
.invoice-responsible { display:grid; gap:8px; margin:12px 0 18px; }
.invoice-responsible-label { font-size:.88rem; font-weight:600; }
html:root #invoice-responsible-name .profile-person-link { min-height:44px; max-width:100%; color:var(--accent); font-weight:600; }
#invoice-responsible-name .person-avatar { width:32px; height:32px; flex:none; }
#invoice-responsible-name .person-label > span:last-child { min-width:0; }
#invoice-form label { display: grid; gap: 8px; margin: 0 0 18px; font-size: .88rem; }
#invoice-form :is(input,textarea,select) { width: 100%; min-width: 0; }
#invoice-form textarea { padding: 12px; resize: vertical; }
.invoice-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.invoice-catalog-line { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.invoice-catalog-line button { font-size: .8rem; flex-shrink: 0; }
.invoice-drop { border: 1px dashed var(--border-strong); border-radius: var(--radius-lg); padding: 24px 18px; text-align: center; display: grid; justify-items: center; gap: 12px; background: var(--surface); transition: background-color .2s,border-color .2s; }
.invoice-drop p { margin: 0; color: var(--text-secondary); line-height: 1.6; font-size: .88rem; }
.invoice-document-icon { font-size: 2rem; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 18px; background: var(--accent-soft); color: var(--accent); }
#invoice-form .invoice-file-label { cursor: pointer; display: inline-flex; padding: 11px 18px; border: 1px solid var(--border-strong); border-radius: var(--radius-md); margin: 0; color: var(--accent); }
#invoice-file { font-size: .8rem; }
#invoice-dialog.invoice-dragging .invoice-drop { background: var(--accent-soft); border-color: var(--accent); }
.invoice-file-info { overflow-wrap: anywhere; margin-top: 14px; font-size: .85rem; }
.invoice-privacy { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--border); font-size: .85rem; }
.invoice-actions { position: sticky; bottom: 0; padding: 18px 28px; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; background: var(--surface); border-top: 1px solid var(--border); z-index: 2; }
#invoice-detail { overflow: auto; padding: 18px 22px; min-height: 0; overscroll-behavior:contain; }
#invoice-decision-panel { flex:0 0 auto; padding:10px 22px 14px; border-top:1px solid var(--border); background:var(--surface); max-height:45dvh; overflow:auto; }
#invoice-decision-panel > p { margin:0 0 8px; }
#invoice-decision-panel .invoice-decision-box { padding:0; margin:0; border:0; background:transparent; }
#invoice-decision-panel summary { cursor:pointer; color:var(--accent); font-size:.82rem; padding:6px 0; }
#invoice-decision-panel textarea { margin-top:8px; max-height:100px; }
#invoice-decision-panel .invoice-decision-buttons { margin-top:8px; }
html:root #invoice-decision-panel .invoice-decision-buttons > button { min-height:40px; padding:8px 14px; font-size:.85rem; }
html:root #invoice-decision-panel .invoice-delete-actions > button { min-height:40px; padding:8px 14px; font-size:.85rem; }
@media(min-width:901px) {
  #invoice-decision-panel { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; }
  #invoice-decision-panel .invoice-decision-box { flex:1; min-width:0; }
  #invoice-decision-panel .invoice-delete-actions { margin:0; flex:0 0 auto; }
  #invoice-decision-panel > p { align-self:center; }
  #invoice-decision-panel .invoice-delete-confirmation { flex:1; min-width:0; }
}
@media(max-width:650px){#invoice-decision-panel {padding:12px 16px;}#invoice-decision-panel .invoice-decision-buttons {gap:8px;}#invoice-decision-panel button {flex:1 1 auto;}}
.invoice-overview { display:grid; gap:14px; align-content:start; min-width:0; }
.invoice-summary { padding:16px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); min-width:0; }
.invoice-summary-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px 16px; }
.invoice-summary-head .invoice-summary-title { flex:1 1 240px; min-width:0; margin:0; font-size:1.05rem; font-weight:650; line-height:1.45; overflow-wrap:anywhere; white-space:pre-wrap; }
.invoice-detail-amount { font-size:clamp(1.35rem,2vw,1.75rem); color:var(--accent); margin:0; line-height:1.3; font-weight:650; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.invoice-details-grid { display:grid; grid-template-columns:1fr; gap:0; margin:14px 0 0; }
.invoice-details-grid div { display:grid; grid-template-columns:minmax(100px,.55fr) minmax(0,1fr); gap:12px; min-width:0; padding:8px 0; border-bottom:1px solid var(--border); }
.invoice-details-grid div:last-child { border-bottom:0; }
.invoice-details-grid dt { color:var(--text-secondary); font-size:.78rem; line-height:1.5; margin:0; }
.invoice-details-grid dd { margin:0; font-size:.88rem; line-height:1.5; overflow-wrap:anywhere; white-space:pre-wrap; }
.invoice-stage-owner { margin:8px 0 12px; font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.invoice-file-link { display:block; padding:8px 10px; border-radius:var(--radius-md); background:var(--accent-soft); font-size:.82rem; line-height:1.5; overflow-wrap:anywhere; }
#invoice-feedback { margin: 0; padding: 12px 28px; }
.invoice-filters { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; padding:18px; border:1px solid var(--border); border-radius:var(--radius-card); background:var(--surface); }
.invoice-filters label { display:grid; gap:7px; margin:0; flex:1 1 150px; font-size:.78rem; min-width:0; }
.invoice-filters .invoice-search { flex:2 1 250px; }
.invoice-filters :is(input,select) { width:100%; min-width:0; }
.invoice-filters .invoice-filter-carryover { display:flex; align-items:center; gap:8px; flex:1 1 100%; min-height:32px; line-height:1.4; cursor:pointer; }
.invoice-filters .invoice-filter-carryover input { width:18px; height:18px; padding:0; margin:0; flex:none; }
.invoice-board-caption { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:18px 0 12px; }
.invoice-board { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:auto auto minmax(96px,1fr);gap:0 8px;padding:2px 2px 8px;align-items:stretch;min-width:0;max-width:100%; }
.invoice-column { display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;min-width:0;background:color-mix(in srgb,var(--surface) 54%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-lg);padding:10px;-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08);box-shadow:inset 0 1px 0 color-mix(in srgb,var(--surface) 70%,transparent);transition:background-color .2s,border-color .2s; }
.invoice-column-head { display:flex;align-items:flex-start;gap:6px;min-height:42px; }
html:root .invoice-column-head h2 { font-size:.8rem;margin:0;flex:1;min-width:0;overflow-wrap:break-word;line-height:1.35;letter-spacing:0; }
.invoice-column-count { border:1px solid var(--border); border-radius:20px; min-width:25px; padding:3px 7px; font-size:.75rem; text-align:center; }
.invoice-column-head .invoice-column-count { flex:none;min-width:22px;padding:2px 6px;font-size:.7rem;line-height:1.3; }
html:root .invoice-stage-settings { display:grid; place-items:center; color:var(--text-secondary); background:transparent; border:0; min-width:32px; min-height:32px; padding:4px; font-size:1.2rem; }
.invoice-column-total { padding:6px 0 8px;margin-bottom:8px;border-bottom:1px solid var(--border);font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums; }
.invoice-column-cards { min-height:76px;max-height:min(480px,55dvh);overflow-y:auto;padding:1px 1px 2px;scrollbar-width:thin;overscroll-behavior-y:contain; }
.invoice-column-empty { color:var(--text-secondary); font-size:.8rem; padding:36px 12px; text-align:center; }
html:root[data-theme] #invoices-list .invoice-column-empty { min-height:64px;padding:14px 4px;justify-content:center;font-size:.75rem;line-height:1.4; }
html:root[data-theme] #invoices-list .invoice-column-empty::before { display:none; }
.invoice-board-card { display:grid;gap:6px;padding:9px;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 74%,transparent);box-shadow:var(--shadow-card);margin-bottom:8px;overflow-wrap:anywhere; }
.invoice-board-card[draggable="true"] { cursor:grab; }
.invoice-board-card[draggable="true"]:active { cursor:grabbing; }
.invoice-board-card[data-state="revision"] { border-color:var(--accent); }
html:root .invoice-board-card .invoice-open { display:block;padding:0;margin:0;background:transparent;border:0;color:var(--text-primary);text-align:left;font-weight:650;line-height:1.4;font-size:.82rem; }
html:root .invoice-board-card .invoice-open { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; width:100%; }
.invoice-card-amount { font-size:.9rem;font-variant-numeric:tabular-nums;color:var(--accent);line-height:1.4; }
.invoice-card-counterparty { margin:0;font-size:.74rem;line-height:1.4;color:var(--text-secondary);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
@container (max-width:1000px) {
  .invoice-column { padding:8px; }
  html:root .invoice-column-head h2 { font-size:.76rem; }
  .invoice-column-total { font-size:.74rem; }
  .invoice-board-card { padding:7px; }
  .invoice-card-amount { font-size:.8rem; }
}
@container (max-width:700px) {
  .invoice-board { grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:10px; }
  .invoice-column { grid-row:auto;grid-template-rows:auto auto auto;padding:10px; }
  .invoice-column-head { min-height:0;align-items:center; }
  html:root .invoice-column-head h2 { font-size:.84rem; }
  .invoice-column-total { padding:4px 0 6px;margin-bottom:6px; }
  .invoice-column-cards { min-height:0;max-height:none;overflow:visible; }
  html:root[data-theme] #invoices-list .invoice-column-empty { min-height:0;padding:8px 0; }
  .invoice-board-card { padding:9px; }
  .invoice-card-amount { font-size:.9rem; }
}
.invoice-column-drop { background:var(--accent-soft); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.invoice-card-dragging { opacity:.4; }
.invoice-archive { min-width:0;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 54%,transparent);-webkit-backdrop-filter:blur(12px) saturate(1.08);backdrop-filter:blur(12px) saturate(1.08); }
.invoice-archive > summary { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:18px; cursor:pointer; list-style:none; border-radius:inherit; }
.invoice-archive > summary::-webkit-details-marker { display:none; }
.invoice-archive > summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.invoice-archive-title { font-weight:650; }
.invoice-archive-chevron { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(-45deg); transition:transform var(--motion-reveal) var(--motion-ease); }
.invoice-archive[open] .invoice-archive-chevron { transform:rotate(45deg); }
.invoice-archive-total { margin-left:auto; color:var(--text-secondary); font-size:.85rem; font-variant-numeric:tabular-nums; }
.invoice-archive-content { padding:0 18px 18px; }
.invoice-archive-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr)); gap:12px; align-items:start; }
.invoice-archive-list .invoice-board-card { min-width:0; margin:0; }
.invoice-archive-list .invoice-column-empty { grid-column:1/-1; margin:0; }
.invoice-archive .personal-list-pagination { margin-bottom:0; }
@media (prefers-reduced-motion:reduce) { .invoice-archive-chevron { transition:none; } }
.invoice-detail-stage { padding:7px 10px; border:1px solid var(--border); border-radius:var(--radius-md); background:var(--accent-soft); color:var(--accent); margin-bottom:12px; font-size:.82rem; line-height:1.5; }
.invoice-decision-box { padding:18px; margin:20px 0; background:var(--accent-soft); border:1px solid var(--border); border-radius:var(--radius-lg); }
.invoice-decision-box textarea { width:100%; padding:12px; resize:vertical; }
.invoice-decision-buttons { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
.invoice-delete-actions { display:flex; justify-content:flex-end; margin-top:10px; }
.invoice-delete-confirmation p { margin:8px 0; }
html:root #invoice-dialog button.danger { color:var(--theme-danger); background:var(--theme-danger-bg); border:1px solid var(--theme-danger); }
html:root #invoice-dialog button.danger:hover { color:var(--theme-danger); background:var(--theme-danger-bg); filter:brightness(.96); }
.invoice-admin-move { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:12px 16px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); }
.invoice-admin-move p { flex:1 1 100%; margin:0; font-size:.76rem; line-height:1.5; }
.invoice-admin-move select { flex:1 1 180px; min-width:0; max-width:100%; }
html:root .invoice-admin-move :is(button,select) { min-height:38px; padding:7px 10px; font-size:.82rem; }
.invoice-history { border:1px solid var(--border); border-radius:var(--radius-lg); margin:0; padding:16px; background:var(--surface); min-width:0; }
.invoice-history ol { list-style:none; padding:0 0 0 10px; margin:0; }
.invoice-history li { position:relative; padding:0 0 14px 20px; border-left:1px solid var(--border); font-size:.8rem; line-height:1.5; overflow-wrap:anywhere; }
.invoice-history li::before { content:''; position:absolute; left:-5px; top:4px; width:9px; height:9px; border-radius:50%; background:var(--accent); }
.invoice-history p { margin:4px 0; }
.invoice-history blockquote { margin:8px 0 0; padding:8px 10px; background:var(--accent-soft); border-left:3px solid var(--accent); border-radius:6px; white-space:pre-wrap; overflow-wrap:anywhere; }
.invoice-detail-workspace { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:18px; align-items:start; }
.invoice-detail-workspace h3 { margin:0 0 12px; font-size:1rem; }
.invoice-history-older > ol { margin-bottom:0; }
.invoice-history-older + ol { margin-top:0; }
.invoice-history .news-text-toggle { width:100%; }
.invoice-discussion { display:grid; gap:14px; min-width:0; }
.invoice-comments { padding:16px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); min-width:0; }
.invoice-discussion-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.invoice-discussion-heading h3 { margin:0; }
html:root .invoice-discussion-refresh { padding:6px 10px; font-size:.76rem; min-height:32px; }
.invoice-comments-list { max-height:min(240px,24dvh); overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; padding-right:6px; }
.invoice-comment { display:flex; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid var(--border); animation:invoice-discussion-enter 220ms ease both; }
.invoice-comment:first-child { padding-top:0; }
.invoice-comment .person-avatar { width:32px; height:32px; flex:0 0 32px; }
.invoice-comment-content { flex:1; min-width:0; }
.invoice-comment-head { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 12px; }
.invoice-comment-head strong { font-size:.85rem; overflow-wrap:anywhere; }
.invoice-comment-head time { font-size:.75rem; }
.invoice-comment-body { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.88rem; line-height:1.5; }
.invoice-comment-kind { display:inline-block; margin-top:6px; font-size:.73rem; color:var(--accent); background:var(--accent-soft); padding:3px 8px; border-radius:8px; }
.invoice-comment-form,.invoice-closing-form { display:grid; gap:8px; margin-top:12px; }
.invoice-discussion :is(label,select,textarea) { min-width:0; width:100%; font-size:.85rem; }
.invoice-discussion label { margin:0; }
.invoice-discussion textarea { padding:10px; resize:vertical; min-height:72px; max-height:170px; }
.invoice-discussion form > button { justify-self:start; margin:0; }
html:root .invoice-discussion :is(form > button,.invoice-check-closing) { min-height:40px; padding:8px 14px; font-size:.85rem; }
.invoice-discussion-status { margin:0; overflow-wrap:anywhere; }
.invoice-discussion-status:empty { display:none; }
.invoice-closing { padding:16px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface-active); min-width:0; }
.invoice-closing-state { display:block; font-size:.88rem; }
.invoice-closing-note { margin:0 0 10px; }
.invoice-closing .content-document { overflow-wrap:anywhere; }
.invoice-closing .image-thumbnail img { height:100px; }
.invoice-closing .image-gallery { grid-template-columns:repeat(auto-fit,minmax(95px,1fr)); }
.invoice-closing .image-gallery-single img { height:150px; }
.invoice-closing-upload { min-width:0; }
html:root .invoice-closing-upload .file-upload-panel { padding:12px; }
html:root .invoice-closing-upload .attachment-cards { gap:10px; padding-bottom:12px; margin-bottom:12px; }
html:root .invoice-closing-upload .pending-image.attachment-card { width:112px; height:116px; }
html:root .invoice-closing-upload .attachment-upload-actions { grid-template-columns:112px minmax(0,1fr); gap:12px; }
html:root .invoice-closing-upload .attachment-upload-tile { width:112px; height:104px; gap:10px; }
html:root .invoice-closing-upload .attachment-drop-zone { padding:10px; line-height:1.45; overflow-wrap:anywhere; }
.invoice-closing-accepted { color:var(--theme-success,var(--accent)); font-size:.83rem; }
.invoice-closing-previous { margin:16px 0; font-size:.8rem; }
.invoice-closing-previous summary { cursor:pointer; color:var(--accent); }
.invoice-closing-previous-group { padding:10px 0; border-bottom:1px solid var(--border); }
.invoice-detail-stage > span { display:block; margin-top:4px; font-size:.8rem; }
html:root .invoice-board-card[data-paid="true"] { background:color-mix(in srgb,var(--theme-success-bg,#eaf5ec) 78%,transparent);border-color:var(--theme-success,#3e8355); }
.invoice-detail-paid { background:var(--theme-success-bg,#eaf5ec);border-color:var(--theme-success,#3e8355); }
html:root .invoice-board-card[data-paid="true"] :is(.invoice-open,.invoice-card-amount),.invoice-paid-label,.invoice-detail-paid { color:var(--theme-success,#3e8355); }
.invoice-paid-label { font-size:.74rem; line-height:1.45; }
@keyframes invoice-discussion-enter { from { opacity:.72; } to { opacity:1; } }
@media(max-width:900px) { .invoice-detail-workspace { grid-template-columns:1fr; gap:14px; } }
@media(max-width:650px) { .invoice-summary,.invoice-history,.invoice-comments,.invoice-closing { padding:12px; } .invoice-admin-move { padding:12px; } .invoice-discussion form > button { width:100%; } }
@media(max-width:650px) { html:root .invoice-closing-upload .attachment-upload-actions { grid-template-columns:96px minmax(0,1fr); gap:10px; } html:root .invoice-closing-upload .attachment-upload-tile { width:96px; } html:root .invoice-closing-upload .attachment-drop-zone { padding:8px; } }
@media(prefers-reduced-motion:reduce) { .invoice-comment { animation:none; } }
#invoice-route-dialog { width:min(1150px,calc(100vw - 40px)); max-height:calc(100dvh - 40px); padding:0; }
#invoice-route-dialog > .employee-dialog-head { padding:20px 28px; margin:0; border-bottom:1px solid var(--border); }
#invoice-route-form { overflow:auto; min-height:0; }
#invoice-expense-form { overflow:auto; min-height:0; }
.invoice-settings-tabs { display:flex; gap:8px; flex-wrap:wrap; padding:14px 28px; border-bottom:1px solid var(--border); }
html:root .invoice-settings-tabs .is-active { background:var(--accent); color:var(--on-accent,#fff); border-color:var(--accent); }
.invoice-expense-toolbar { display:flex; align-items:flex-end; flex-wrap:wrap; gap:12px; }
.invoice-expense-toolbar label { display:grid; gap:8px; flex:1 1 240px; margin:0; }
.invoice-expense-toolbar input { width:100%; min-width:0; }
.invoice-expense-table { width:100%; table-layout:fixed; border-collapse:collapse; }
.invoice-expense-table th,.invoice-expense-table td { padding:12px; border-bottom:1px solid var(--border); vertical-align:middle; overflow-wrap:anywhere; }
.invoice-expense-table th { background:var(--accent-soft); text-align:left; }
.invoice-expense-table th:last-child { width:112px; text-align:center; }
.invoice-expense-table td:last-child { text-align:center; }
.invoice-expense-table input[type=text] { width:100%; min-width:0; }
.invoice-expense-table input[type=checkbox] { width:22px; height:22px; margin:0; vertical-align:middle; }
.invoice-expense-toggle { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; margin:0; cursor:pointer; }
@media(max-width:640px){
  .invoice-settings-tabs { padding:12px 16px; }
  #invoice-expense-form .invoice-route-content { padding:16px; }
  .invoice-expense-table,.invoice-expense-table tbody,.invoice-expense-table tr,.invoice-expense-table td { display:block; width:100%; }
  .invoice-expense-table thead { display:none; }
  .invoice-expense-table tr { padding:12px 0; border-bottom:1px solid var(--border); }
  .invoice-expense-table td { display:grid; gap:6px; padding:6px 0; border:0; }
  .invoice-expense-table td::before { content:attr(data-label); color:var(--text-secondary); font-size:.8rem; }
  .invoice-expense-table td:last-child { display:flex; align-items:center; justify-content:space-between; text-align:left; min-height:44px; }
}
#invoice-route-form label { display:grid; gap:8px; margin-bottom:20px; }
#invoice-route-form select { width:100%; }
.invoice-route-step { display:grid; gap:6px; padding:12px 0; border-bottom:1px solid var(--border); font-size:.84rem; }
.invoice-route-content { padding:24px 28px; }
.invoice-route-intro { display:grid; grid-template-columns:minmax(240px,1fr) 1fr; align-items:center; gap:28px; }
#invoice-route-form .invoice-route-intro label { margin:0; }
.invoice-route-intro p { font-size:.88rem; line-height:1.6; }
#invoice-route-stages { margin-top:20px; }
.invoice-route-row { display:grid; grid-template-columns:34px minmax(0,1fr) minmax(260px,1fr); align-items:center; gap:16px; padding:15px 0; border-top:1px solid var(--border); }
.invoice-route-number { width:30px; height:30px; display:grid; place-items:center; background:var(--accent-soft); color:var(--accent); border-radius:10px; font-size:.8rem; }
#invoice-route-form .invoice-route-row label { margin:0; gap:5px; font-size:.9rem; }
.invoice-route-row small { font-weight:400; font-size:.76rem; }
.invoice-route-note { line-height:1.6; padding-top:14px; border-top:1px solid var(--border); margin-bottom:0; }
@media(max-width:760px) {
  .invoice-route-content { padding:18px; }
  .invoice-route-intro { grid-template-columns:1fr; gap:6px; }
  .invoice-route-row { grid-template-columns:30px minmax(0,1fr); gap:10px; }
  .invoice-route-row select { grid-column:2; min-width:0; }
  .invoice-filters { gap:10px; padding:14px; }
  .invoice-filters label { flex-basis:140px; }
  #invoice-route-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); }
  #invoice-route-dialog > .employee-dialog-head { padding:14px 16px; }
}
@media(max-width:760px) {
  #invoice-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  #invoice-dialog > .employee-dialog-head { padding: 14px 16px; }
  .invoice-layout,.invoice-details-grid { grid-template-columns: 1fr; }
  .invoice-side { border-left: 0; border-top: 1px solid var(--border); }
  .invoice-main,.invoice-side { padding: 18px; }
  #invoice-detail { padding:14px; }
  .invoice-actions { padding: 14px 18px; }
  .invoice-table-wrap { border: 0; background: transparent; }
  .invoice-table thead { display: none; }
  .invoice-table,.invoice-table tbody { display: block; }
  .invoice-table tr { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-card); padding: 18px; margin-bottom: 12px; }
  .invoice-table td { display: block; padding: 0; border: 0; min-width: 0; overflow-wrap: anywhere; }
  .invoice-table td:first-child { grid-column: 1 / -1; }
  .invoice-table td::before { content: attr(data-label); display: block; color: var(--text-secondary); font-size: .74rem; margin-bottom: 5px; }
  .invoice-table td:first-child::before { display: none; }
  .invoice-pagination { justify-content: flex-start; }
}
