:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#fafafa;--surface:#fff;--border:#e2e2e2;--text:#1a1a1a;--text-dim:#666;--accent:#2d6a4f;--accent-dim:#e8f5ee;--badge-21-bg:#e8f5ee;--badge-21-fg:#1b4332;--badge-novat-bg:#eef0f2;--badge-novat-fg:#495057;--badge-rc-bg:#fff4e0;--badge-rc-fg:#8a5a00;--badge-car-bg:#eee5ff;--badge-car-fg:#4a2f8f;--badge-proposed-bg:#e7f0ff;--badge-proposed-fg:#1c4c96;--badge-bankonly-bg:#eef2f7;--badge-bankonly-fg:#3a5068;--badge-needsreview-bg:#ffe8e6;--badge-needsreview-fg:#a13327;--badge-partial-bg:#fff9e0;--badge-partial-fg:#8a6d00;--in-fg:#1b7a43;--out-fg:#b3261e;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14161a;--surface:#1c1f24;--border:#33383f;--text:#eaeaea;--text-dim:#9aa0a6;--accent:#5fb98d;--accent-dim:#1e332a;--badge-21-bg:#1e332a;--badge-21-fg:#8fd6ae;--badge-novat-bg:#2a2e33;--badge-novat-fg:#c2c7cc;--badge-rc-bg:#3a2e12;--badge-rc-fg:#e0b45c;--badge-car-bg:#2a2140;--badge-car-fg:#c3aef0;--badge-proposed-bg:#1c2b40;--badge-proposed-fg:#7fb0f0;--badge-bankonly-bg:#232a33;--badge-bankonly-fg:#9db4c9;--badge-needsreview-bg:#3a1f1c;--badge-needsreview-fg:#f0968a;--badge-partial-bg:#3a3212;--badge-partial-fg:#e0cc5c;--in-fg:#6fce97;--out-fg:#f28b82}}:root[data-theme=light]{--bg:#fafafa;--surface:#fff;--border:#e2e2e2;--text:#1a1a1a;--text-dim:#666;--accent:#2d6a4f;--accent-dim:#e8f5ee;--badge-21-bg:#e8f5ee;--badge-21-fg:#1b4332;--badge-novat-bg:#eef0f2;--badge-novat-fg:#495057;--badge-rc-bg:#fff4e0;--badge-rc-fg:#8a5a00;--badge-car-bg:#eee5ff;--badge-car-fg:#4a2f8f;--badge-proposed-bg:#e7f0ff;--badge-proposed-fg:#1c4c96;--badge-bankonly-bg:#eef2f7;--badge-bankonly-fg:#3a5068;--badge-needsreview-bg:#ffe8e6;--badge-needsreview-fg:#a13327;--badge-partial-bg:#fff9e0;--badge-partial-fg:#8a6d00;--in-fg:#1b7a43;--out-fg:#b3261e}:root[data-theme=dark]{--bg:#14161a;--surface:#1c1f24;--border:#33383f;--text:#eaeaea;--text-dim:#9aa0a6;--accent:#5fb98d;--accent-dim:#1e332a;--badge-21-bg:#1e332a;--badge-21-fg:#8fd6ae;--badge-novat-bg:#2a2e33;--badge-novat-fg:#c2c7cc;--badge-rc-bg:#3a2e12;--badge-rc-fg:#e0b45c;--badge-car-bg:#2a2140;--badge-car-fg:#c3aef0;--badge-proposed-bg:#1c2b40;--badge-proposed-fg:#7fb0f0;--badge-bankonly-bg:#232a33;--badge-bankonly-fg:#9db4c9;--badge-needsreview-bg:#3a1f1c;--badge-needsreview-fg:#f0968a;--badge-partial-bg:#3a3212;--badge-partial-fg:#e0cc5c;--in-fg:#6fce97;--out-fg:#f28b82}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}main{max-width:1300px;margin:0 auto;padding:0 20px 40px}.page-header{border-bottom:1px solid var(--border);background:var(--surface);padding:14px 20px 22px}.header-top{justify-content:space-between;align-items:center;display:flex}.header-brand{align-items:baseline;gap:10px;display:flex}.header-brand-btn{cursor:pointer;font:inherit;background:0 0;border:none;border-radius:6px;margin:-4px -6px;padding:4px 6px}.header-brand-btn:hover{background:var(--accent-dim)}.header-edit-icon{opacity:.6;font-size:.75em}.header-company{font-size:.95em;font-weight:600}.header-vat{color:var(--text-dim);font-size:.8em}.header-month{text-align:center;letter-spacing:.01em;margin:10px 0 0;font-size:2.3em;font-weight:700}.not-vat-registered{color:var(--text-dim);margin:0;font-size:.9em}#theme-toggle,#settings-toggle{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);text-align:center;border-radius:8px;width:42px;padding:8px 12px;font-size:1em;line-height:1}#settings-toggle[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.tools-shelf{flex-wrap:wrap;align-items:center;gap:10px;max-width:1300px;margin:0 auto;padding:14px 20px 0;display:flex}.tool-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:9px 16px;font-size:.9em;font-weight:600}.tool-btn:hover{filter:brightness(1.08)}.tool-btn:disabled,.tool-btn:disabled:hover{background:var(--surface);color:var(--text-dim);border:1px solid var(--border);opacity:.6;cursor:not-allowed;filter:none;font-weight:500}.freshness-banner{color:var(--text-dim);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding:10px 2px;font-size:.82em;display:flex}#month-switcher{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-left:auto;padding:9px 16px;font-size:1.05em;font-weight:600}.balance-strip{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:20px;padding:12px 16px;font-size:.9em;display:flex}.bal-current{align-items:baseline;gap:8px;display:flex}.bal-current-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.8em}.bal-current-value{color:var(--accent);font-size:1.2em;font-weight:700}.bal-current-asof{color:var(--text-dim);font-size:.8em}.bal-month{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.bal-month-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;margin-right:4px;font-size:.8em}.bal-item{color:var(--text-dim);align-items:baseline;gap:5px;display:flex}.bal-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.vat-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:16px}.bar-row{grid-template-columns:110px 1fr 90px;align-items:center;gap:10px;margin-bottom:8px;display:grid}.bar-row-total{font-weight:600}.bar-label{color:var(--text-dim);font-size:.85em}.bar-row-total .bar-label{color:var(--text)}.bar-track{background:var(--bg);border:1px solid var(--border);border-radius:6px;height:12px;overflow:hidden}.bar-fill{border-radius:6px 0 0 6px;height:100%}.bar-output{background:var(--in-fg)}.bar-input{background:var(--out-fg)}.bar-payable{background:var(--accent)}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.add-dialog{border:1px solid var(--border);background:var(--surface);width:min(420px,92vw);color:var(--text);border-radius:12px;padding:0}.add-dialog::backdrop{background:#0006}.add-dialog form{flex-direction:column;gap:12px;padding:20px;display:flex}.add-dialog h3{margin:0;font-size:1.1em}.add-hint{color:var(--text-dim);margin:0;font-size:.82em}.add-field{color:var(--text-dim);flex-direction:column;gap:4px;font-size:.85em;display:flex}.add-field input,.add-field select,.add-field textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:6px 8px}.add-vat-field{flex-direction:row;align-items:center;gap:8px}#add-status{min-height:1.2em;color:var(--text-dim);margin:0;font-size:.85em}.add-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.add-dialog-actions button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 14px;font-size:.9em}.btn-primary{cursor:pointer;border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-size:.9em}#add-submit,.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}#add-cancel{background:var(--surface);color:var(--text)}.kpi-note{background:var(--accent-dim);color:var(--text);border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:.85em}.transactions-summary,.transactions>p{color:var(--text-dim);margin:0 0 12px;font-size:.9em}.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:24px 0;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px}.tile-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.8em}.tile-value{margin-top:4px;font-size:1.4em;font-weight:600}.tile-hero{border-color:var(--accent);background:var(--accent-dim)}.tile-hero .tile-value{color:var(--accent)}.company-info-tile{text-align:left;flex-direction:column;gap:4px;max-width:280px;font-size:.9em;display:flex}.company-info-tile>span{overflow-wrap:break-word}.company-info-tile .header-company{font-size:1.05em}.header-brand-btn.company-info-tile{color:var(--text);align-items:flex-start;margin:0;padding:10px 14px}.header-controls{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.header-icon-row{justify-content:flex-end;align-items:center;gap:10px;display:flex}.header-controls .header-vat{color:var(--text-dim);align-items:center;gap:6px;font-size:.8em;display:flex}.header-controls .header-vat button{font-size:.85em}.settings-view{max-width:1300px;margin:0 auto;padding:16px 20px}.settings-head{align-items:baseline;gap:14px;margin-bottom:6px;display:flex}.settings-head h1{margin:0;font-size:1.3em}.settings-back-link{font:inherit;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:0;font-size:.85em;text-decoration:underline}.settings-back-link:hover{color:var(--text)}.settings-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin:10px 0 18px;padding-bottom:10px;display:flex}.settings-tabs button{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-dim);border-radius:6px;padding:6px 12px;font-size:.85em}.settings-tabs button[aria-current=true]{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.settings-block{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:16px}.settings-actions{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.switch-profile-group{margin-bottom:14px}.switch-profile-group h4{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);margin:0 0 6px;font-size:.8em}.switch-profile-group ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.switch-profile-group li button{text-align:left;background:var(--surface);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);border-radius:6px;padding:8px 12px;font-size:.95em}.switch-profile-group li button:hover{background:var(--accent-dim)}.switch-profile-group li button[aria-current=true]{border-color:var(--accent);font-weight:600}.switch-profile-current{color:var(--text-dim);font-size:.85em;font-weight:400}h2{margin:0 0 12px;font-size:1.05em}.transactions{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:16px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.85em}th,td{text-align:left;border-bottom:1px solid var(--border);overflow-wrap:break-word;padding:7px 8px}th{color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em;font-size:.8em;font-weight:600}td.date,td.num,td.dir{white-space:nowrap}td.doc,td.source,td.status{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}th:first-child,td:first-child{width:7%}th:nth-child(2),td:nth-child(2){width:11%}th:nth-child(3),td:nth-child(3){width:9%}th:nth-child(4),td:nth-child(4){width:5%}th:nth-child(5),td:nth-child(5),th:nth-child(6),td:nth-child(6),th:nth-child(7),td:nth-child(7){width:7%}th:nth-child(8),td:nth-child(8){width:9%}th:nth-child(9),td:nth-child(9){width:8%}th:nth-child(10),td:nth-child(10){width:9%}th:nth-child(11),td:nth-child(11){width:10%}th:nth-child(12),td:nth-child(12){width:11%}tr.row-clickable{cursor:pointer}tr.row-clickable:hover{background:var(--accent-dim)}.num{text-align:right;font-variant-numeric:tabular-nums}.dir-in{color:var(--in-fg);font-weight:600}.dir-out{color:var(--out-fg);font-weight:600}.empty{color:var(--text-dim);text-align:center;padding:20px}.actions-cell{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.actions-cell button{cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:4px 8px;font-size:.85em}.actions-cell button:disabled{color:var(--text-dim);cursor:default}.void-btn{color:var(--text-dim)}.action-icons{flex:none;justify-content:flex-end;align-items:center;gap:4px;width:54px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:.95em;line-height:1;display:inline-flex}.icon-btn:disabled{color:var(--text-dim);cursor:default}.icon-link-matched{background:var(--badge-21-bg);border-color:var(--in-fg)}.icon-link-unmatched{color:var(--text-dim)}.link-icon-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:4px 10px;font-size:.85em}.link-icon-btn.link-matched{background:var(--badge-21-bg);color:var(--in-fg);border-color:var(--in-fg);font-weight:600}.link-icon-btn.link-unmatched{color:var(--text-dim)}.detail-dialog{border:1px solid var(--border);background:var(--surface);width:min(640px,94vw);max-height:88vh;color:var(--text);border-radius:12px;padding:20px;overflow-y:auto}.detail-dialog::backdrop{background:#0006}.link-management-dialog{border:1px solid var(--border);background:var(--surface);width:min(420px,92vw);max-height:80vh;color:var(--text);border-radius:12px;padding:20px;overflow-y:auto}.link-management-dialog::backdrop{background:#0006}.link-management-dialog h3{margin:0 0 12px;font-size:1.05em}.detail-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.detail-head h3{margin:0;font-size:1.1em}.detail-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px;display:grid}.detail-link-section{background:var(--accent-dim);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.detail-link-section .add-hint{margin:0}.detail-history-wrap{color:var(--text-dim);margin:0 0 12px;font-size:.85em}.detail-history-wrap summary{cursor:pointer}.detail-history{margin:6px 0 0;padding:0 0 0 16px}.detail-history li{margin:2px 0}.link-confirmation{background:var(--accent-dim);color:var(--text);border-radius:8px;margin:8px 0 0;padding:8px 12px;font-size:.9em}.badge{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.8em;font-weight:600;display:inline-block}.badge-21{background:var(--badge-21-bg);color:var(--badge-21-fg)}.badge-no-vat{background:var(--badge-novat-bg);color:var(--badge-novat-fg)}.badge-reverse-charge{background:var(--badge-rc-bg);color:var(--badge-rc-fg)}.badge-car-50{background:var(--badge-car-bg);color:var(--badge-car-fg)}.badge-unclassified{background:var(--badge-novat-bg);color:var(--badge-novat-fg)}.badge-sm{padding:1px 6px;font-size:.7em}.badge-status-proposed{background:var(--badge-proposed-bg);color:var(--badge-proposed-fg)}.badge-status-bank-only{background:var(--badge-bankonly-bg);color:var(--badge-bankonly-fg)}.badge-status-needs-review{background:var(--badge-needsreview-bg);color:var(--badge-needsreview-fg)}.badge-status-partially-paid,.badge-status-partially-allocated{background:var(--badge-partial-bg);color:var(--badge-partial-fg)}.page-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.page-footer{max-width:1000px;color:var(--text-dim);margin:0 auto;padding:16px 20px 40px;font-size:.85em}.legend{margin:0 0 8px}.disclaimer{margin:0}tr.row-bank-only{color:var(--text-dim);font-style:italic}tr.row-bank-only:hover{color:var(--text)}.text-dim{color:var(--text-dim)}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:10px;font-size:.85em;display:flex}.filter-dropdown{position:relative}.filter-dropdown-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;padding:4px 10px;font-family:inherit;font-size:.9em}.filter-dropdown-btn.active{border-color:var(--accent);color:var(--accent);font-weight:600}.filter-dropdown-menu{z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;min-width:180px;margin-top:4px;padding:6px 0;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.filter-dropdown-item{cursor:pointer;color:var(--text);white-space:nowrap;align-items:center;gap:6px;padding:4px 12px;display:flex}.filter-dropdown-item:hover{background:var(--hover)}.filter-dropdown-item input[type=checkbox]{margin:0}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.filter-active-note{color:#b8860b;width:100%;margin:0;font-size:.9em;font-weight:600}@media (prefers-color-scheme:dark){.filter-active-note{color:#f0d060}}:root[data-theme=dark] .filter-active-note{color:#f0d060}:root[data-theme=light] .filter-active-note{color:#b8860b}.filter-clear-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.detach-doc-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-dim);border-radius:6px;align-self:flex-start;padding:3px 10px;font-size:.85em}.detach-doc-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.lock-toggle-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:6px;margin-left:12px;padding:3px 10px;font-size:.9em}.period-locked-banner{color:#b8860b;border:1px solid #b8860b;border-radius:8px;margin:8px 0;padding:8px 12px;font-size:.9em;font-weight:600}@media (prefers-color-scheme:dark){.period-locked-banner{color:#f0d060;border-color:#f0d060}}:root[data-theme=dark] .period-locked-banner{color:#f0d060;border-color:#f0d060}:root[data-theme=light] .period-locked-banner{color:#b8860b;border-color:#b8860b}fieldset.detail-fieldset{border:none;min-width:0;margin:0;padding:0}fieldset.detail-fieldset:disabled{opacity:.65}.tax-rules-indicator{cursor:pointer;color:var(--text-dim);text-align:left;background:0 0;border:none;margin:4px 0;padding:2px 0;font-family:inherit;font-size:.85em}.tax-rules-indicator:hover{color:var(--text);text-decoration:underline}.tax-rules-list{margin:8px 0;padding-left:18px}.tax-rules-list li{margin-bottom:10px}.advanced-registrations{margin:6px 0}.advanced-registrations summary{cursor:pointer;color:var(--text-dim);font-size:.9em}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:420px;margin:40px auto;padding:20px}.card h1,.card h2{margin-top:0}.company-list{flex-direction:column;gap:6px;margin:8px 0 20px;padding:0;list-style:none;display:flex}.company-list li button{text-align:left;background:var(--surface);width:100%;color:var(--text);border:1px solid var(--border);cursor:pointer;font:inherit;border-radius:8px;padding:10px 12px}.company-list li button:hover{background:var(--accent-dim)}
