:root{--navy:#1f3864;--navy-tint:#d9e2f3;--muted:#595959;--line:#c9d3e6;--page-bg:#eef1f6;--panel-bg:#fff;--panel-border:#dde3ec;--text:#1b2333}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page-bg);color:var(--text);font-family:Calibri,Segoe UI,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.45}.app{grid-template-columns:minmax(360px,460px) 1fr;align-items:start;gap:24px;max-width:1600px;margin:0 auto;padding:24px;display:grid}@media (max-width:1100px){.app{grid-template-columns:1fr}}.pane{min-width:0}.pane--form{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;max-height:calc(100vh - 48px);padding:20px;position:sticky;top:24px;overflow-y:auto}@media (max-width:1100px){.pane--form{max-height:none;position:static}}.pane--preview{flex-direction:column;align-items:center;gap:12px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;width:100%;max-width:210mm;display:flex}.toolbar__spacer{flex:1}.appTitle{color:var(--navy);margin:0 0 4px;font-size:20px}.appSub{color:var(--muted);margin:0 0 18px;font-size:13px}.fieldset{border:1px solid var(--panel-border);border-radius:8px;margin:0 0 16px;padding:14px}.fieldset>legend{letter-spacing:.08em;text-transform:uppercase;color:var(--navy);padding:0 6px;font-size:12px;font-weight:700}.field{margin-bottom:10px;display:block}.field:last-child{margin-bottom:0}.field>span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}input,textarea{width:100%;font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#fff;border-radius:6px;padding:7px 9px;font-size:13px}input:focus,textarea:focus{outline:2px solid var(--navy-tint);border-color:var(--navy)}textarea{resize:vertical;min-height:60px}.btn{font:inherit;border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:6px;padding:8px 14px;font-size:13px;font-weight:600}.btn:hover{filter:brightness(1.15)}.btn--ghost{color:var(--navy);background:#fff}.btn--danger{color:#a33;background:#fff;border-color:#d8b0b0;padding:4px 9px;font-size:12px}.item{border:1px solid var(--panel-border);background:#fafbfd;border-radius:8px;margin-bottom:10px;padding:10px}.item__head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.item__index{color:var(--navy);font-size:12px;font-weight:700}.grid3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.hint{color:var(--muted);margin:6px 0 0;font-size:12px}.btn--tiny{padding:3px 8px;font-size:11px;font-weight:600}.linkBtn{font:inherit;color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.msg{border-radius:6px;margin:8px 0 0;padding:6px 9px;font-size:12px}.msg--error{color:#a3282a;background:#fdecec;border:1px solid #f0c2c2}.msg--ok{color:#1e6b34;background:#e9f5ec;border:1px solid #bfe0c8}.toolbarError{width:100%;max-width:210mm}.bootMsg{text-align:center;color:var(--muted);padding:40px}.authWrap{justify-content:center;padding:60px 20px;display:flex}.authCard{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:10px;width:100%;max-width:380px;padding:26px}.authSubmit{width:100%;margin-top:6px}.authSwap{text-align:center}.accountBar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.badge{letter-spacing:.04em;color:var(--navy);background:var(--navy-tint);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;overflow:hidden}.saved{max-height:260px;margin:0;padding:0;list-style:none;overflow-y:auto}.saved__row{border:1px solid var(--panel-border);background:#fafbfd;border-radius:8px;margin-bottom:8px;padding:8px 10px}.saved__row.is-current{border-color:var(--navy);background:var(--navy-tint)}.saved__open{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:2px;padding:0;display:flex}.saved__title{color:var(--navy);font-size:13px;font-weight:600}.saved__meta{align-items:center;gap:6px;display:flex}.saved__date{color:var(--muted);font-size:11px}.pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.pill--draft{color:#7a5a1e;background:#f0e6d2}.pill--final{background:var(--navy-tint);color:var(--navy)}.pill--sent{color:#1e6b34;background:#dcf0e2}.modalBackdrop{z-index:50;background:#141c2d73;justify-content:center;align-items:flex-start;padding:40px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel-bg);border-radius:10px;width:100%;max-width:460px;padding:22px}.modal__title{color:var(--navy);margin:0 0 2px;font-size:17px}.modal__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.saved__actions{gap:6px;margin-top:8px;display:flex}.sheet{color:#000;background:#fff;width:210mm;min-height:297mm;padding:16mm 15mm;font-size:11pt;box-shadow:0 6px 24px #1f386424}.sheet .ph{color:#9aa4b6}.inv__top{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.inv__from{max-width:55%}.inv__name{color:var(--navy);margin-bottom:2px;font-size:14pt;font-weight:700}.inv__fromLine{color:var(--muted);font-size:10pt}.inv__meta{text-align:right;min-width:38%}.inv__title{letter-spacing:.06em;color:var(--navy);font-size:24pt;font-weight:700;line-height:1.1}.inv__date{color:var(--muted);margin-bottom:8px;font-size:10pt}.inv__metaRow{font-size:10pt}.inv__metaRow b{color:var(--navy);letter-spacing:.04em}.inv__rule{background:var(--navy);height:3px;margin:14px 0 16px}.sectionTitle{background:var(--navy);color:#fff;letter-spacing:.1em;margin-bottom:0;padding:5px 8px;font-size:10pt;font-weight:700}table.inv{border-collapse:collapse;width:100%;font-size:10pt}table.inv th,table.inv td{border:1px solid var(--line);vertical-align:top;padding:5px 8px}table.inv thead th{background:var(--navy);color:#fff;letter-spacing:.06em;text-align:right;font-weight:700}table.inv thead th:first-child{text-align:left}.billTo th{background:var(--navy-tint);color:var(--navy);text-align:left;width:30%;font-weight:700}.num{text-align:right;white-space:nowrap}tr.totalRow td{background:var(--navy-tint);color:var(--navy);font-weight:700}.inv__foot{justify-content:space-between;align-items:flex-start;gap:24px;margin-top:18px;display:flex}.remarks{flex:1;font-size:10pt}.remarks__title{color:var(--navy);margin-bottom:4px;font-weight:700}.remarks__line{color:var(--muted)}.remarks__extra{white-space:pre-wrap;color:var(--muted);margin-top:8px}.summary{border-collapse:collapse;width:46%;font-size:10pt}.summary td{border:1px solid var(--line);padding:6px 8px}.summary .label{background:var(--navy-tint);color:var(--navy);letter-spacing:.06em;font-weight:700}.summary .due td{background:var(--navy);color:#fff;font-weight:700}.spacer{height:12px}@page{size:A4;margin:12mm}@media print{body{background:#fff}.app{max-width:none;padding:0;display:block}.pane--form,.toolbar,.toolbarError,.modalBackdrop{display:none!important}.pane--preview{display:block}.sheet{width:auto;min-height:0;box-shadow:none;padding:0}.sheet .ph{color:#000}.sectionTitle,table.inv thead th,.billTo th,tr.totalRow td,.summary .label,.summary .due td,.inv__rule{-webkit-print-color-adjust:exact;print-color-adjust:exact}table.inv,.inv__foot{break-inside:avoid}}
