:root{--navy: #1a2233;--ink: #111111;--muted: #8a8f98;--rule: #1a2233;--rule-light: #e2e4e8;--page-bg: #f3f4f6;--paper: #f5f5f7;--white: #ffffff;--workbench: #e8eaed;--font: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font);background:var(--workbench);color:var(--ink);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.toolbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:var(--navy);color:var(--white)}.toolbar__brand{font-weight:700;letter-spacing:.04em;font-size:.95rem}.toolbar__actions{display:flex;flex-wrap:wrap;gap:.5rem}.toolbar button{border:1px solid rgba(255,255,255,.35);background:transparent;color:var(--white);padding:.45rem .85rem;border-radius:4px;cursor:pointer;font-weight:600;font-size:.85rem}.toolbar button:hover{background:#ffffff1f}.toolbar button.primary{background:var(--white);color:var(--navy);border-color:var(--white)}.toolbar button.primary:hover{background:#e8eef5}.workspace{flex:1;display:grid;grid-template-columns:minmax(400px,560px) 1fr;gap:1.25rem;padding:1.25rem;align-items:start}@media(max-width:960px){.workspace{grid-template-columns:1fr}}.editor-panel{background:var(--white);border:1px solid #d0d5dd;border-radius:8px;padding:0 1.25rem 1.5rem;max-height:calc(100vh - 5.5rem);overflow:auto;position:sticky;top:4.25rem}.editor-panel__header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0 -1.25rem .25rem;padding:.85rem 1.25rem;background:var(--white);border-bottom:1px solid #e4e7ec}.editor-panel__title{margin:0;font-size:.85rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--navy)}.editor-panel__header-actions{display:flex;flex-wrap:wrap;gap:.35rem}.editor-panel__header-actions .ghost-btn{margin-top:0}.preview-panel{display:flex;justify-content:center;padding-bottom:2rem;overflow:auto}.editor-section{border-bottom:1px solid #e4e7ec;margin:0 -.25rem;padding:0 .25rem}.editor-section:last-child{border-bottom:none}.editor-section__summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:0;padding:.85rem .35rem;border-radius:4px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.editor-section__summary::-webkit-details-marker{display:none}.editor-section__summary:hover{background:#f4f6f9}.editor-section__summary:hover .editor-section__title{color:#0f172a}.editor-section__title{font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}.editor-section__chevron{width:.5rem;height:.5rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s ease;flex-shrink:0;margin-right:.15rem}.editor-section[open]>.editor-section__summary .editor-section__chevron{transform:rotate(225deg)}.editor-section__body{padding:0 .35rem .95rem}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.65rem;min-width:0}.field label{font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.field input,.field textarea,.field select{border:1px solid #c9ced6;border-radius:4px;padding:.5rem .6rem;background:#fafafa;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field input:hover,.field textarea:hover,.field select:hover{border-color:#aeb5c0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1a22331f;background:var(--white)}.field textarea{min-height:4rem;resize:vertical}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.field-row--3{grid-template-columns:1fr 1fr 1fr}.field-row--4{grid-template-columns:1fr 1fr 1fr 1fr}@media(max-width:520px){.field-row--3,.field-row--4{grid-template-columns:1fr 1fr}}.line-card{border:1px solid #d8dde6;border-radius:6px;padding:.65rem;margin-bottom:.65rem;background:#fafbfc}.line-card__actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.line-card__actions button,.editor-panel .ghost-btn{border:1px solid #c9ced6;background:var(--white);border-radius:4px;padding:.35rem .6rem;cursor:pointer;font-size:.78rem;font-weight:600}.line-card__actions button:hover,.editor-panel .ghost-btn:hover{background:#eef2f7}.line-card__actions button:disabled{opacity:.45;cursor:not-allowed}.editor-panel .ghost-btn{margin-top:.25rem}.totals-note{font-size:.85rem;color:var(--muted);margin:.5rem 0 0}.invoice-sheet{width:210mm;min-height:297mm;background:var(--paper);color:var(--ink);font-family:var(--font);padding:6mm 15mm 14mm;box-shadow:0 8px 28px #0f172a2e;position:relative;border-top:6px solid var(--navy);border-bottom:6px solid var(--navy);-webkit-print-color-adjust:exact;print-color-adjust:exact}.invoice-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:0 0 8px}.invoice-logo{display:block;height:72px;width:auto;object-fit:contain;object-position:left center}.invoice-title{margin:0;padding-top:4px;font-size:40px;font-weight:700;letter-spacing:.04em;line-height:1;color:var(--navy);text-transform:uppercase}.invoice-rule{border:none;border-top:2.5px solid var(--navy);margin:0 0 16px}.invoice-meta{display:grid;grid-template-columns:1.2fr 1.15fr 1fr;gap:20px;margin-bottom:22px}.meta-label{margin:0 0 8px;font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.meta-block p{margin:0;font-size:12px;line-height:1.5;white-space:pre-line}.party-name{font-weight:700;color:var(--ink)}.party-detail{font-weight:400;color:var(--ink)}.meta-grid{display:grid;grid-template-columns:auto 1fr;column-gap:22px;row-gap:6px;align-items:baseline}.meta-grid .meta-label{margin:0}.meta-grid .meta-value{margin:0;font-size:12px;font-weight:700;text-align:right;color:var(--ink)}.company-block{text-align:right}.company-block .company-name{margin-bottom:2px}.items-table{width:100%;border-collapse:collapse;table-layout:fixed}.items-table thead th{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);padding:9px 6px;border-top:2.5px solid var(--navy);border-bottom:2px solid var(--navy)}.items-table th.col-desc,.items-table td.col-desc{text-align:left;width:44%;padding-left:0}.items-table th.col-qty,.items-table td.col-qty,.items-table th.col-price,.items-table td.col-price,.items-table th.col-gst,.items-table td.col-gst,.items-table th.col-amount,.items-table td.col-amount{text-align:right}.items-table th.col-qty,.items-table td.col-qty{width:11%}.items-table th.col-price,.items-table td.col-price{width:15%}.items-table th.col-gst,.items-table td.col-gst{width:12%}.items-table th.col-amount,.items-table td.col-amount{padding-right:0;width:18%}.items-table tbody td{font-size:11.5px;font-weight:400;padding:7px 6px;border-bottom:1px solid var(--rule-light);vertical-align:top;color:var(--ink)}.items-table tbody tr:last-child td{border-bottom:none}.totals-wrap{display:flex;flex-direction:column;align-items:flex-end;width:100%;margin-top:0;padding-top:12px;border-top:1px solid #111}.totals-rows{width:240px;margin-bottom:10px}.totals-row{display:flex;justify-content:space-between;gap:1.5rem;font-size:12px;padding:3px 0;color:var(--ink)}.totals-label{font-weight:400}.totals-value{font-weight:700}.totals-row--gst{border-bottom:1px solid #111;padding-bottom:8px}.totals-rule{width:100%;height:0;border:none;border-top:2px solid #111;margin:0 0 10px}.total-bar{width:100%;background:var(--navy);color:var(--white);display:flex;justify-content:space-between;align-items:center;padding:11px 16px;margin-top:0;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}.payment-terms{margin:18px 0 12px;font-size:12px;font-weight:400;color:var(--ink)}.payment-terms strong{font-weight:700}.payment-terms span{font-weight:400;margin-left:4px}.bank-box{border:1.25px solid #222;padding:12px 14px 14px;background:transparent}.bank-box__title{margin:0 0 12px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.bank-grid{display:grid;grid-template-columns:1.35fr 1fr;column-gap:40px;row-gap:8px}.bank-row{display:grid;grid-template-columns:118px 1fr;gap:8px;font-size:11.5px;align-items:baseline}.bank-row .bank-label{color:var(--ink);font-weight:400}.bank-row .bank-value{font-weight:700;color:var(--ink);text-align:left}.bank-row--full{grid-column:1 / 2}@media(max-width:860px){.preview-panel{justify-content:flex-start}.invoice-sheet{transform-origin:top left;transform:scale(.72);margin-bottom:-80mm}}@media print{@page{size:A4;margin:0}html,body,#root{background:#fff!important;height:auto!important;min-height:0!important}.no-print{display:none!important}.app{display:block;min-height:0}.workspace{display:block;padding:0;gap:0}.preview-panel{display:block;padding:0;overflow:visible}.invoice-sheet{width:210mm;min-height:297mm;margin:0;padding:6mm 15mm 14mm;box-shadow:none!important;transform:none!important;background:#f5f5f7!important;border-top:6px solid #1a2233!important;border-bottom:6px solid #1a2233!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.total-bar{background:#1a2233!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}
