:root{--bg:#faf9f6;--surface:#ffffff;--surface-elevated:#fafaf8;--text:#1e1e1e;--muted:#737373;--line:#e5e5e5;--brand:#e8d8ac;--brand-soft:#f4edd6;--success:#216a3a;--warn:#916514;--danger:#a82b2f;--radius-s:12px;--radius-m:20px;--radius-l:24px;--shadow-m:0 10px 30px rgba(14,17,23,0.08);--shadow-s:0 4px 16px rgba(14,17,23,0.06);--font-sans:"SF Pro Text","SF Pro Display","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-print:"Aptos","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-mono:"SF Mono","SFMono-Regular","Menlo","Consolas",monospace}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:var(--font-sans);background:var(--bg);background-image:radial-gradient(circle at 10% 10%,#eefcff 0,transparent 40%),radial-gradient(circle at 90% 90%,#fdf4e4 0,transparent 40%),radial-gradient(circle at 50% 100%,#fef5f2 0,transparent 50%);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;font-weight:500}a{color:inherit}button,input,select,textarea{font:inherit}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-s);padding:12px 14px;background:var(--surface);transition:all .2s ease;font-size:14px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}button{border:1px solid transparent;border-radius:var(--radius-s);padding:10px 14px;cursor:pointer;transition:.18s ease}button:disabled{opacity:.6;cursor:not-allowed}.primary-btn{background:var(--brand);color:#1e1e1e;border-radius:999px;font-weight:500}.primary-btn:hover{background:#d8c48a}.ghost-btn{background:var(--surface);border-color:var(--line);border-radius:999px;font-weight:500;color:var(--text)}.ghost-btn:hover{background:var(--bg);border-color:#d1d1d1}.panel{border:none;background:var(--surface);border-radius:var(--radius-l);box-shadow:0 12px 40px rgba(0,0,0,.04)}.invoice-form{padding:24px;display:grid;grid-gap:18px;gap:18px}.invoice-form__header{display:grid;grid-gap:6px;gap:6px}.invoice-form__customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.invoice-form__customer-grid label{display:grid;grid-gap:6px;gap:6px;font-size:14px;color:var(--muted)}.invoice-form__items{display:grid;grid-gap:12px;gap:12px;padding:16px;border:none;border-radius:var(--radius-m);background:var(--surface-elevated);box-shadow:inset 0 2px 10px rgba(0,0,0,.02)}.invoice-form__items-head{display:flex;justify-content:space-between;align-items:center}.invoice-item-row{display:grid;grid-template-columns:minmax(200px,1fr) 86px 132px 120px auto;grid-gap:8px;gap:8px;align-items:center}.invoice-item-row--header{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 0 6px}.invoice-item-row strong{text-align:right;font-size:14px}.invoice-form__totals{display:grid;grid-gap:8px;gap:8px;padding:20px;border:none;border-radius:var(--radius-m);background:var(--surface-elevated)}.invoice-form__totals div{display:flex;justify-content:space-between;align-items:center}.invoice-form__grand-total{margin-top:4px;padding-top:8px;border-top:1px dashed var(--line);font-size:18px}.modal-backdrop{position:fixed;inset:0;z-index:70;background:rgba(9,12,18,.45);display:grid;place-items:center;padding:20px}.settings-modal{width:min(520px,100%);padding:24px;display:grid;grid-gap:20px;gap:20px}.settings-modal__head{display:flex;align-items:center;justify-content:space-between}.settings-section__label{margin:0 0 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.settings-field{display:grid;grid-gap:6px;gap:6px;font-size:14px;color:var(--muted)}.settings-field--full{grid-column:1/-1}.settings-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid transparent;border-radius:var(--radius-s);background:var(--surface-elevated);padding:16px;cursor:pointer;transition:all .2s ease}.settings-toggle:hover{background:var(--brand-soft)}.settings-toggle input[type=checkbox]{flex-shrink:0;width:18px;height:18px;margin-top:2px;cursor:pointer;border:none;padding:0;border-radius:4px}.settings-toggle__sub{display:block;font-size:13px;color:var(--muted);margin-top:2px;font-weight:400}@media (max-width:480px){.settings-grid{grid-template-columns:1fr}}.app-shell{max-width:1300px;margin:0 auto;padding:28px 20px 80px}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.app-header__eyebrow{margin:0;color:var(--muted);letter-spacing:1px;font-size:12px;text-transform:uppercase}.app-header__title{margin:4px 0 0;font-size:38px}.app-workspace{display:grid;grid-template-columns:1.1fr 1fr;grid-gap:16px;gap:16px;align-items:start}.app-workspace__form{position:-webkit-sticky;position:sticky;top:20px}.app-workspace__list{min-width:0}.complete-btn{width:100%;padding:14px;font-size:16px;font-weight:600;letter-spacing:.01em;border-radius:var(--radius-m)}@media (max-width:720px){.invoice-item-row{grid-template-columns:1fr 1fr}.invoice-item-row--header{display:none}.invoice-item-row strong{text-align:left}}.invoice-list{padding:20px}.invoice-list__head{margin-bottom:16px}.invoice-list__empty{color:var(--muted);font-size:14px;margin:0;padding:8px 0}.invoice-list__rows{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.invoice-row{border-radius:var(--radius-s);overflow:hidden;transition:all .2s ease;margin-bottom:4px}.invoice-row:hover{background:var(--surface-elevated);transform:translateY(-1px)}.invoice-row__main{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radius-s);border:1px solid transparent}.invoice-list__rows>.invoice-row:first-child .invoice-row__main{border-top:none}.invoice-row__meta{display:flex;flex-direction:column;gap:2px;min-width:0}.invoice-row__no{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.invoice-row__customer{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-row__right{display:flex;align-items:center;gap:8px;flex-shrink:0}.invoice-row__total{font-size:15px;font-weight:600;white-space:nowrap}.invoice-row__toggle{padding:4px 8px;font-size:12px}.invoice-row__actions{display:flex;gap:8px;padding:8px 10px 12px;background:#f7f8fb;border-top:1px solid var(--line)}.status-badge{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 8px;border:1px solid transparent}.status-badge--complete{background:#e7f5ee;color:var(--success);border-color:#b8dfc9}.status-badge--draft{background:#f2f3f5;color:var(--muted);border-color:var(--line)}.status-badge--sent{background:#eef2ff;color:#3d4fc4;border-color:#c5cdf5}.status-badge--paid{background:#e7f5ee;color:var(--success);border-color:#b8dfc9}.status-badge--overdue{background:#fdf1f1;color:var(--danger);border-color:#f0c4c5}.invoice-preview-modal{display:flex;width:min(1000px,96vw);max-height:90vh;border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-xl);background:var(--surface)}.invoice-preview-modal__preview{flex:1 1;overflow-y:auto;background:#f5f6f8;padding:24px;border-right:1px solid var(--line)}.invoice-preview-modal__preview>section{border-radius:var(--radius-s);box-shadow:0 4px 20px rgba(14,17,23,.08)}.invoice-preview-modal__sidebar{width:320px;background:var(--surface-elevated);border-left:1px solid var(--line);padding:24px;display:flex;flex-direction:column;overflow-y:auto}.invoice-preview-modal__badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--success);background:#e7f5ee;border:1px solid #b8dfc9;border-radius:999px;padding:4px 12px;align-self:flex-start}.invoice-preview-modal__meta{display:grid;grid-gap:2px;gap:2px;margin-top:4px}.invoice-preview-modal__no{margin:0;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.invoice-preview-modal__customer{margin:0;font-size:17px;font-weight:600;line-height:1.3}.invoice-preview-modal__total{margin:0;font-size:24px;font-weight:700;letter-spacing:-.02em}.invoice-preview-modal__error{margin:0;color:var(--danger);font-size:13px}.invoice-preview-modal__actions{display:grid;grid-gap:8px;gap:8px;margin-top:auto}.modal-section{display:grid;grid-gap:8px;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.modal-section--cancel{margin-top:auto}.modal-section__label{margin:0;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.modal-section__actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.modal-send-row{display:grid;grid-gap:4px;gap:4px}.modal-send-row__input-wrap{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px}.modal-send-row__input{padding:7px 10px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-elevated);font-size:13px;color:var(--text);min-width:0;transition:border-color .15s}.modal-send-row__input:focus{outline:none;border-color:var(--brand)}.modal-send-row__btn{padding:7px 12px;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--surface-elevated);font-size:13px;font-weight:600;color:var(--text);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.modal-send-row__btn:hover:not(:disabled){background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.modal-send-row__btn:disabled{opacity:.5;cursor:not-allowed}.modal-send-row__feedback{margin:0;font-size:12px}.modal-send-row__feedback--ok{color:var(--success)}.ghost-btn--danger,.modal-send-row__feedback--error{color:var(--danger)}.ghost-btn--danger{border-color:transparent}.ghost-btn--danger:hover:not(:disabled){background:#fdf1f1;border-color:#f0c4c5}@media (max-width:640px){.invoice-preview-modal{grid-template-columns:1fr;grid-template-rows:1fr auto;max-height:92vh}.invoice-preview-modal__preview{border-right:none;border-bottom:1px solid var(--line)}.invoice-preview-modal__sidebar{padding:16px}}@media (max-width:960px){.app-workspace{grid-template-columns:1fr}.app-workspace__form{position:static}}.a4-print-zone{display:none}@media print{body{background:#fff}.app-header,.app-workspace__form,.app-workspace__list,.modal-backdrop{display:none!important}.a4-print-zone{display:block!important}.a4-print-zone #a4-invoice{display:block!important;page-break-inside:avoid}}