.app-header{background:var(--color-card);color:var(--color-text);padding:16px 32px;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.header-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.app-title{margin:0;font-size:24px;font-weight:600;letter-spacing:-.3px;color:var(--color-primary)}.nav-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;color:var(--color-text);text-decoration:none;border-radius:var(--radius-md);font-size:15px;font-weight:500;transition:all .2s;border:2px solid transparent}.nav-tab:hover{background:var(--color-bg);color:var(--color-primary)}.nav-tab.active{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.color-picker-button{padding:10px;background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.color-picker-button:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.color-picker-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-card);border-radius:var(--radius-md);padding:12px;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);min-width:180px;z-index:1000}.color-option{width:100%;padding:10px 12px;margin-bottom:6px;border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.color-option:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translate(4px)}.color-option:last-child{margin-bottom:0}.main-content{max-width:1200px;margin:0 auto;padding:40px 20px}.form-container{background:var(--color-card);border-radius:var(--radius-lg);padding:40px 48px;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);max-width:1200px;margin:40px auto}.section-title{font-size:28px;margin-bottom:28px;color:var(--color-text);font-weight:600}.form-section{margin-bottom:36px}.subsection-title{font-size:18px;margin-bottom:18px;color:var(--color-text-muted);border-bottom:2px solid var(--color-primary);padding-bottom:8px;font-weight:600}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-size:14px;color:var(--color-text-muted);font-weight:500}.form-input,.form-textarea{width:100%;padding:12px 14px;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:15px;transition:border-color .2s,box-shadow .2s;font-family:inherit}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #14a80026}.form-textarea{resize:vertical}.form-input.readonly{background:var(--color-bg)}.tax-input{width:200px}.logo-upload-container{display:flex;align-items:center;gap:16px}.upload-button{padding:12px 24px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;font-size:15px}.upload-button:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.logo-preview{display:flex;align-items:center;gap:12px}.logo-image{height:50px;border-radius:4px}.remove-logo-button{padding:8px;background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-logo-button:hover{background:#c53030}.step-indicator{display:flex;justify-content:center;gap:32px;margin-bottom:40px}.step-item{display:flex;align-items:center;gap:8px}.step-number{width:36px;height:36px;border-radius:50%;background:var(--color-border);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;transition:all .3s ease}.step-number.active{background:var(--color-primary);color:#fff}.step-label{font-size:16px;color:var(--color-text-muted);font-weight:400;text-transform:capitalize;transition:all .3s ease}.step-label.active{color:var(--color-primary);font-weight:600}.items-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.add-item-button{padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;gap:8px;font-size:15px;transition:background .2s}.add-item-button:hover{background:var(--color-primary-hover)}.item-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:12px;margin-bottom:16px;align-items:end}.remove-item-button{padding:12px;background:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-item-button:disabled{background:var(--color-border);cursor:not-allowed;opacity:.5}.remove-item-button:not(:disabled):hover{background:#c53030}.summary-box{background:var(--color-bg);padding:24px;border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:32px}.summary-row{display:flex;justify-content:space-between;margin-bottom:12px;font-size:16px}.summary-value{font-weight:600}.summary-row.total{font-size:20px;font-weight:700;padding-top:12px;border-top:2px solid var(--color-primary)}.continue-button{width:100%;padding:16px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.continue-button:not(:disabled):hover{background:var(--color-primary-hover)}.continue-button:disabled{background:var(--color-border);cursor:not-allowed;opacity:.7}.primary-button{padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.primary-button:hover{background:var(--color-primary-hover)}.secondary-button{padding:14px 24px;background:var(--color-card);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.secondary-button:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary)}.success-button{padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:8px}.success-button:hover{background:var(--color-primary-hover)}.button-group{display:flex;gap:16px}.button-group button{flex:1}.action-buttons{display:flex;gap:16px;margin-top:24px}.flex-button{flex:1}.signature-description{font-size:16px;color:var(--color-text-muted);margin-bottom:32px}.signature-canvas-container{border:2px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:24px;background:var(--color-card)}.signature-canvas{width:100%;height:200px;cursor:crosshair;display:block}.invoice-preview{background:var(--color-card);border-radius:var(--radius-lg);padding:64px;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);margin:40px auto;max-width:1200px}.invoice-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:48px;border-bottom:3px solid var(--color-primary);padding-bottom:24px}.invoice-logo{max-width:180px;max-height:100px;margin-bottom:16px}.invoice-title{font-size:48px;margin:0 0 8px;font-weight:700;letter-spacing:-1px}.invoice-number{font-size:16px;color:var(--color-text-muted)}.company-details{text-align:right}.company-name{font-size:18px;font-weight:600;margin-bottom:8px}.company-address{font-size:14px;color:var(--color-text-muted);white-space:pre-line}.gst-number{font-size:14px;color:var(--color-text-muted);margin-top:8px}.invoice-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-bottom:48px}.info-heading{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:16px;font-weight:600}.customer-name{font-size:18px;font-weight:600;margin-bottom:8px}.customer-email{font-size:14px;color:var(--color-text-muted);margin-bottom:4px}.service-address{font-size:14px;color:var(--color-text-muted);white-space:pre-line;margin-top:12px}.invoice-detail{margin-bottom:8px}.detail-label{font-size:14px;color:var(--color-text-muted)}.detail-value{font-size:16px;font-weight:600}.items-table{width:100%;margin-bottom:32px;border-collapse:collapse}.items-table thead{background:var(--color-bg);border-bottom:3px solid var(--color-primary)}.items-table th{padding:16px;text-align:left;font-size:14px;text-transform:uppercase;letter-spacing:1px;font-weight:600;color:var(--color-text-muted)}.items-table th.text-center{text-align:center}.items-table th.text-right{text-align:right}.items-table td{padding:16px;font-size:15px;border-bottom:1px solid var(--color-border-light)}.items-table td.text-center{text-align:center}.items-table td.text-right{text-align:right}.items-table td.item-amount{font-weight:600}.invoice-footer{display:flex;justify-content:space-between;align-items:start}.footer-left{flex:1}.invoice-notes{font-size:14px;color:var(--color-text-muted);white-space:pre-line}.totals-box{min-width:300px;margin-left:48px;background:var(--color-bg);padding:24px;border-radius:var(--radius-md);border:1px solid var(--color-border-light)}.total-row{display:flex;justify-content:space-between;margin-bottom:12px;font-size:16px}.total-value{font-weight:600}.total-row.grand-total{font-size:24px;font-weight:700;padding-top:16px;border-top:2px solid var(--color-primary);margin-top:4px;color:var(--color-primary)}.invoice-compact{padding:32px 40px!important}.invoice-compact .invoice-header{margin-bottom:24px!important;padding-bottom:16px!important;border-bottom-width:2px!important}.invoice-compact .invoice-title{font-size:36px!important;margin:0 0 4px!important}.invoice-compact .invoice-logo{max-width:120px!important;max-height:60px!important;margin-bottom:8px!important}.invoice-compact .invoice-info-grid{gap:24px!important;margin-bottom:24px!important}.invoice-compact .info-heading{font-size:12px!important;margin-bottom:8px!important}.invoice-compact .customer-name,.invoice-compact .company-name{font-size:15px!important;margin-bottom:4px!important}.invoice-compact .customer-email,.invoice-compact .company-address,.invoice-compact .service-address,.invoice-compact .gst-number,.invoice-compact .invoice-number{font-size:12px!important}.invoice-compact .items-table{margin-bottom:20px!important}.invoice-compact .items-table th{padding:10px 12px!important;font-size:12px!important}.invoice-compact .items-table td{padding:10px 12px!important;font-size:13px!important}.invoice-compact .invoice-footer{margin-top:20px!important}.invoice-compact .totals-box{padding:16px!important;min-width:250px!important;margin-left:32px!important}.invoice-compact .total-row{font-size:14px!important;margin-bottom:8px!important}.invoice-compact .total-row.grand-total{font-size:18px!important;padding-top:12px!important}.invoice-compact .invoice-notes{font-size:12px!important}.signature-section-footer{margin-top:32px!important;padding-top:20px!important;border-top:1px solid #e9ecef;max-width:200px}.signature-section-footer .signature-label{font-size:11px!important;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:8px!important;font-weight:600}.signature-section-footer .signature-image{max-width:200px!important;border-bottom:2px solid var(--color-primary);padding-bottom:4px!important}.signature-section-footer .signature-date{font-size:10px!important;color:var(--color-text-muted);margin-top:4px!important}@media (max-width: 768px){.header-content{flex-direction:column;align-items:flex-start}.form-grid-2,.form-grid-3,.invoice-info-grid,.item-row{grid-template-columns:1fr}.invoice-header,.invoice-footer{flex-direction:column;gap:24px}.company-details{text-align:left}.totals-box{margin-left:0;width:100%}.action-buttons{flex-direction:column}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:A4;margin:15mm}body{margin:0;padding:0}.app-header,.step-indicator,.action-buttons,.continue-button,.button-group{display:none!important}.invoice-preview{box-shadow:none!important;padding:0!important;margin:0!important;page-break-after:avoid}.invoice-header{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.invoice-compact{padding:15px 20px!important;font-size:11px!important}.invoice-compact .invoice-header{margin-bottom:20px!important;padding-bottom:12px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.invoice-compact h1{font-size:32px!important;margin:0 0 6px!important}.invoice-compact .invoice-info-grid{gap:20px!important;margin-bottom:20px!important}.invoice-compact .items-table{margin-bottom:18px!important;font-size:11px!important}.invoice-compact .items-table th,.invoice-compact .items-table td{padding:6px 8px!important}.invoice-compact .invoice-footer{margin-top:18px!important}.invoice-compact .totals-box{padding:12px!important;min-width:220px!important}.invoice-compact .total-row{font-size:12px!important;margin-bottom:6px!important}.invoice-compact .total-row.grand-total{font-size:16px!important;padding-top:10px!important}.signature-section-footer{margin-top:24px!important;padding-top:16px!important;page-break-inside:avoid}.items-table,.totals-box,.signature-section-footer{page-break-inside:avoid}}:root{--color-primary: #14a800;--color-primary-hover: #108a00;--color-primary-light: #e8f5e9;--color-secondary: #4285f4;--color-secondary-hover: #3367d6;--color-secondary-light: #e8f0fe;--color-bg: #f7f9fa;--color-bg-warm: #fafbfc;--color-card: #ffffff;--color-border: #e8eaed;--color-border-light: #f0f2f5;--color-text: #2d3748;--color-text-muted: #718096;--color-text-light: #a0aec0;--color-success: #14a800;--color-error: #e53e3e;--color-error-bg: #fff5f5;--color-warning: #ed8936;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--color-bg);color:var(--color-text)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media print{@page{margin:.5in}body *{visibility:hidden}#invoice-preview,#invoice-preview *,#invoice-preview-worker,#invoice-preview-worker *{visibility:visible}#invoice-preview,#invoice-preview-worker{position:absolute;left:0;top:0;width:100%}}
