.data-table{gap:.5rem;display:grid}.data-table-meta{color:var(--muted,#5d6a63);align-items:center;gap:1rem;font-size:.875rem;display:flex}.data-table-meta button{font:inherit;border:1px solid var(--border,#d9d3c3);color:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:.2rem .6rem}.data-table-scroll{border:1px solid var(--border,#d9d3c3);background:var(--surface,#fffdf7);border-radius:.75rem;overflow-x:auto}.data-table table{border-collapse:collapse;width:100%;font-size:.9375rem}.data-table th,.data-table td{text-align:start;white-space:nowrap;border-bottom:1px solid var(--border,#d9d3c3);padding:.5rem .75rem}.data-table .align-end{text-align:end}.data-table th button{all:unset;cursor:pointer;align-items:baseline;gap:.25rem;font-weight:600;display:inline-flex}.data-table th button:focus-visible{outline:2px solid var(--accent,#1f5f4a);outline-offset:2px}.data-table .sort-indicator{color:var(--accent,#1f5f4a);font-size:.7rem}.data-table .filter-row td{padding-top:0}.data-table .filter-row input{width:100%;min-width:5rem;font:inherit;border:1px solid var(--border,#d9d3c3);background:var(--bg,#f4f1e8);color:inherit;border-radius:.375rem;padding:.25rem .4rem;font-size:.875rem}.data-table .filter-row input[aria-invalid=true]{border-color:#c0392b;outline-color:#c0392b}.data-table tbody tr:last-child td{border-bottom:none}.data-table tfoot td{border-top:2px solid var(--border,#d9d3c3);font-variant-numeric:tabular-nums;border-bottom:none;font-weight:700}.data-table tbody tr.clickable{cursor:pointer}.data-table tbody tr.clickable:hover{background:color-mix(in srgb, var(--accent,#1f5f4a) 8%, transparent)}.data-table-empty{text-align:center;color:var(--muted,#5d6a63)}@media (width<=640px){.data-table .secondary{display:none}}.version-footer{padding:1.5rem 1rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));color:var(--muted,#5d6a63);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:.25rem .5rem;font-size:.75rem;display:flex}:root{--bg:#f4f1e8;--surface:#fffdf7;--text:#1d2420;--muted:#5d6a63;--accent:#1f5f4a;--accent-text:#f4f1e8;--border:#d9d3c3;--danger:#b03a2e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121614;--surface:#1b211e;--text:#e7ebe8;--muted:#9aa8a0;--accent:#6fbf9c;--accent-text:#0f1311;--border:#2d3631;--danger:#f08a7e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121614;--surface:#1b211e;--text:#e7ebe8;--muted:#9aa8a0;--accent:#6fbf9c;--accent-text:#0f1311;--border:#2d3631;--danger:#f08a7e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.5}.topbar{padding:.75rem 1rem;padding-top:max(.75rem, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;display:flex}.brand{letter-spacing:.02em;font-weight:700}.topbar nav{gap:.25rem;display:flex;overflow-x:auto}.topbar nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:.4rem .75rem;text-decoration:none}.topbar nav a.active{background:var(--accent);color:var(--accent-text)}.content{max-width:72rem;margin:0 auto;padding:1rem}.settings{gap:1rem;max-width:24rem;display:grid}.settings label{color:var(--muted);gap:.25rem;display:grid}select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:.5rem;padding:.5rem}a{color:var(--accent)}h1{overflow-wrap:anywhere;margin:.25rem 0 1rem;font-size:1.6rem}h2{margin:1.75rem 0 .75rem;font-size:1.15rem}.muted,.status{color:var(--muted)}.status.error{color:#c0392b}.pre{white-space:pre-line}.detail .back{margin-bottom:.25rem;font-size:.9rem;text-decoration:none;display:inline-block}.title-row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.title-row h1{margin:0}.columns{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:start;gap:1rem 2rem;display:grid}.facts{grid-template-columns:minmax(8rem,max-content) 1fr;gap:.35rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.card{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:.75rem 1rem;font-style:normal;display:grid}.badge{background:var(--border);color:var(--text);border-radius:999px;padding:.1rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-paid{background:var(--accent);color:var(--accent-text)}.lines-scroll{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;position:relative;overflow-x:auto}.lines{border-collapse:collapse;width:100%}.lines th,.lines td{text-align:start;border-bottom:1px solid var(--border);white-space:nowrap;padding:.45rem .75rem}.lines tbody tr:last-child td{border-bottom:none}.lines .num{text-align:end}.lines .description{white-space:normal;min-width:12rem}.totals{grid-template-columns:max-content minmax(7rem,max-content);justify-content:end;gap:.25rem 1.5rem;margin:.75rem 0;display:grid}.totals dt{color:var(--muted)}.totals dd{text-align:end;font-variant-numeric:tabular-nums;margin:0}.totals dt:last-of-type,.totals dd:last-of-type{color:var(--text);font-weight:700}.shell{flex-direction:column;min-height:100dvh;display:flex}.shell>.content{flex:1;width:100%}.pdf-link{white-space:nowrap}.title-row .pdf-link{border:1px solid var(--accent);border-radius:999px;padding:.2rem .75rem;font-size:.9rem;text-decoration:none}.undo-redo-bar,.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1rem;display:flex}button,a.button{font:inherit;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text);cursor:pointer;white-space:nowrap;border-radius:999px;padding:.45rem .9rem;text-decoration:none}button:disabled{opacity:.45;cursor:default}button.secondary,.undo-redo-bar button{color:var(--accent);background:0 0}button.danger{border-color:var(--danger);color:var(--danger);background:0 0}button.danger.solid{background:var(--danger);color:var(--surface)}.danger-zone{border-top:1px solid var(--border);margin-top:2.5rem;padding-top:1rem}.notice.danger-notice{border-color:var(--danger)}.icon-button{color:var(--muted);background:0 0;border-color:#0000;padding:.2rem .5rem}.save-status{color:var(--muted);margin-inline-start:auto;font-size:.9rem}.save-status-error,.save-status-invalid{color:#c0392b}.form-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));align-items:start;gap:.75rem 1rem;display:grid}.field{gap:.25rem;min-width:0;display:grid}.field>span,.field>label{color:var(--muted);font-size:.9rem}.field.wide{grid-column:1/-1}input,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:.5rem;padding:.45rem .6rem}textarea{resize:vertical}input[aria-invalid=true]{border-color:#c0392b}input:disabled,textarea:disabled,select:disabled{opacity:.7}.hint{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;font-size:.85rem;display:block}fieldset.plain{border:0;min-width:0;margin:0;padding:0}.notice{border:1px solid var(--accent);background:var(--surface);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:1rem 0;padding:.75rem 1rem;display:flex}.notice p{flex:16rem;margin:0}h2.with-link{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}h2.with-link a{font-size:.9rem;font-weight:400}.lines-editor{justify-items:start;gap:.5rem;display:grid}.lines-editor .lines-scroll{width:100%}.lines-editor td{vertical-align:top;padding:.3rem .4rem}.lines-editor td.num{padding-top:.75rem}.lines-editor td.num:has(input){padding-top:.3rem}.lines-editor .line-description{min-width:16rem}.lines-editor .line-unit{width:6rem}.lines-editor .line-quantity,.lines-editor .line-unitPrice{text-align:end;width:7rem}.lines-editor .line-vat{text-align:end;width:4.5rem}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pdf-actions{align-items:center;gap:.25rem;display:inline-flex}.title-notice{flex-basis:100%;margin:0}.logo-preview{background:#fff;border-radius:.5rem;max-width:min(100%,12rem);max-height:8rem;margin-bottom:.75rem;display:block}.file-button{display:inline-block}.file-button input{opacity:0;width:1px;height:1px;position:absolute}.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.chat{gap:.75rem;max-width:48rem;display:grid}.chat-log{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.chat-log li{overflow-wrap:anywhere;border-radius:1rem;max-width:85%;padding:.5rem .85rem}.chat-me{background:var(--accent);color:var(--accent-text);justify-self:end}.chat-bot{background:var(--surface);border:1px solid var(--border);justify-self:start}.chat-error{border-color:#c0392b}.chat-hint{color:var(--muted);padding-inline:0!important}.chat-input{gap:.5rem;display:flex}.chat-input input{flex:1}button.listening{background:#c0392b;border-color:#c0392b}.login{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));align-content:center;place-items:center;gap:1rem;display:grid}.login-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;justify-items:center;gap:.75rem;width:min(100%,24rem);padding:2rem 1.5rem;display:grid}.login-card h1,.login-card p{margin:0}.login-card .status{width:100%}.login-privacy{color:var(--muted);font-size:.9rem}.privacy{max-width:44rem;padding:max(1rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));overflow-wrap:anywhere;margin:0 auto;line-height:1.55}.privacy-languages{justify-content:flex-end;gap:.5rem;display:flex}.privacy-languages button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.privacy h2{margin-top:1.75rem;font-size:1.15rem}.google-button{justify-content:center;min-height:44px;display:flex}.account{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-bottom:1.5rem;padding:1rem;display:flex}.account-who{overflow-wrap:anywhere;flex:12rem;min-width:0;display:grid}.avatar{object-fit:cover;border-radius:50%;width:56px;height:56px}.avatar-initial{color:var(--accent-text);background:var(--accent);place-items:center;font-size:1.5rem;font-weight:700;display:grid}.account .status{flex-basis:100%}
