:root{--ink:#102a37;--navy:#073b4c;--teal:#007f82;--aqua:#00aeb3;--green:#4fbf45;--cream:#f5f1e8;--paper:#fff;--muted:#6d7f86;--line:#d8e1e2;--soft:#edf6f5;--danger:#b13a3a;--shadow:0 18px 50px rgba(8,48,59,.12)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f3f6f4}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-header{height:76px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand-mark{width:39px;height:45px}.brand-mark svg{width:100%;height:100%}.brand strong{display:block;font-size:16px;letter-spacing:.06em}.brand em{font-style:normal;color:var(--teal)}.brand small{display:block;font-size:9px;letter-spacing:.28em;color:var(--muted);margin-top:2px}.top-actions{display:flex;align-items:center;gap:9px}.button{border:1px solid transparent;border-radius:9px;min-height:41px;padding:0 16px;font-size:13px;font-weight:700;transition:.2s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--aqua);color:#002c32}.button-dark{background:var(--navy);color:#fff}.button-ghost{background:#fff;border-color:var(--line);color:var(--ink)}.count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;margin-left:4px;background:var(--soft);border-radius:999px;font-size:10px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:32px;max-width:1380px;margin:0 auto;padding:38px 4vw 72px}.editor{min-width:0}.editor-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--teal);margin:0 0 8px}.editor-heading h1{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:1;margin:0 0 10px;font-weight:500}.editor-heading p:last-child{margin:0;color:var(--muted);font-size:14px}.status-pill{border-radius:999px;background:#e9eceb;color:var(--muted);padding:7px 11px;font-size:11px;font-weight:700}.status-pill.saved{background:#def5e0;color:#206e2b}.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:14px;box-shadow:0 4px 18px rgba(16,42,55,.03);overflow:hidden}.form-card>summary{list-style:none;display:grid;grid-template-columns:34px auto 1fr;align-items:center;gap:10px;padding:18px 20px;font-weight:750;cursor:pointer}.form-card>summary::-webkit-details-marker{display:none}.form-card>summary:after{content:"+";font-size:23px;color:var(--muted);justify-self:end}.form-card[open]>summary:after{content:"−"}.step{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--soft);color:var(--teal);font-size:10px}.summary-note{justify-self:end;margin-right:10px;font-size:11px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}.form-card[open]>summary{border-bottom:1px solid var(--line)}.form-grid{display:grid;gap:16px;padding:20px}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:750;color:#3e555d}input,select,textarea{width:100%;border:1px solid #cbd7d9;border-radius:8px;background:#fbfcfb;color:var(--ink);padding:10px 11px;outline:none;font-size:13px;transition:.15s}input,select{height:42px}textarea{resize:vertical;line-height:1.45}input:focus,select:focus,textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 3px rgba(0,174,179,.12);background:#fff}.uppercase{text-transform:uppercase}.split-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 0}.split-heading h2,.subsection-title{font-family:Georgia,serif;font-size:17px;font-weight:500;margin:0}.subsection-title{padding:20px 20px 0;border-top:1px solid var(--line)}.inline-check{flex-direction:row;align-items:center;font-size:11px;font-weight:600}.inline-check input{width:16px;height:16px;accent-color:var(--teal)}.items-editor{padding:20px 20px 8px}.item-row{display:grid;grid-template-columns:30px minmax(170px,2fr) 110px 82px 82px 90px 82px 70px 34px;gap:9px;align-items:end;padding:0 0 15px;margin-bottom:15px;border-bottom:1px dashed var(--line)}.item-index{height:42px;display:grid;place-items:center;border-radius:8px;background:var(--soft);font-size:11px;font-weight:800;color:var(--teal)}.item-row label{min-width:0}.remove-item{width:34px;height:42px;border:1px solid #efcfcf;background:#fff8f8;color:var(--danger);border-radius:8px;font-size:20px}.remove-item:disabled{opacity:.35;cursor:not-allowed}.add-item{margin:0 20px 18px;border:1px dashed #9ababc;background:#f8fcfb;color:var(--teal);border-radius:8px;height:42px;padding:0 14px;font-size:12px;font-weight:800}.add-item span{font-size:18px;vertical-align:-1px;margin-right:5px}.charges-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px 20px 22px;background:#f8faf9;border-top:1px solid var(--line)}.preview-panel{position:relative}.preview-card{position:sticky;top:100px;background:var(--paper);border:1px solid #cfdadc;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.preview-top{height:48px;padding:0 19px;display:flex;align-items:center;justify-content:space-between;background:var(--navy);color:#fff;font-size:11px;font-weight:700}.tax-badge{border-radius:999px;background:rgba(255,255,255,.13);padding:5px 8px;font-size:9px;letter-spacing:.07em}.invoice-id{padding:24px 20px 18px;border-bottom:1px solid var(--line)}.invoice-id small,.side-customer small{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);font-weight:800;margin-bottom:7px}.invoice-id strong{display:block;font-family:Georgia,serif;font-size:24px;font-weight:500}.invoice-id span,.side-customer span{display:block;color:var(--muted);font-size:11px;margin-top:6px}.side-customer{padding:18px 20px;border-bottom:1px solid var(--line)}.side-customer strong{display:block;font-size:14px}.money-lines{padding:17px 20px}.money-lines>div{display:flex;justify-content:space-between;align-items:center;padding:7px 0;color:var(--muted);font-size:12px}.money-lines strong{color:var(--ink)}.money-lines .grand-line{margin-top:10px;padding:16px 0 4px;border-top:1px solid var(--line);font-size:15px;color:var(--ink)}.grand-line strong{font-family:Georgia,serif;font-size:25px;font-weight:500;color:var(--teal)}.words{margin:0;padding:0 20px 18px;font-family:Georgia,serif;font-size:12px;line-height:1.5;color:#38525a}.button-full{width:calc(100% - 40px);margin:0 20px}.print-note{text-align:center;color:var(--muted);font-size:9px;margin:9px 0 18px}.local-note{display:flex;flex-direction:column;gap:5px;margin-top:16px;padding:14px 16px;border:1px solid #d8e6dd;border-radius:12px;background:#f3fbf5;font-size:10px;color:#4b6953}.local-note strong{font-size:11px}.drawer-backdrop{position:fixed;inset:0;background:rgba(3,25,32,.45);z-index:30}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(540px,100%);background:#f7f9f8;z-index:31;box-shadow:-20px 0 60px rgba(0,0,0,.18);transform:translateX(105%);transition:.25s ease;padding:25px;overflow:auto}.drawer.open{transform:translateX(0)}.drawer-header{display:flex;align-items:center;justify-content:space-between}.drawer-header h2{margin:0;font-family:Georgia,serif;font-weight:500;font-size:28px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:50%;width:40px;height:40px;font-size:25px;color:var(--muted)}.drawer-tools{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:22px 0}.file-button{display:flex;align-items:center;justify-content:center}.file-button input{display:none}.invoice-list{display:flex;flex-direction:column;gap:10px}.saved-invoice{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}.saved-main{display:flex;justify-content:space-between;gap:14px}.saved-main strong{display:block;font-size:13px}.saved-main span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.saved-total{font-family:Georgia,serif;font-size:17px!important;color:var(--teal)!important;text-align:right;white-space:nowrap}.saved-actions{display:flex;gap:7px;margin-top:13px;padding-top:11px;border-top:1px solid var(--line)}.saved-actions button{border:0;background:var(--soft);color:var(--teal);border-radius:6px;padding:7px 10px;font-size:10px;font-weight:800}.saved-actions .delete-action{color:var(--danger);background:#fff2f2}.empty-state{text-align:center;padding:50px 20px;color:var(--muted);font-size:13px}.toast{position:fixed;left:50%;bottom:28px;z-index:100;transform:translate(-50%,20px);background:var(--navy);color:#fff;border-radius:10px;padding:11px 16px;font-size:12px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}#printRoot{display:none}

@media(max-width:1080px){.workspace{grid-template-columns:1fr}.preview-panel{grid-row:1}.preview-card{position:relative;top:auto}.local-note{display:none}.item-row{grid-template-columns:30px minmax(160px,2fr) 105px repeat(3,82px) 70px 34px}.item-row .item-unit{display:none}}
@media(max-width:760px){.app-header{height:auto;padding:12px 16px;align-items:flex-start}.brand{padding-top:3px}.top-actions{display:grid;grid-template-columns:1fr 1fr}.top-actions .button{padding:0 10px;min-height:35px;font-size:10px}.workspace{padding:24px 14px 60px;gap:20px}.editor-heading h1{font-size:31px}.form-grid-3,.form-grid-2,.charges-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.summary-note{display:none}.item-row{grid-template-columns:28px 1fr 1fr 34px;align-items:end}.item-row .item-name{grid-column:2/4}.item-row .item-hsn,.item-row .item-unit{display:none}.item-index{grid-row:1/3;height:100%}.remove-item{grid-column:4;grid-row:1/3;height:100%}.split-heading{align-items:flex-start;gap:12px;flex-direction:column}.drawer{padding:20px 14px}.drawer-tools{grid-template-columns:1fr 1fr}.drawer-tools input{grid-column:span 2}}

/* A4 invoice output */
.print-page{font-family:Arial,Helvetica,sans-serif;color:#000;background:#fff;width:210mm;min-height:297mm;padding:8mm 7mm;page-break-after:always;font-size:9pt}.print-page:last-child{page-break-after:auto}.invoice-sheet{border:1px solid #000;min-height:278mm;display:flex;flex-direction:column}.copy-name{text-align:right;padding:1mm 2mm 0;height:4mm}.print-head{display:grid;grid-template-columns:30mm 1fr 30mm;min-height:35mm;padding:0 3mm 1mm;align-items:center}.print-logo svg{width:21mm;height:24mm}.print-company{text-align:center;line-height:1.2}.print-company .tax-title{display:inline-block;font-size:11pt;border-bottom:1px solid #000;margin-bottom:1mm}.print-company h1{font-size:19pt;font-weight:400;margin:0}.print-company p{font-size:8.5pt;margin:.7mm 0}.print-company a{color:#000;text-decoration:none}.print-info{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #000;min-height:27mm}.print-info>div{padding:2mm;border-right:1px solid #000}.print-info>div:last-child{border-right:0}.print-field{display:grid;grid-template-columns:31mm 3mm 1fr;line-height:1.55}.party-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #000;min-height:38mm}.party-box{padding:2.5mm;border-right:1px solid #000;line-height:1.4}.party-box:last-child{border-right:0}.party-box .party-label{margin-bottom:1mm}.party-box .party-name{font-size:10pt}.party-address{white-space:pre-line;min-height:13mm}.party-data{display:grid;grid-template-columns:29mm 3mm 1fr}.goods-table{width:100%;border-collapse:collapse;border-top:1px solid #000;table-layout:fixed}.goods-table th,.goods-table td{border-right:1px solid #000;padding:1.4mm 1mm;vertical-align:top}.goods-table th:last-child,.goods-table td:last-child{border-right:0}.goods-table th{font-weight:400;text-align:left;border-bottom:1px solid #000;height:10mm}.goods-table .num{text-align:right}.goods-table tbody{height:35mm}.goods-table tbody td{height:35mm}.goods-table .col-sn{width:8mm}.goods-table .col-desc{width:60mm}.goods-table .col-hsn{width:19mm}.goods-table .col-qty{width:17mm}.goods-table .col-unit{width:14mm}.goods-table .col-rate{width:23mm}.goods-table .col-disc{width:18mm}.goods-table .col-price{width:23mm}.goods-table .col-amount{width:27mm}.goods-lines{line-height:1.65}.goods-lines div{min-height:4mm}.summary-section{border-top:1px solid #000;display:grid;grid-template-columns:1fr 26mm;min-height:24mm}.summary-labels{padding:2mm 5mm 1mm;text-align:right}.summary-values{border-left:1px solid #000;padding:2mm 2mm 1mm;text-align:right}.summary-labels div,.summary-values div{height:5mm}.grand-total{border-top:1px solid #000;display:grid;grid-template-columns:1fr 26mm;height:9mm;align-items:center}.grand-total>div:first-child{text-align:center}.grand-total>div:last-child{border-left:1px solid #000;height:100%;display:flex;align-items:center;justify-content:flex-end;padding:0 2mm}.tax-summary{padding:1.5mm 2mm;border-top:1px solid #000;min-height:14mm}.tax-summary table{border-collapse:collapse;font-size:8pt}.tax-summary th{font-weight:400;border-bottom:1px solid #000;padding:0 3mm 1mm 0}.tax-summary td{padding:1mm 3mm 0 0;text-align:right}.amount-words{padding:1.5mm 2mm 2mm;font-size:10pt}.declaration-print{border-top:1px solid #000;min-height:10mm;text-align:center;padding:1.5mm 2mm}.declaration-print strong{font-size:10pt;text-decoration:underline;font-weight:400}.declaration-text{font-size:8pt;margin-top:1mm}.bank-print{border-top:1px solid #000;padding:2mm;font-size:9pt}.bottom-print{border-top:1px solid #000;display:grid;grid-template-columns:45% 55%;min-height:30mm;flex:1}.terms-print{padding:2mm;border-right:1px solid #000;font-size:7.5pt;line-height:1.55;white-space:pre-line}.terms-print strong{text-decoration:underline}.signature-print{display:flex;flex-direction:column}.receiver{height:13mm;padding:2mm;border-bottom:1px solid #000}.authorised{flex:1;padding:3mm 2mm 2mm;text-align:right;display:flex;flex-direction:column;justify-content:space-between;font-size:10pt}.authorised span:last-child{font-size:11pt}.print-tax-empty{display:none}
@page{size:A4;margin:0}@media print{body>*:not(#printRoot){display:none!important}#printRoot{display:block!important}.print-page{padding:8mm 7mm;width:210mm;height:297mm;min-height:297mm;overflow:hidden}.invoice-sheet{height:278mm;min-height:278mm}}
