:root{color:#172026;font-synthesis:none;text-rendering:optimizelegibility;background:#edf1f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:#172026;cursor:pointer;background:#fff;border:1px solid #c9d3d8;border-radius:6px;align-items:center;gap:.45rem;min-height:2.4rem;padding:.55rem .8rem;font-size:.9rem;font-weight:650;display:inline-flex}button:hover{border-color:#7c929d}button:disabled{cursor:not-allowed;opacity:.62}button[aria-pressed=true]{background:#e9f3f6;border-color:#6c9aaa}input,select,textarea{color:#172026;border:1px solid #c9d3d8;border-radius:6px;width:100%;padding:.5rem .62rem;font-size:.9rem;line-height:1.25}textarea{resize:vertical;min-height:6.25rem}.compact-textarea{min-height:2.35rem}input[type=checkbox]{inline-size:auto;width:auto}label,.form-field{color:#566872;gap:.4rem;font-size:.78rem;font-weight:700;display:grid}label small{color:#6c7e87;font-size:.74rem;font-weight:600}::placeholder{color:#8a99a1;opacity:1}.app-shell{min-height:100vh}.app-shell.is-import-dragging .invoice-canvas,.app-shell.is-import-dragging .action-rail{outline-offset:-.45rem;outline:2px dashed #39768c}.hidden-input{display:none}.topbar{z-index:5;background:#fff;border-bottom:1px solid #dce4e7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.brand-block{gap:.15rem;display:grid}.brand-block span{color:#6c7e87;font-size:.78rem}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.account-panel{margin-left:auto}.account-panel form,.account-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.account-panel input{width:min(12rem,40vw);min-height:2.4rem}.password-form{margin-top:.5rem}.account-summary span{color:#566872;font-size:.82rem;font-weight:700}.text-toggle{background:#f7f9fa}.workspace{grid-template-columns:minmax(0,860px) 18rem;justify-content:center;align-items:start;gap:1rem;max-width:1240px;margin:0 auto;padding:clamp(1rem,3vw,2rem);display:grid}.invoice-canvas{background:#fff;justify-self:end;gap:1.25rem;width:min(100%,860px);padding:clamp(1.25rem,3vw,2.25rem);display:grid;box-shadow:0 18px 45px #1f2e361f}.invoice-edit-fieldset{border:0;gap:1.35rem;min-inline-size:0;margin:0;padding:0;display:grid}.read-only-banner{color:#295941;background:#eef6f2;border:1px solid #b8d9c9;border-radius:6px;padding:.65rem .8rem;font-size:.82rem;font-weight:750}.invoice-canvas.is-read-only-preview input,.invoice-canvas.is-read-only-preview select,.invoice-canvas.is-read-only-preview textarea{background:#f6f8f8}.invoice-header{grid-template-columns:minmax(0,1fr) minmax(14rem,auto);align-items:start;gap:1.5rem;display:grid}.invoice-heading{justify-items:end;gap:.65rem;min-width:0;display:grid}.logo-strip{flex-wrap:wrap;align-items:flex-start;gap:.65rem;min-height:5.25rem;display:flex}.logo-preview,.logo-upload-placeholder{border:1px solid #c9d3d8;border-radius:6px;flex:0 min(10rem,50% - .325rem);place-items:center;width:min(10rem,50% - .325rem);min-height:5.25rem;padding:.55rem;display:grid}.logo-preview{background:#fff;position:relative}.logo-preview img{object-fit:contain;max-width:100%;max-height:4.5rem;display:block}.logo-upload-placeholder{color:#566872;text-align:center;background:#f7f9fa;border-style:dashed;gap:.35rem;line-height:1.2}.logo-upload-placeholder span{font-size:.76rem}.logo-remove-button{color:#fff;background:#172026;border-color:#172026;justify-content:center;width:1.65rem;min-height:1.65rem;padding:0;position:absolute;top:-.45rem;right:-.45rem}.invoice-title{letter-spacing:0;text-align:right;border:0;border-bottom:2px solid #172026;border-radius:0;padding:0 0 .4rem;font-size:3rem;font-weight:800;line-height:1}.invoice-number-field{grid-template-columns:auto minmax(9rem,14rem) auto;justify-content:end;align-items:center;gap:.5rem;display:grid}.invoice-number-field input{text-align:right;min-height:2.35rem}.placeholder-insert-button{justify-content:center;width:2.35rem;min-height:2.35rem;padding:0}.party-grid,.details-grid,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field-label-text,.inline-label-input{color:#566872;letter-spacing:0;font-size:.76rem;font-weight:800;line-height:1.2}.field-label-text{padding:.1rem .2rem}.inline-label-input{background:0 0;border:1px solid #0000;border-radius:4px;width:min(100%,12rem);min-width:0;min-height:1.5rem;padding:.1rem .2rem}.inline-label-input:hover{border-color:#c9d3d8}.inline-label-input:focus{background:#fff;border-color:#39768c;outline:2px solid #39768c2e}.inline-label-input:disabled{opacity:1}.custom-fields{justify-content:flex-start;display:flex}.custom-field-label-row{grid-template-columns:minmax(0,1fr) 1.65rem;align-items:center;gap:.3rem;min-width:0;display:grid}.custom-field-label-input{width:100%}.custom-field-remove-button{color:#566872;background:0 0;border-color:#0000;justify-content:center;width:1.65rem;min-height:1.65rem;padding:0}.custom-field-remove-button:hover{color:#172026;background:#f7f9fa;border-color:#c9d3d8}.custom-field-value-input{min-height:2.25rem}table{border-collapse:collapse;width:100%;min-width:680px}.table-wrap{overflow-x:auto}th{color:#fff;text-align:left;background:#172026;padding:.7rem;font-size:.78rem}.table-label-input{color:#fff;width:min(100%,8rem);font-size:.78rem}.table-label-input:focus{color:#172026}.actions-heading{width:5rem}td{vertical-align:top;border-bottom:1px solid #e3eaed;padding:.55rem}td:nth-last-child(2){text-align:right;white-space:nowrap;font-weight:700}.line-detail-grid{grid-template-columns:minmax(5.5rem,.32fr) minmax(12rem,1fr);align-items:start;gap:.5rem;margin-top:.4rem;display:grid}.line-description-input{min-height:3.2rem}.line-tax-input{min-height:2.45rem}.line-row{cursor:grab}.line-row.is-dragging{opacity:.55}.row-actions{grid-template-columns:repeat(2,2rem);gap:.25rem;display:grid}.row-actions button{justify-content:center;min-height:2rem;padding:0}.text-button{justify-self:start}.totals{justify-self:end;gap:.5rem;min-width:min(100%,24rem);display:grid}.total-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;display:grid}.total-row strong{text-align:right;white-space:nowrap}.balance-total-row{border-top:2px solid #172026;padding-top:.7rem;font-size:1.25rem}.total-editor{gap:.35rem;min-width:0;display:grid}.total-control-row{gap:.4rem;max-width:18rem;display:grid}.total-control-row-with-select{grid-template-columns:minmax(5.5rem,.7fr) minmax(8rem,1fr)}.total-control-row-compact{grid-template-columns:minmax(6rem,1fr) auto;align-items:center;max-width:10rem}.total-control-row-compact span{color:#566872;font-weight:800}.total-control-row input,.total-control-row select,.total-inline-input{min-height:2.25rem;padding:.45rem .55rem}.total-inline-input{max-width:12rem}.total-checkbox-row{color:#566872;align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.total-label-input{width:min(100%,12rem)}.action-rail{background:#fff;border:1px solid #dce4e7;border-radius:8px;gap:.8rem;min-width:0;padding:1rem;display:grid;position:sticky;top:5rem;overflow:hidden}.action-rail button{justify-content:flex-start;width:100%}.server-actions{border-top:1px solid #dce4e7;gap:.5rem;padding-top:.8rem;display:grid}.settings-section{border-top:1px solid #dce4e7;gap:.6rem;padding-top:.8rem;display:grid}.settings-section summary{color:#566872;cursor:pointer;font-size:.82rem;font-weight:800}.checkbox-row{align-items:center;gap:.5rem;display:flex}.field-error input,.field-error textarea{border-color:#b42318}.field-error span{color:#b42318;font-size:.75rem}.validation-box,.warning-box,.status-line,.backup-preview,.admin-panel,.history-panel{border-radius:8px;gap:.45rem;min-width:0;padding:.75rem;display:grid}.validation-box{color:#8a1f14;background:#fff5f5;border:1px solid #ffd3d0}.warning-box{color:#6f4a00;background:#fff8e8;border:1px solid #f3d38a}.warning-box strong{align-items:center;gap:.35rem;display:flex}.validation-box span,.warning-box span{font-size:.78rem;line-height:1.35}.status-line{color:#245c37;overflow-wrap:anywhere;background:#edf7f1;border:1px solid #b8dec5;font-size:.82rem}.backup-preview{color:#213f67;background:#eef5ff;border:1px solid #b8cce8;font-size:.82rem}.backup-preview small{color:#49627e;line-height:1.35}.backup-preview button{margin-top:.25rem}.admin-panel{color:#172026;background:#f7f9fa;border:1px solid #dce4e7;font-size:.82rem;overflow:hidden}.admin-panel-heading{justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.admin-panel-heading button{justify-content:center;width:auto;min-height:2rem;padding:.35rem .55rem}.admin-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;display:grid}.admin-settings span{overflow-wrap:anywhere;background:#fff;border:1px solid #dce4e7;border-radius:6px;min-width:0;padding:.45rem .5rem}.temporary-password{background:#fff;border:1px solid #c9d3d8;border-radius:6px;gap:.3rem;padding:.6rem;display:grid}.temporary-password code{color:#245c37;overflow-wrap:anywhere}.admin-user-card{gap:.45rem;display:grid}.admin-user-row{background:#fff;border:1px solid #dce4e7;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:.4rem;padding:.55rem;display:grid}.admin-user-row div{grid-column:1/-1;gap:.15rem;min-width:0;display:grid}.admin-user-row span,.admin-user-row small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-user-row small{color:#6c7e87}.admin-user-row button{justify-content:center;width:100%;min-width:0;min-height:2rem;padding:.35rem .5rem}.admin-invoice-list{background:#fff;border:1px solid #dce4e7;border-radius:6px;gap:.2rem;padding:.5rem;display:grid}.admin-invoice-list small{color:#526772;overflow-wrap:anywhere;line-height:1.35}.history-panel{background:#f7f9fa;border:1px solid #dce4e7;max-height:24rem;overflow:auto}.history-controls{grid-template-columns:minmax(0,1fr);gap:.5rem;display:grid}.history-batch-actions{border-top:1px solid #dce4e7;border-bottom:1px solid #dce4e7;grid-template-columns:1fr;align-items:center;gap:.5rem;padding:.55rem 0;display:grid}.history-batch-actions span{color:#566872;font-size:.78rem;font-weight:700}.history-table-wrap{overflow-x:auto}.history-table{background:#fff;min-width:720px}.history-table th,.history-table td{font-size:.78rem}.history-table td{overflow-wrap:anywhere;max-width:10rem}.history-table td:first-child,.history-table th:first-child{text-align:center;width:2.4rem}.history-table button{justify-content:center;width:auto;min-height:2rem;padding:.3rem .55rem}@media (width<=1120px){.workspace{grid-template-columns:minmax(0,860px)}.invoice-canvas{justify-self:center}.action-rail{position:static}}@media (width<=860px){.topbar{flex-direction:column;align-items:stretch}.topbar nav{justify-content:flex-start}.account-panel{width:100%;margin-left:0}.account-panel form,.account-summary{justify-content:flex-start}.account-panel input{width:min(100%,18rem)}.admin-panel-heading,.admin-user-row{grid-template-columns:1fr}.admin-panel-heading{align-items:stretch;display:grid}.admin-panel-heading button{width:100%}.admin-settings{grid-template-columns:1fr}.admin-user-row span,.admin-user-row small{white-space:normal}.invoice-header,.party-grid,.details-grid,.notes-grid{grid-template-columns:1fr}.invoice-heading{justify-items:stretch}.invoice-title,.invoice-number-field input{text-align:left}.invoice-number-field{grid-template-columns:minmax(0,1fr) auto;justify-content:stretch}.invoice-number-field .field-label-text{grid-column:1/-1}.invoice-title{font-size:2.35rem}}
