:root{--bg: #f5f6f8;--card: #fff;--ink: #1c2430;--muted: #6b7480;--line: #dde1e6;--accent: #1f3a5f;--accent-ink: #fff;--ok: #1d7a46;--err: #b42318;--draft: #8a6d00;--tint: #e8f5f2;--tint-line: #bfe0d8;font-family:Eurostile,Eurostile Next,Eurostile LT Std,Eurostile Next LT Pro,eurostile,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.45}@media (prefers-color-scheme: dark){:root{--bg: #11151b;--card: #1a2029;--ink: #e6e9ee;--muted: #9aa3ae;--line: #2c3440;--accent: #8fb4e3;--accent-ink: #11151b;--ok: #5cc98a;--err: #ff8a80;--draft: #e0c050;--tint: #16302c;--tint-line: #24504a}}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}input,select{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 8px}button{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:6px 12px;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}a.link{color:var(--accent)}button.link{border:0;background:none;padding:0;color:var(--accent);text-decoration:underline}.center{min-height:100vh;display:grid;place-items:center;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px}.login{width:min(360px,100%);display:grid;gap:12px}.login h1{margin:0 0 4px;font-size:1.4rem}label{display:grid;gap:4px;font-size:.9rem;color:var(--muted)}label input,label select{color:var(--ink)}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--line)}.brand{color:var(--accent)}.spacer{flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.tabs{display:flex;gap:4px;padding:8px 16px 0;overflow-x:auto}.tabs button{border-radius:6px 6px 0 0;border-bottom:0;white-space:nowrap}.tabs button.active{background:#e2e8f2;color:#1e3354;border-color:#23395d;font-weight:600}@media (prefers-color-scheme: dark){.tabs button.active{background:#1f2a3d;color:#c9d8f0;border-color:#8fb4e3}}main{padding:16px;max-width:1100px}main:has(.cash-table){max-width:1600px}h2{margin:0 0 12px;font-size:1.2rem}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse}th,td{padding:6px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{font-weight:600;font-size:.85rem;color:var(--muted)}tfoot td{font-weight:600;border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}input.num{width:110px}input.acc{width:90px}tr.clickable{cursor:pointer}tr.clickable:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.filters,.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:12px}.grow{flex:1;min-width:200px}.new-entry{display:grid;gap:12px}.new-entry .table-wrap{border:0}.error{color:var(--err);margin:0}.ok{color:var(--ok);margin:0}.journal{display:grid;gap:10px}.entry-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}.entry.reversed{opacity:.65}.badge{font-size:.75rem;padding:2px 8px;border-radius:99px;border:1px solid currentColor}.badge.draft{color:var(--draft)}.badge.posted{color:var(--ok)}.badge.reversed{color:var(--muted)}table.lines td{border-bottom:0;padding:3px 10px}label.button{display:inline-block;cursor:pointer;border:1px solid var(--line);border-radius:6px;padding:6px 12px;color:var(--ink)}label.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.doc{display:grid;gap:4px;text-decoration:none;color:inherit;padding:10px;align-content:start}.doc img,.doc .pdf{width:100%;aspect-ratio:3 / 4;object-fit:cover;border-radius:6px;background:var(--bg)}.doc .pdf{display:grid;place-items:center;font-weight:600;color:var(--muted)}.doc .badge{justify-self:start}button.doc{text-align:left;font:inherit}.doc iframe.pdf{border:0;pointer-events:none;overflow:hidden;background:#fff}.review{display:grid;gap:12px}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}@media (min-width: 1600px){main:has(.review.wide){max-width:1920px}.review-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.preview iframe{height:calc(100vh - 170px)}}@media (min-width: 861px) and (max-width: 1599px){.review-grid>.panel{grid-column:2}.preview{grid-row:span 2}}@media (max-width: 860px){.review-grid{grid-template-columns:1fr}}.preview{padding:8px;position:sticky;top:8px}.preview img{width:100%;max-height:80vh;object-fit:contain;display:block}.preview iframe{width:100%;height:80vh;border:0;background:#fff}.panel,.stack{display:grid;gap:10px}.facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0}.facts dt{color:var(--muted)}.facts dd{margin:0}.checks{margin:0;padding-left:18px;display:grid;gap:4px}.checks li.error{color:var(--err)}.checks li.warning{color:var(--draft)}input.amount{width:5.5em;text-align:right}input.acc{width:5.5em}.review .table-wrap th,.review .table-wrap td{padding:6px}td.num,th.num{text-align:right}.split-amt{display:flex;justify-content:flex-end;gap:8px;margin-top:2px;font-size:.8em}select.account{max-width:100%}table.compare th{white-space:nowrap;vertical-align:top}table.compare tr.differ td{background:color-mix(in srgb,var(--draft) 15%,transparent)}.review .table-wrap select.account{max-width:16em}.choices{display:flex;flex-wrap:wrap;gap:6px}.chip{border-radius:999px;padding:4px 12px}.chip.on{background:var(--accent);color:var(--accent-ink);border-color:transparent}table.lines{width:100%;table-layout:fixed}table.lines col.c-vat{width:10.5em}table.lines col.c-amt{width:7em}table.lines col.c-x{width:2.2em}.review .table-wrap table.lines select,.review .table-wrap table.lines select.account,.review table.lines input{width:100%;max-width:none;box-sizing:border-box;min-width:0}.review .table-wrap:has(table.lines){overflow-x:visible}.card.proposal{background:var(--tint);border-color:var(--tint-line)}.review table.lines th{padding-left:15px;padding-right:15px}button.danger{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,var(--line))}.cost{display:inline-block;padding:1px 8px;border-radius:6px;font-size:.9em}.cost.free{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.cost.paid{background:color-mix(in srgb,var(--err) 12%,transparent);color:var(--err)}.chip.tbd{background:color-mix(in srgb,var(--muted) 18%,var(--card));color:var(--muted);border-color:color-mix(in srgb,var(--muted) 40%,var(--line))}.chip.tbd.on{background:var(--muted);color:var(--card);border-color:transparent}.warn-note{color:var(--draft);margin:0 0 12px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:grid;place-items:center;z-index:50;padding:16px}.modal{width:min(520px,100%);display:grid;gap:12px;box-shadow:0 10px 40px #00000040}.modal h2{margin:0}.modal dd{overflow-wrap:anywhere}.doc{display:flex;flex-direction:column}.doc .grow-name{flex:1}.badge.filled{background:color-mix(in srgb,var(--ok) 15%,var(--card))}.badge.read{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--card))}.doc .badge{align-self:flex-start}.doc-tabs{margin:4px 0 12px}.chip.green{background:color-mix(in srgb,var(--ok) 14%,var(--card));color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}.chip.green.on{background:var(--ok);color:#fff;border-color:transparent}.reading-progress{display:flex;align-items:center;gap:8px;margin:0;color:var(--accent)}.spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.doc-tabs{gap:20px}.tab-text{background:none;border:0;padding:4px 0;font-weight:700;opacity:.55;border-bottom:2px solid transparent;border-radius:0}.tab-text.on{opacity:1;border-bottom-color:currentColor}.tab-text.todo{color:var(--err)}.tab-text.done{color:var(--ok)}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:end}@media (max-width: 700px){.field-pair{grid-template-columns:1fr}}input.forced,select.forced{background:#e3eefc;border-color:#9dbbe6;font-weight:700}.chip.on.forced{box-shadow:0 0 0 2px #9dbbe6}.lines-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tip-label{font-size:.85em;color:var(--muted, #666);white-space:nowrap}.lines-foot .total{margin-left:auto;text-align:right;padding-right:2.6em}.ok-tick{color:#1f9d55;font-weight:700}.recalc-row{display:flex;justify-content:flex-end}.fx-row{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap;padding-right:2.6em}.fx-row input.fx{width:5.2em;padding-left:6px;padding-right:8px}.badge.play{cursor:pointer}.badge.play:hover{background:#f6efd9}.spinner.small-spin{width:.8em;height:.8em;border-width:2px;display:inline-block;vertical-align:-1px}.dots span{animation:dot 1.2s infinite;opacity:0}.dots span:nth-child(2){animation-delay:.3s}.dots span:nth-child(3){animation-delay:.6s}@keyframes dot{0%,15%{opacity:0}25%,to{opacity:1}}.head-checks{flex:1 1 380px;min-width:0}.head-checks .ok,.head-checks .checks{margin:0}.card-head{display:flex;justify-content:flex-start;align-items:baseline;gap:12px;flex-wrap:wrap}.play-row{display:inline-flex;align-items:center;gap:10px}.badge-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;align-self:flex-start}.badge.matched{color:#fff;background:#1f5fbf;border-color:#1f5fbf;font-weight:600;letter-spacing:.03em}.badge.play-claude{color:var(--muted);border-color:var(--line)}.badge.play-claude:hover{color:var(--ink)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card.stat{display:grid;gap:4px}.card.stat strong{font-size:1.5rem}.avviso{position:relative;font-weight:400;font-size:.85rem;cursor:help;background:#c62828;color:#fff;padding:3px 10px;border-radius:6px;letter-spacing:.02em;white-space:nowrap}.avviso-pop{display:none;position:absolute;z-index:20;top:1.6em;right:0;width:min(480px,80vw);background:var(--card, #fff);border:1px solid var(--line);border-radius:8px;padding:10px 12px 10px 26px;box-shadow:0 6px 20px #0000001f;font-weight:400;font-size:.85rem;color:var(--ink);white-space:normal;letter-spacing:normal}.avviso:hover .avviso-pop,.avviso:focus .avviso-pop{display:grid}.card-head>span.muted{margin-left:auto}button.link.plain{text-decoration:none;color:var(--ink)}.peek{position:relative;display:inline-block}.peek-pop{display:none;position:absolute;z-index:30;left:0;top:1.5em;width:280px;height:380px;background:var(--card);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px #00000026;overflow:hidden}.peek-pop img{width:100%;height:100%;object-fit:contain}.peek-pop iframe{width:100%;height:100%;border:0}.peek:hover .peek-pop{display:block}.cost-table{width:100%;border-collapse:collapse}.cost-table th,.cost-table td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left}.cost-table .num{text-align:right;white-space:nowrap}.cost-table tr.clickable{cursor:pointer}.cost-table tr.clickable:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.cost-table .bar-col{width:30%}.cost-table .bar{display:block;height:10px;border-radius:5px;background:var(--accent);min-width:2px}.cost-total{margin-left:auto}.currency-select{width:6.5rem}.facts-wrap{display:flex;gap:24px;align-items:flex-start}.facts-wrap>.facts:first-child{flex:1;min-width:0}.vat-cols{display:flex;gap:16px}.facts.vat-col{grid-template-columns:auto auto;column-gap:12px}.facts.vat-col dd{text-align:right;font-variant-numeric:tabular-nums}@media (max-width: 700px){.facts-wrap{flex-direction:column}}.reread{position:relative;justify-self:start;display:flex;align-items:center;gap:10px}.reread .avviso-pop{left:0;right:auto}.reread-menu{position:absolute;z-index:25;top:calc(100% + 6px);left:0;width:max-content;max-width:min(520px,80vw);box-shadow:0 6px 20px #0000001f}.tabs.top{padding:0;margin-left:8px;overflow-x:visible;flex-wrap:wrap}.tabs.top button{border-radius:6px;border-bottom:1px solid var(--line);padding:5px 10px;font-size:.9rem}.tabs.top button.active{border-color:var(--accent)}.tab-sep{align-self:stretch;width:1px;background:var(--line);margin:2px 6px}.tabs button.stats-tab{background:#e8f5ec;color:#1d5e33;border-color:#a9d6b8}.tabs button.stats-tab.active{background:#cdebd7;color:#154a28;border-color:#2f8a52;font-weight:600}@media (prefers-color-scheme: dark){.tabs button.stats-tab{background:#183024;color:#8fd6a8;border-color:#2c5a3e}.tabs button.stats-tab.active{background:#1f4430;color:#b5ecc8;border-color:#5cc98a}}.tabs button.cash-tab{background:#f5ece3;color:#7a5333;border-color:#d4b08f}.tabs button.cash-tab.active{background:#ecdcc9;color:#5e3d22;border-color:#af7c4e;font-weight:600}.badge.dup{background:#c62828;color:#fff;font-weight:700}.dup-note{background:#fdecea;color:#8e1c1c;border:1px solid #f3b8b3;border-radius:8px;padding:8px 12px;margin:0}.dup-card{border-color:#f3b8b3;background:#fdf3f2}.avviso-pop.checks{background:#fdecec;border-color:#f5c2c2;font-size:1.05rem;font-weight:600;gap:6px}.avviso-pop.checks li.warning,.avviso-pop.checks li.error{color:#7a1515}.tab-text.dup{color:#8a5a00}.cash-filters{align-items:end;flex-wrap:wrap}.cash-totals{display:flex;gap:20px;flex-wrap:wrap;align-items:baseline}.cash-totals .in,.cash-table td.in{color:var(--ok)}.cash-totals .out,.cash-table td.out{color:var(--err)}.cash-table td{vertical-align:top;padding:6px 8px;white-space:nowrap}.cash-table td.clip{max-width:170px;overflow:hidden;text-overflow:ellipsis}.cash-table td.clip button.link.plain{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-table td.desc{max-width:260px;overflow:hidden;text-overflow:ellipsis}.cash-table tr.open td.desc{white-space:normal}.cash-table tbody tr:nth-child(2n) td{background:#f4f5f7}@media (prefers-color-scheme: dark){.cash-table tbody tr:nth-child(2n) td{background:#1f2630}}.month-bar{margin-left:auto;display:flex;gap:2px;flex-wrap:wrap}.month-bar button{padding:3px 8px;font-size:.85rem;border-color:transparent;background:transparent;color:var(--ink)}.month-bar button:hover{border-color:var(--line)}.month-bar button.year{font-weight:700}.month-bar button.empty{color:var(--muted);opacity:.55}.month-bar button.active{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);opacity:1}.cash-table .cash-toggle{color:inherit;display:inline!important}.cash-table .cash-toggle .caret{color:#999;font-size:11px;margin-left:6px;vertical-align:middle}.cash-table .nowrap{white-space:nowrap}.cash-table td.tags .badge{margin:0 4px 4px 0;display:inline-block}.badge.tag-tbd{background:#6b7280;color:#fff}.badge.tag-rappresentanza{background:#fdf0d5;color:#7a4b00}.badge.tag-stornata{background:#fdecec;color:#7a1515}.cash-table td button.link.plain{display:block;text-align:left}.cash-table .peek-pop{left:auto;right:0}.badge.queue{background:#eef2f7;color:#475569;border:1px dashed #94a3b8}.backup-badge{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:12px;padding:2px 10px;font-size:12px;cursor:pointer;margin-right:10px}.backup-badge.bad{background:#c62828;color:#fff;border-color:#c62828;font-weight:600}.backup-badge:disabled{opacity:.7;cursor:wait}.app:has(.cash-page){height:100vh;display:flex;flex-direction:column}.app:has(.cash-page)>main{flex:1;min-height:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}.cash-page{flex:1;min-height:0;display:flex;flex-direction:column}.cash-page>.table-wrap{flex:1;min-height:0;overflow:auto;padding-top:0}.cash-table{border-collapse:separate;border-spacing:0}.cash-table thead th{position:sticky;top:0;background:var(--card);z-index:2;box-shadow:0 -24px 0 var(--card),0 1px 0 var(--line)}.cash-table .doc-icon{display:block;color:var(--muted)}.cash-table .peek button:hover .doc-icon{color:var(--accent)}.cash-table th.doc-col,.cash-table td.doc-cell{text-align:center}.cash-table td.doc-cell .peek button{padding:0 4px}.cash-table button.cat-badge{cursor:pointer;font:inherit;font-size:.8rem}.month-bar .month{position:relative;display:inline-flex}.month-bar .month-up{display:none;position:absolute;top:-27px;left:50%;transform:translate(-50%);cursor:pointer;color:var(--accent);background:var(--card);border:1px solid var(--line);border-radius:50%;width:20px;height:20px;align-items:center;justify-content:center;z-index:5}.month-bar .month:hover .month-up{display:inline-flex}.month-bar .month-up:after{content:"";position:absolute;top:100%;left:-6px;right:-6px;height:9px}.cash-totals .cash-search{width:320px;max-width:100%;align-self:center}.upload-confirm{align-items:center;gap:8px;padding:10px 14px}.upload-confirm>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.cash-table button.todo-btn{cursor:pointer;font:inherit;font-size:.75rem}.cash-table button.todo-btn:hover{filter:brightness(1.15)}.tbd-card{border-color:#af7c4e;background:#fbf6f1}.tbd-card.done{border-color:var(--line);background:var(--card)}.acc-select{display:inline-flex;align-items:center;gap:4px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;text-align:left;padding:6px 28px 6px 10px;position:relative;border-radius:8px;background:var(--card);color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-select b{font-weight:700}.acc-select .acc-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.8em}.acc-select:hover,.acc-select.open{border-color:#9dbbe6}.acc-select:focus-visible{outline:2px solid #9dbbe6;outline-offset:1px}.acc-select.forced{background:#e3eefc;border-color:#9dbbe6;font-weight:700}.acc-pop{position:fixed;z-index:100;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px #141e2d29;overflow:hidden}.acc-search{margin:8px;border-radius:8px}.acc-list{overflow-y:auto;padding:0 6px 6px}.acc-group{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:10px 8px 4px}.acc-opt{display:flex;gap:6px;align-items:baseline;padding:6px 8px;border-radius:6px;cursor:pointer;white-space:nowrap}.acc-opt b{font-weight:700;min-width:3.2em}.acc-opt .acc-check{width:1em;color:var(--accent-ink)}.acc-opt.hi{background:#eaf2fb}.acc-opt.sel{background:var(--accent);color:var(--accent-ink)}.acc-top{background:#fff8d6;border-radius:8px;margin:6px 0 2px;padding-bottom:4px}.acc-top .acc-group{color:#8a6d00}.acc-top .acc-opt.hi:not(.sel){background:#fdeeb0}.acc-empty{padding:12px 8px;color:var(--muted)}.acc-all{border:0;border-top:1px solid var(--line);border-radius:0;text-align:left;padding:9px 14px;color:var(--accent);background:var(--card)}.acc-all:hover{background:#eaf2fb}.review .table-wrap .acc-select{max-width:16em}.review table.lines .acc-select{max-width:none}.settings{max-width:1100px}.pm-table td,.pm-table th{padding:8px 10px}.pm-table .mono{font-variant-numeric:tabular-nums;letter-spacing:.04em}.pm-form{align-items:end;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:12px}.month-bar button.month-up{padding:0;border-radius:50%}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#141c2859;display:grid;place-items:center;padding:16px}.modal{width:min(640px,100%);box-shadow:0 20px 50px #00000040}.import-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}@media (max-width: 640px){.import-grid{grid-template-columns:1fr}}.import-grid>label:not(.drop){display:flex;flex-direction:column;gap:4px}.drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:120px;padding:14px;border:2px dashed var(--line);border-radius:10px;text-align:center}.drop.over{border-color:#9dbbe6;background:#eaf2fb}.drop.has{border-style:solid}.drop .drop-names{max-height:4.5em;overflow:hidden}.drop .link-like{color:var(--accent);text-decoration:underline}.brand-block{display:inline-flex;flex-direction:column;line-height:1.05}.brand-sub{font-size:11px;font-weight:400;letter-spacing:.06em;color:#af7c4e;margin-top:2px}h1.brand-block .brand-sub{font-size:14px}.documents>.row .undo-upload{margin-left:auto}.import-list{max-height:50vh;overflow:auto;margin:0;padding:0 0 0 2.2em;border:1px solid var(--line);border-radius:8px}.import-list li{padding:4px 8px 4px 0;border-bottom:1px solid var(--line)}.import-list li:last-child{border-bottom:0}.import-list li>*{vertical-align:middle}.import-list li span:first-child{display:inline-block;max-width:calc(100% - 7em);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-list li .muted{margin-left:8px}.import-list li button.link-like{float:right;background:none;border:0;padding:0 4px;color:var(--muted);cursor:pointer}.import-list li button.link-like:hover{color:#c0392b}.pay-reminder{margin:0;padding:8px 10px;border-radius:8px;background:#fdf3e6;color:#8a5a24;border:1px solid #f0d2a8;font-size:13px}select.need{border-color:#e0a458;box-shadow:0 0 0 2px #fbe7cc}.upload-busy{color:var(--accent);display:flex;align-items:center;gap:8px}.spinner{width:14px;height:14px;border:2px solid #c9d8ee;border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.upload-bar{padding:12px 14px;margin:10px 0}.upload-bar .bar{height:8px;border-radius:4px;background:#e6edf7;overflow:hidden;margin-top:8px}.upload-bar .bar>div{height:100%;background:var(--accent);transition:width .3s}.upload-done{margin:10px 0;padding:12px 14px;border-radius:10px;background:#e8f5ec;border:1px solid #b9e0c5;color:#1d5e33;font-size:15px}.upload-done.warn{background:#fdf3e6;border-color:#f0d2a8;color:#8a5a24}.upload-done .close{float:right;background:none;border:0;color:inherit;cursor:pointer}.done-title{font-size:20px;color:#1d7a3e}.done-dups{font-weight:400;font-size:16px;color:var(--muted)}.modal.modal-small{width:auto;min-width:300px;max-width:min(480px,100%)}.modal.modal-ok{background:#eaf7ee;border-color:#bfe3cb}.modal.modal-ok .import-list{background:#fff}button.text-btn{background:none;border:0;box-shadow:none;color:var(--accent);font-weight:700;font-size:16px;padding:6px 10px;cursor:pointer}button.text-btn:hover{text-decoration:underline}.modal.modal-small:not(.modal-ok){background:#fdf3e6;border-color:#f0d2a8}.import-list.err-list li span:first-child{white-space:normal;max-width:none;color:#a33}.doc-tabs .doc-months{margin-left:auto}.tab-text.pickup{color:#8a6d00;background:#fdf6d8;padding:4px 10px;border-radius:6px 6px 0 0}.pickup-note{background:#fdf6d8;border-color:#f0e2a0}button.pickup-btn{background:#fdf6d8;border-color:#e8d585;color:#6b5300}.import-grid{grid-template-columns:1fr!important;gap:12px}.import-grid .drop{order:2;min-height:96px}.modal:has(.import-grid){width:min(520px,100%)}.documents>.row .bulk-read{margin-left:auto;display:inline-flex;gap:8px;align-items:center}.documents>.row .bulk-read~.undo-upload{margin-left:0}.crop-wrap{position:relative;-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;line-height:0}.crop-wrap img{width:100%;height:auto;display:block}.crop-box{position:absolute;border:2px solid var(--accent);box-shadow:0 0 0 9999px #00000059;pointer-events:none}.crop-editor .crop-wrap{overflow:hidden;border-radius:6px}button.link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font-size:inherit}button.link-btn:hover{text-decoration:underline}.combo{position:relative;display:block}.combo input{width:100%;box-sizing:border-box;padding-right:26px}.combo .acc-caret{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:.8em;cursor:pointer}.reasons-list{display:flex;flex-direction:column;gap:6px}.reasons-list .row{gap:8px;align-items:center}.reasons-list input{flex:1}.reasons-list{max-width:640px;gap:2px}.tag-field{display:block;max-width:360px;margin-bottom:10px}.badge.user-tag{background:#eef1f6;color:#34425a;border:1px solid #d5dbe6}.reasons-list select{width:auto;max-width:260px}.zoom-box{max-height:80vh;overflow:auto;border-radius:6px}.zoom-box img{cursor:zoom-in}.zoom-box.zoomed img{max-width:none}.zoom-btns{display:inline-flex;gap:4px}.zoom-btns button{padding:2px 10px;min-width:2.2em}.acc-with-tag{display:flex;gap:8px;align-items:center}.acc-with-tag>.acc-select{flex:1 1 auto;min-width:0}.line-tag{flex:0 0 11em}select.vat-tbd{background:#fde3e3;border-color:#e9a3a3}.info-dot{color:var(--muted);cursor:help;font-size:.9em}input.date-missing{background:#fde3e3;border-color:#e9a3a3}.app-tip{position:fixed;z-index:1000;transform:translate(-50%,-100%);max-width:320px;padding:7px 11px;background:#22324a;color:#fff;font-size:.82rem;line-height:1.35;border-radius:8px;box-shadow:0 4px 14px #141e3240;pointer-events:none;white-space:pre-line;animation:app-tip-in .12s ease-out}.app-tip.below{transform:translate(-50%)}@keyframes app-tip-in{0%{opacity:0}to{opacity:1}}.dialog-back{z-index:900}.app-dialog{width:min(440px,100%)}.app-dialog input{width:100%;box-sizing:border-box}button.danger-btn{background:var(--err);border-color:var(--err);color:#fff}.extra-note{display:flex;flex-direction:column;gap:4px}.extra-note input{width:100%;box-sizing:border-box}.field-row3{display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:12px;align-items:end}@media (max-width: 900px){.field-row3{grid-template-columns:1fr 1fr}.field-row3 .extra-note{grid-column:1 / -1}}@media (max-width: 600px){.field-row3{grid-template-columns:1fr}}.entry-note{margin:4px 0 6px;white-space:pre-line}.cash-note{white-space:pre-line}.attach-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:-4px}.attach-row a{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-clip{margin-left:4px;text-decoration:none;font-size:14px}.fold-head{all:unset;cursor:pointer;display:flex;align-items:baseline;gap:4px;width:100%}.fold-head .caret{margin-left:auto;font-size:11px;color:var(--muted)}.fold-head:hover strong{text-decoration:underline}.fold-head:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}button.back-btn{background:#fdf6d8;border-color:#ecdca0}button.back-btn:hover{background:#faefc0}@media (prefers-color-scheme: dark){button.back-btn{background:#3a3420;border-color:#5a4f2c}button.back-btn:hover{background:#463e25}}.pm-table tr.editing td{background:#fdf6d8}@media (prefers-color-scheme: dark){.pm-table tr.editing td{background:#3a3420}}button.gear-btn{font-size:18px;line-height:1;padding-left:10px;padding-right:10px}.cash-table .vat-col{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.badge.ccy{border:0;background:#eef0f3;color:var(--ink)}.badge.ccy-usd{background:#e3f4e8;color:#1d6b38}.badge.ccy-eur{background:#e3edfb;color:#1f4f96}@media (prefers-color-scheme: dark){.badge.ccy{background:#262d38}.badge.ccy-usd{background:#1b3526;color:#7fd6a0}.badge.ccy-eur{background:#1b2a42;color:#9fc0f0}}.cash-table th.sortable{padding:0}.cash-table .th-sort{all:unset;cursor:pointer;display:block;padding:6px 10px;width:100%;box-sizing:border-box;text-align:inherit;font:inherit;color:inherit;white-space:nowrap}.cash-table th.num .th-sort{text-align:right}.cash-table th.vat-col .th-sort{text-align:center}.cash-table .th-sort:hover,.cash-table th.sorted .th-sort{color:var(--ink)}.cash-table .sort-ind{display:inline-block;width:1em;font-size:10px;margin-left:3px}.cash-table th.doc-col .th-sort{text-align:center}.cash-table button.cat-badge{border:0;border-radius:3px;background:transparent;color:var(--ink);padding:2px 6px}.cash-table button.cat-badge.tag-rappresentanza{background:#fdf0d5;color:#7a4b00}.cash-table button.cat-badge:hover{text-decoration:underline}.cash-table button.cat-badge.cat-6570{background:#e3edfb;color:#1f4f96}@media (prefers-color-scheme: dark){.cash-table button.cat-badge.cat-6570{background:#1b2a42;color:#9fc0f0}.cash-table button.cat-badge.tag-rappresentanza{background:#3a2f1a;color:#f0c98a}}.cost-table .ccy-col{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.cost-table tfoot td{border-top:2px solid var(--line);border-bottom:0}.cost-table tfoot .ccy-col{color:var(--ink)}.app.cash-mode{background:#f6eee5;min-height:100vh}@media (prefers-color-scheme: dark){.app.cash-mode{background:#221c16}}.cash-page>.table-wrap.cash-frame{background:transparent;border:0;border-radius:0;padding:0}.cash-frame .cash-table thead th{background:#f6eee5;box-shadow:0 1px 0 transparent;border-bottom:0}@media (prefers-color-scheme: dark){.cash-frame .cash-table thead th{background:#221c16}}.cash-frame .cash-table tbody td{background:var(--card)}.cash-frame .cash-table tbody tr:first-child td{border-top:1px solid var(--line)}.cash-frame .cash-table tbody td:first-child{border-left:1px solid var(--line)}.cash-frame .cash-table tbody td:last-child{border-right:1px solid var(--line)}.cash-frame .cash-table tbody tr:first-child td:first-child{border-top-left-radius:10px}.cash-frame .cash-table tbody tr:first-child td:last-child{border-top-right-radius:10px}.cash-frame .cash-table tbody tr:last-child td:first-child{border-bottom-left-radius:10px}.cash-frame .cash-table tbody tr:last-child td:last-child{border-bottom-right-radius:10px}.cash-table button.cat-badge.cat-6500{background:#eceef1;color:#3d4652}@media (prefers-color-scheme: dark){.cash-table button.cat-badge.cat-6500{background:#2a313c;color:#c3cad3}}.cash-table button.cat-badge.cat-6600{background:#fbe4ee;color:#8a2552}.cash-table button.cat-badge.cat-6640{background:#e3f4e8;color:#1d6b38}@media (prefers-color-scheme: dark){.cash-table button.cat-badge.cat-6600{background:#3d1f2c;color:#f2a8c8}.cash-table button.cat-badge.cat-6640{background:#1b3526;color:#7fd6a0}}.cash-table th.c,.cash-table td.c,.cash-table th.c .th-sort{text-align:center}.cash-table td.c{font-variant-numeric:tabular-nums}.cash-table td.tags.c .badge{margin:0 2px 4px}.tabs button.docs-tab:not(.active){background:#eef2f8;color:#1e3354;border-color:#b9c6dc}@media (prefers-color-scheme: dark){.tabs button.docs-tab:not(.active){background:#1a2333;color:#c9d8f0;border-color:#33425c}}.topbar{background:#1f3a5f;border-bottom-color:#172c48;color:#e9eef6}.topbar .brand{color:#fff}.topbar .brand-sub{color:#d9b48f;font-weight:700}.topbar .muted{color:#b8c4d6}.topbar button.link{color:#fff}.topbar .tab-sep{background:#3b5578;border-color:#3b5578}.topbar select{background:#fff;color:#1c2430}.topbar .tabs button:not(.active):not(.stats-tab):not(.cash-tab):not(.docs-tab):not(.gear-btn){background:#fff;color:#1c2430}@media (prefers-color-scheme: dark){.topbar{background:#14243a;border-bottom-color:#0e1a2a}}.topbar select.year-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;color:#fff;font-weight:600;cursor:pointer;padding:4px 18px 4px 4px;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 9px) 55%,calc(100% - 4px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.topbar select.year-select:hover{text-decoration:underline}.topbar select.year-select:focus-visible{outline:2px solid #8fb4e3;border-radius:4px}.topbar select.year-select option{color:#1c2430;background:#fff}.topbar .tabs button.gear-btn,.topbar .tabs button.gear-btn:not(.active){background:transparent;border-color:transparent;color:#c3cedd;font-size:20px}.topbar .tabs button.gear-btn:hover,.topbar .tabs button.gear-btn.active{color:#fff;background:transparent;border-color:transparent}.ec-grid th,.ec-grid td{white-space:nowrap}.ec-grid tbody th{text-align:left;font-weight:600}.ec-cell button{border:0;background:none;padding:2px 6px;font-variant-numeric:tabular-nums;border-radius:6px}.ec-cell.good button{background:#e8f5ec;color:#1d5e33}.ec-cell.bad button{background:#fbe4e4;color:#8a1f1f}.ec-cell.sel button{outline:2px solid #1f3a5f}.ec-head{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center}.ec-head h2{margin:0 0 4px}.ec-sum{display:flex;gap:24px;margin:0}.ec-sum dt{font-size:.75rem;color:var(--muted)}.ec-sum dd{margin:0;font-variant-numeric:tabular-nums}.ec-actions{display:flex;gap:12px;align-items:center;margin-left:auto}.badge.ec-good{color:#1d5e33;background:#e8f5ec;border:0}.badge.ec-bad{color:#8a1f1f;background:#fbe4e4;border:0}.ec-lines td{vertical-align:top}.ec-lines .nowrap{white-space:nowrap}.ec-lines tr.ec-carry td{color:var(--muted)}.ec-lines .ec-fx-amt{color:var(--ink, #111);font-weight:700}.ec-results li.ok span:first-child{color:#1d5e33}.ec-results li.warn span:first-child{color:#8a5a00}.ec-results li.err span:first-child{color:#a33}.ec-cell-docs{margin-top:3px;cursor:pointer}.ec-cell-docs .badge{font-size:.7rem;padding:1px 6px}.ec-lines td.ec-doc-cell{min-width:290px}.ec-lines td.ec-doc-cell.missing{background:#fdf0f0}.ec-lines td.ec-doc-cell.suggested{background:#fff8e6}.ec-miss{color:#a32020;font-weight:600}.ec-doc{display:flex;align-items:center;gap:10px}.ec-thumb{padding:0;border:1px solid var(--line);border-radius:6px;width:48px;height:60px;overflow:hidden;background:#fff;flex:none}.ec-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ec-thumb .pdf-mini{font-size:.7rem;color:var(--muted)}.ec-doc-info{flex:1;min-width:0}.ec-doc-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.ec-ok{display:flex;align-items:center;gap:4px;font-weight:600;white-space:nowrap;cursor:pointer;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--card)}.ec-doc.confirmed .ec-ok{border-color:#1d5e33;color:#1d5e33}.ec-lines .peek-pop{position:fixed;right:auto;z-index:60}.ec-doc-info .muted{white-space:nowrap}.ec-grid{table-layout:fixed;min-width:1240px}.ec-grid td.c,.ec-grid thead th.c{padding-left:8px;padding-right:8px}.ec-grid th:first-child{width:190px;white-space:normal}.ec-grid td.ec-col{background:#eef2f8}.ec-grid th.ec-on{color:#1f3a5f;background:#eef2f8;font-weight:700}.ec-grid td.ec-cell,.ec-grid td.c,.ec-grid thead th.c,.ec-grid td.ec-cell .ec-cell-docs{text-align:center}.ec-lines tr.ec-transfer td,.ec-lines tr.ec-transfer td .muted{color:var(--muted)}.ec-sum{gap:0}.ec-sum>div{text-align:center;padding:0 18px}.ec-sum>div:first-child{border-right:1px solid var(--line)}.ec-sum>div:last-child{border-left:1px solid var(--line)}.ec-sum dd.ec-out{color:#a32020}.ec-head{flex-wrap:nowrap;gap:16px}.ec-head>div:first-child{min-width:0;flex:1 1 auto}.ec-sum{flex:none}.ec-sum>div{padding:0 12px;white-space:nowrap}.ec-actions{flex:none;gap:8px;margin-left:0}.ec-actions a.ec-pdf{color:var(--muted);text-decoration-color:color-mix(in srgb,var(--muted) 40%,transparent);text-underline-offset:3px}.ec-actions button.ec-x{border:0;background:none;padding:0 4px;color:var(--muted);font-size:1rem}.ec-actions button.ec-x:hover{color:var(--err)}.ec-cell-docs .badge.ec-good{background:none}.ec-actions a.ec-pdf,.ec-actions button.ec-x{font-size:.75rem}.ec-sum dd.ec-in{color:#1d6b3a}.ec-cell.all-ok button{background:none}.ec-lines .ec-in{color:#1d6b3a;font-weight:600}.ec-lines label.ec-upload{color:var(--accent);text-decoration:underline;cursor:pointer;display:inline;margin:0;font-weight:inherit}.ec-lines .ec-inc{white-space:nowrap}.ec-lines td.ec-doc-cell .ec-pdf{color:var(--muted);text-decoration-color:color-mix(in srgb,var(--muted) 40%,transparent)}.ec-lines td.ec-doc-cell .ec-x{border:0;background:none;padding:0 4px;color:var(--muted)}.ec-note{display:block;width:100%;box-sizing:border-box;margin-top:6px;min-height:28px;resize:vertical;font:inherit;font-size:.8rem;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:#ffffffb3}.ec-note:placeholder-shown{border-style:dashed}.ec-note:not(:placeholder-shown){background:#e3efff;border-color:#b9d3f5}.ec-note-wrap{display:flex;align-items:flex-start;gap:2px}.ec-note-wrap .ec-note{flex:1}.ec-note-wrap .ec-x{margin-top:10px}.ec-lines button.ec-note-add{display:inline;padding:0 0 0 8px}.ec-note-ro{margin-top:6px;white-space:pre-wrap}.ec-lines button.ec-x{border:0;background:none;padding:0 0 0 4px;color:var(--muted);font-size:.75rem;cursor:pointer}.ec-lines button.ec-x:hover{color:var(--err)}.ec-lines .ec-priv{color:#c2610c}.ec-lines .ec-priv button.link{color:var(--muted)}.ec-grid tr>:nth-child(4),.ec-grid tr>:nth-child(7),.ec-grid tr>:nth-child(10){border-right:1px solid #b8c2d0}.pair-bar{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;padding:10px 14px;margin:8px 0 12px}.card.doc.best{outline:2px solid #2e7d32}.pair-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:space-between}.best-badge{background:#e3f4e4;color:#1f6b25}.pair-btn{background:#1f5fbf;color:#fff;cursor:pointer;margin-left:auto}.pair-btn:hover{background:#174a96}button.link.ec-miss{color:#a32020;font-weight:600}.ec-overlay{place-items:start center;overflow:auto;padding:24px 16px}.ec-panel{position:relative;width:min(1300px,100%);max-height:none;padding:38px 22px 20px;box-shadow:0 20px 50px #00000040}.ec-panel-x{position:absolute;top:8px;right:10px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--muted, #667);z-index:2}.ec-panel-x:hover{color:#000}.ec-lines tr.ec-missing td{background:#fdf0f0}.ec-lines .ec-cat{font-size:12px;color:var(--muted);margin-top:4px;max-width:120px;white-space:normal;line-height:1.25}.doc-search input{width:260px;padding:7px 10px;border:1px solid var(--line, #d0d5dd);border-radius:8px;font:inherit}main:has(.ec-page){max-width:1620px}.ec-top{display:flex;gap:14px;align-items:flex-start}.ec-top>.table-wrap{flex:1;min-width:0}.ec-quick{flex:0 0 auto;display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:#fff;border:1px solid var(--line, #e3e6ea);border-radius:10px}.ec-quick>.small{margin-bottom:4px}button.ec-quick-link{display:flex;justify-content:space-between;align-items:center;gap:14px;text-align:left;padding:5px 6px;border-radius:6px;white-space:nowrap;font-size:.9rem;text-decoration:none}button.ec-quick-link>span:first-child{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#1f3a5f4d}button.ec-quick-link:hover>span:first-child{text-decoration-color:currentColor}button.ec-quick-link.on>span:first-child{text-decoration:none}button.ec-quick-link:hover{background:#eef2f8}button.ec-quick-link.on{background:#1f3a5f;color:#fff;text-decoration:none}button.ec-quick-link .badge{font-size:inherit;line-height:1.3;padding:0 8px;text-decoration:none;display:inline-block}.ec-qlist{position:relative;scroll-margin-top:12px}.ec-qhead{align-items:baseline;gap:14px;flex-wrap:wrap;padding-right:28px}.ec-qhead h2{margin:0}.ec-lines tr.ec-focus td{background:#fff6d6;transition:background .6s}@media (max-width: 1100px){.ec-top{flex-direction:column}.ec-quick{flex-basis:auto;width:100%}}.ec-qall{display:inline-flex;flex-direction:row;align-items:center;gap:5px;white-space:nowrap}.drop .drop-buttons{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap;justify-content:center}.drop .drop-note{color:sienna}.ec-quick-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}button.ec-recheck{border:1px solid var(--line, #d8dde3);background:#fff;color:var(--accent);font-size:.75rem;padding:2px 8px;border-radius:6px;cursor:pointer;white-space:nowrap}button.ec-recheck:hover{background:#eef2f8}button.ec-recheck.on{background:#1f3a5f;color:#fff;border-color:#1f3a5f}.ec-recheck-table td{vertical-align:middle}.ec-suggest{background:#fff6d6;padding:2px 6px;border-radius:6px}.login-2fa{max-width:320px}.login-2fa img{display:block;margin:8px auto;background:#fff}.login-2fa code{word-break:break-all}.badge.income-badge{background:#e3f4e8;color:#1f6b3a;border:1px solid #9fd3b0}@media (prefers-color-scheme: dark){.badge.income-badge{background:#17382a;color:#9fe0b8;border-color:#2f6b4b}}.ec-empty{display:inline-block;min-width:44px;padding:6px 10px;border-radius:6px;cursor:pointer}.ec-empty:hover{background:#eef2f8;color:var(--accent)}.ec-empty:hover:after{content:" ＋ PDF";font-size:.72rem}.ec-undo{margin-left:auto}.ec-peek{width:min(980px,100%)}.ec-peek h2{margin:0 0 10px}.ec-peek-doc{display:flex;gap:12px;align-items:center;margin-bottom:12px}.ec-peek-doc .ec-thumb img{width:48px;height:60px;object-fit:cover}.ec-peek-other td{color:var(--muted, #667)}.ec-peek-actions{margin-top:14px;gap:12px;align-items:center}.hover-zoom{display:block}.zoom-pop{position:fixed;z-index:1000;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 40px #00000047;overflow:hidden}.zoom-pop img{width:100%;height:100%;object-fit:contain;display:block}.zoom-pop iframe{width:100%;height:100%;border:0;display:block}.review table.lines td{vertical-align:top;padding-top:6px;padding-bottom:18px}.review table.lines :is(input,select,.acc-select){height:36px;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border-radius:8px}.review table.lines select{padding-left:10px}.review table.lines td:last-child{line-height:36px}.amt-cell{position:relative}.amt-cell .split-amt{position:absolute;right:0;top:100%;margin-top:1px;line-height:1.2}.ec-cat-no{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px}.pair-all{margin-left:auto;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}label.link.ec-miss{color:#a32020;font-weight:600;cursor:pointer;text-decoration:underline}
