:root{--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"Work Sans", system-ui, sans-serif;--font-document:"Newsreader", Georgia, serif;--color-bg:#faf6ef;--color-surface:#fffdf8;--color-border:#e8dfcf;--color-border-strong:#8a7d62;--color-text:#241f1a;--color-text-muted:#6b6152;--color-nav:#2b2420;--color-nav-item-active:#3b332b;--color-nav-item-text:#faf6ef;--color-nav-item-muted:#c9bfae;--color-accent:#b14a1e;--color-accent-hover:#963d18;--color-accent-contrast:#fff;--color-secondary-accent:#35507d;--color-status-draft-fg:#6b6152;--color-status-draft-bg:#f1ece0;--color-status-sent-fg:#35507d;--color-status-sent-bg:#eaf0f8;--color-status-paid-fg:#2e633c;--color-status-paid-bg:#eaf5ec;--color-status-overdue-fg:#a8341f;--color-status-overdue-bg:#fbeae6;--color-status-void-fg:#6b6152;--color-status-void-bg:#f1ece0;--radius-control:10px;--radius-card:16px;--radius-sheet:4px;--shadow-card:0 2px 8px #241f1a0f;--shadow-sheet:0 2px 8px #241f1a14, 0 14px 32px #241f1a1a;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--focus-ring:0 0 0 3px #b14a1e59;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:600}button,input,select,textarea{color:inherit;font-family:inherit}a{color:var(--color-accent)}a:hover{color:var(--color-accent-hover)}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-control);outline:none}@media print{body{background:#fff}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field-label{letter-spacing:.02em;color:var(--color-text-muted);font-size:12px;font-weight:500}.field-input,.field-select,.field-textarea{font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);width:100%;padding:9px 13px;font-size:14px}.field-input,.field-select{height:40px}.field-select{appearance:none;background-image:none}.field-textarea{resize:vertical;min-height:64px}.field-input-num{text-align:right;padding-left:8px;padding-right:4px}.field-input::placeholder,.field-textarea::placeholder{color:#a79c8c}.field-input:focus-visible,.field-select:focus-visible,.field-textarea:focus-visible{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.field-error{color:var(--color-status-overdue-fg);font-size:12px}.form-section{background:var(--color-surface);border-radius:var(--radius-card);min-width:0;box-shadow:var(--shadow-card);flex-direction:column;gap:12px;padding:20px;display:flex}.form-section-title{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);border-left:3px solid var(--color-accent);border-bottom:2px solid var(--color-accent);justify-content:space-between;align-items:center;gap:8px;padding:3px 0 8px 10px;font-size:12.5px;font-weight:700;display:flex}.form-section-title-button{all:unset;cursor:pointer;box-sizing:border-box;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.form-section-title-button:focus-visible{box-shadow:var(--focus-ring);border-radius:4px}.form-section-summary{color:var(--color-text-muted);font-size:13px}.btn{font-family:var(--font-body);border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{height:34px;padding:0 12px;font-size:13px}.btn-solid{color:var(--color-accent-contrast);background:var(--color-accent);border-color:var(--color-accent)}.btn-solid:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-ghost{color:var(--color-text);background:var(--color-surface);border-color:var(--color-border)}.btn-ghost:hover:not(:disabled){background:#f3eee3}.btn-danger-ghost{color:var(--color-status-overdue-fg);background:var(--color-surface);border-color:var(--color-border)}.btn-danger-ghost:hover:not(:disabled){background:var(--color-status-overdue-bg)}.btn:focus-visible,.field-input:focus-visible,a:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus-ring);outline:none}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.chip{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.chip[aria-pressed=true]{background:var(--color-nav);border-color:var(--color-nav);color:#fff}.line-items-header{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 56px 76px 76px 28px;gap:8px;padding:0 4px 8px;font-size:11px;display:grid}.line-item-row{border-bottom:1px solid #f3eee3;grid-template-columns:1fr 56px 76px 76px 28px;align-items:center;gap:8px;padding:8px 4px;display:grid}.line-item-total{text-align:right;color:var(--color-text-muted);font-size:13px}.line-item-remove{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.line-item-remove:hover{background:var(--color-status-overdue-bg);color:var(--color-status-overdue-fg)}.editor-grid{grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.editor-two-col{gap:12px;min-width:0;display:flex}.editor-two-col>*{min-width:0}@media (width<=1080px){.editor-grid{grid-template-columns:minmax(0,1fr)}}.li-mobile-label{color:var(--color-text-muted);margin-bottom:2px;font-size:11px;display:none}@media (width<=640px){.li-mobile-label{display:block}.line-items-header{display:none}.line-item-row{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);grid-template-columns:1fr auto;grid-template-areas:"desc remove""qty qty""price price""total total";row-gap:6px;margin-bottom:10px;padding:12px}.line-item-row .li-description{grid-area:desc}.line-item-row .li-remove{grid-area:remove}.line-item-row .li-qty{grid-area:qty}.line-item-row .li-price{grid-area:price}.line-item-row .li-total{text-align:left;grid-area:total}.editor-two-col{flex-direction:column}}.app-shell{min-height:100vh;display:flex}.app-shell-rail{background:var(--color-nav);flex-direction:column;flex-shrink:0;align-items:center;gap:16px;width:76px;height:100vh;padding:20px 0;display:flex;position:sticky;top:0;overflow-y:auto}.app-shell-footer-links{flex-direction:column;align-items:center;gap:6px;margin-top:auto;display:flex}.app-shell-content{flex:1;min-width:0}@media (width<=640px){.app-shell{flex-direction:column}.app-shell-rail{flex-direction:row;justify-content:center;width:100%;height:auto;padding:10px 0;position:static;overflow-y:visible}.app-shell-footer-links{flex-direction:row;gap:12px;margin-top:0;margin-left:12px}}.invoice-table-wrap{overflow-x:auto}.invoice-table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.invoice-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:#f8f4ec;padding:13px 16px;font-size:11px;font-weight:500}.invoice-table td{border-top:1px solid #f3eee3;padding:14px 16px}.invoice-table tbody tr{cursor:pointer}.invoice-table tbody tr:hover{background:#fbf8f1}.invoice-table tbody tr:focus-visible{box-shadow:inset var(--focus-ring);outline:none}@media (prefers-reduced-motion:no-preference){.btn,.chip{transition:background-color .12s,border-color .12s}}@keyframes trust-banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes trust-badge-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.trust-badge{opacity:1}@media (prefers-reduced-motion:no-preference){.trust-banner{animation:.32s ease-out both trust-banner-in}.trust-badge{opacity:0;animation:.26s ease-out both trust-badge-in}}
