.app{max-width:1400px;margin:0 auto;padding:0 16px 40px}.app-header{background:var(--brand-charcoal);color:var(--brand-cream);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 -16px;padding:20px 28px;display:flex}.header-brand{align-items:center;gap:16px;display:flex}.header-logo{background:var(--brand-gold);color:var(--brand-dark);letter-spacing:1px;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;font-family:Merriweather,Georgia,serif;font-size:22px;font-weight:700;display:flex}.header-brand h1{color:#fff;letter-spacing:.3px;font-family:Merriweather,Georgia,serif;font-size:20px;font-weight:700;line-height:1.2}.header-tagline{color:var(--brand-tan);margin-top:2px;font-size:13px}.header-contact{color:var(--brand-tan);flex-direction:column;align-items:flex-end;gap:2px;font-size:13px;display:flex}.status-bar{background:var(--brand-brown);color:var(--brand-cream);justify-content:space-between;align-items:center;margin:0 -16px;padding:8px 28px;font-size:13px;display:flex}.save-status{background:var(--brand-gold);color:var(--brand-dark);border-radius:3px;padding:2px 10px;font-size:12px;font-weight:600;animation:.2s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.action-bar{border-bottom:2px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:16px 0;display:flex}.template-picker{gap:8px;display:flex}.action-buttons{flex-wrap:wrap;gap:8px;display:flex}.btn-new-template{background:var(--brand-charcoal);color:#fff;border-color:var(--brand-charcoal)}.btn-new-template:hover{background:var(--brand-dark)}.btn-new-insurance{background:var(--brand-blue);border-color:var(--brand-blue)}.btn-new-insurance:hover{background:#2f5e99}.template-indicator{border-radius:var(--radius-lg);letter-spacing:.3px;align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:15px;font-weight:700;display:flex}.template-indicator .template-icon{font-size:20px}.template-service{background:var(--brand-cream);color:var(--brand-charcoal);border:2px solid var(--brand-tan)}.template-insurance{color:var(--brand-blue);border:2px solid var(--brand-blue);background:#e8f0fa}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:2px solid #0000;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .15s}.btn:active{transform:scale(.97)}.btn-primary{background:var(--brand-charcoal);color:#fff;border-color:var(--brand-charcoal)}.btn-primary:hover{background:var(--brand-dark)}.btn-secondary{color:var(--brand-charcoal);border-color:var(--border-color);background:#fff}.btn-secondary:hover{background:var(--brand-cream);border-color:var(--brand-warm)}.btn-accent{background:var(--brand-gold);color:var(--brand-dark);border-color:var(--brand-gold)}.btn-accent:hover{background:#d4b35a}.main-layout{align-items:flex-start;gap:24px;display:flex}.form-panel{flex:1;min-width:0}.form-panel.with-preview{flex:1}.preview-panel{flex:1;max-height:calc(100vh - 32px);position:sticky;top:16px;overflow-y:auto}.form-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.form-section legend{color:var(--brand-charcoal);letter-spacing:.3px;padding:0 8px;font-family:Merriweather,Georgia,serif;font-size:15px;font-weight:700}.form-grid-1{grid-template-columns:1fr;gap:12px;max-width:50%;margin-top:12px;display:grid}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.form-grid-3{grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px;display:grid}.form-group{flex-direction:column;gap:4px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-input);color:var(--text-primary);padding:8px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--brand-gold);outline:none;box-shadow:0 0 0 3px #c9a84c26}.form-group textarea{resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.line-item-section{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px}.line-item-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.line-item-header h3{color:var(--brand-charcoal);letter-spacing:.3px;font-family:Merriweather,Georgia,serif;font-size:15px;font-weight:700}.btn-add{border:1px dashed var(--brand-tan);color:var(--brand-warm);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 12px;font-family:inherit;font-size:13px;font-weight:600}.btn-add:hover{border-color:var(--brand-gold);color:var(--brand-charcoal);background:var(--brand-cream)}.line-item-table-wrap{overflow-x:auto}.line-item-table{border-collapse:collapse;width:100%}.line-item-table th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);border-bottom:2px solid var(--border-color);padding:6px 8px;font-size:11px;font-weight:700}.line-item-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:6px 8px}.line-item-table input{border:1px solid var(--border-light);background:var(--bg-input);width:100%;color:var(--text-primary);border-radius:4px;padding:6px 8px;font-family:inherit;font-size:14px}.line-item-table input:focus{border-color:var(--brand-gold);outline:none}.col-desc{min-width:200px}.col-qty{width:70px}.col-rate{width:100px}.col-amount{width:110px}.col-action{width:40px}.amount-display{color:var(--text-primary);white-space:nowrap;font-size:14px;font-weight:600}.btn-remove{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.btn-remove:hover{color:var(--brand-red)}.receipt-preview{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#1a1a1a;background:#fff;padding:32px;font-size:13px}.preview-header{border-bottom:3px solid var(--brand-charcoal);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:20px;display:flex}.preview-company{align-items:flex-start;gap:14px;display:flex}.company-logo-mark{background:var(--brand-charcoal);color:var(--brand-gold);letter-spacing:1px;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-family:Merriweather,Georgia,serif;font-size:18px;font-weight:700;display:flex}.company-details h1{color:var(--brand-charcoal);margin-bottom:2px;font-family:Merriweather,Georgia,serif;font-size:16px;font-weight:700;line-height:1.3}.company-details p{color:var(--text-secondary);font-size:12px;line-height:1.4}.preview-invoice-info{text-align:right;flex-shrink:0}.invoice-label{color:var(--brand-charcoal);letter-spacing:1px;margin-bottom:8px;font-family:Merriweather,Georgia,serif;font-size:18px;font-weight:700}.invoice-meta-table{border-collapse:collapse;margin-left:auto;font-size:12px}.invoice-meta-table td{padding:2px 0}.invoice-meta-table td:first-child{color:var(--text-muted);text-align:right;padding-right:12px}.preview-status{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:1px 8px;font-size:11px;font-weight:700;display:inline-block}.status-pending{color:#856404;background:#fff3cd}.status-paid{color:#155724;background:#d4edda}.status-insurance{color:#0c5460;background:#d1ecf1}.status-partial{color:#7d4e24;background:#fde8d0}.preview-two-col{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;display:grid}.preview-block h3,.preview-section h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:6px;padding-bottom:4px;font-family:Merriweather,Georgia,serif;font-size:11px;font-weight:700}.preview-block p{color:var(--text-primary);font-size:13px;line-height:1.5}.preview-name{font-weight:600;font-size:14px!important}.preview-block .label,.preview-section .label{color:var(--text-muted);font-size:12px}.preview-section{margin-bottom:20px}.preview-grid-4{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;font-size:13px;display:grid}.preview-summary-text{color:var(--text-secondary);font-size:13px;line-height:1.6}.preview-table{border-collapse:collapse;width:100%;font-size:13px}.preview-table th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border-color);padding:6px 8px;font-size:11px;font-weight:700}.preview-table td{border-bottom:1px solid var(--border-light);padding:6px 8px}.preview-table tfoot td{border-bottom:none;border-top:2px solid var(--border-color);padding-top:8px}.right{text-align:right}.preview-totals{background:var(--brand-cream);border-radius:var(--radius);margin-bottom:20px;padding:16px 20px}.totals-table{border-collapse:collapse;width:100%;max-width:320px;margin-left:auto;font-size:13px}.totals-table td{padding:4px 0}.totals-table .deductible{color:var(--brand-red)}.grand-total-row td{border-top:2px solid var(--brand-charcoal);padding-top:10px;font-size:16px}.preview-notes{margin-bottom:24px}.preview-notes h3{text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);border-bottom:1px solid var(--border-light);margin-bottom:6px;padding-bottom:4px;font-family:Merriweather,Georgia,serif;font-size:11px;font-weight:700}.preview-notes p{color:var(--text-secondary);font-size:12px;line-height:1.6}.preview-footer{text-align:center;border-top:1px solid var(--border-light);padding-top:20px}.preview-footer>p{color:var(--text-muted);margin-bottom:24px;font-size:12px;font-style:italic}.signature-lines{justify-content:center;gap:40px;display:flex}.sig-block{text-align:center;flex:1;max-width:200px}.sig-line{border-bottom:1px solid var(--brand-charcoal);height:40px;margin-bottom:4px}.sig-block span{color:var(--text-muted);font-size:11px}.saved-receipts{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:28px;padding:24px}.saved-header{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.saved-header h2{color:var(--brand-charcoal);font-family:Merriweather,Georgia,serif;font-size:18px;font-weight:700}.record-count{background:var(--brand-cream);color:var(--brand-warm);border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.empty-records{text-align:center;color:var(--text-muted);padding:32px 16px}.empty-icon{margin-bottom:8px;font-size:36px}.empty-hint{margin-top:4px;font-size:13px}.records-list{gap:10px;display:grid}.record-card{border:1px solid var(--border-light);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.record-card:hover{border-color:var(--brand-tan);box-shadow:var(--shadow-sm)}.record-card.active{border-color:var(--brand-gold);background:#c9a84c0d}.record-info{flex:1;min-width:0}.record-top{align-items:center;gap:10px;margin-bottom:2px;display:flex}.record-number{color:var(--brand-charcoal);font-size:14px;font-weight:700}.type-badge,.payment-badge{text-transform:uppercase;letter-spacing:.4px;border-radius:3px;padding:1px 8px;font-size:10px;font-weight:700;display:inline-block}.type-service{background:var(--brand-cream);color:var(--brand-warm)}.type-insurance{color:#0c5460;background:#d1ecf1}.record-customer{color:var(--text-primary);font-size:14px}.record-meta{color:var(--text-muted);gap:12px;margin-top:2px;font-size:12px;display:flex}.record-actions{flex-shrink:0;gap:6px;display:flex}.btn-load{border:1px solid var(--brand-charcoal);background:var(--brand-charcoal);color:#fff;border-radius:var(--radius);cursor:pointer;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600}.btn-load:hover{background:var(--brand-dark)}.btn-load:disabled{background:var(--brand-cream);color:var(--text-muted);border-color:var(--border-color);cursor:default}.btn-delete{border:1px solid var(--border-color);color:var(--brand-red);border-radius:var(--radius);cursor:pointer;background:#fff;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:600}.btn-delete:hover{border-color:var(--brand-red);background:#fdf2f2}.app-footer{text-align:center;border-top:1px solid var(--border-color);color:var(--text-muted);margin-top:24px;padding:24px 0 0;font-size:12px}@media (width<=900px){.main-layout{flex-direction:column}.preview-panel{max-height:none;position:static}.app-header{flex-direction:column;align-items:flex-start}.header-contact{align-items:flex-start}.preview-header{flex-direction:column}.preview-invoice-info{text-align:left}.invoice-meta-table{margin-left:0}.invoice-meta-table td:first-child{text-align:left}.preview-two-col{grid-template-columns:1fr}.signature-lines{flex-direction:column;align-items:center}}@media (width<=640px){.app{padding:0 8px 24px}.app-header{margin:0 -8px;padding:16px}.status-bar{margin:0 -8px;padding:8px 16px}.form-grid-1,.form-grid-2,.form-grid-3{grid-template-columns:1fr;max-width:100%}.action-bar{flex-direction:column;gap:8px}.template-picker,.action-buttons{flex-wrap:wrap;width:100%}.template-picker .btn,.action-buttons .btn{flex:1}.btn{text-align:center;padding:8px 14px;font-size:13px}.form-section,.line-item-section{border-radius:var(--radius);padding:14px}.saved-receipts{padding:16px}.record-card{flex-direction:column;align-items:flex-start}.record-actions{width:100%}.record-actions button{flex:1}.receipt-preview{padding:16px}.preview-grid-4{grid-template-columns:1fr 1fr}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-dark:#1a1714;--brand-charcoal:#2d2926;--brand-brown:#4a3f35;--brand-warm:#6b5d4f;--brand-tan:#a89279;--brand-gold:#c9a84c;--brand-cream:#f5f0e8;--brand-white:#faf8f4;--brand-red:#b33a3a;--brand-green:#3a7d44;--brand-blue:#3a6fb3;--text-primary:#1a1714;--text-secondary:#5c5347;--text-muted:#8a7e72;--border-color:#d9d0c3;--border-light:#e8e2d8;--bg-page:#eee9e0;--bg-card:#fff;--bg-input:#faf8f4;--shadow-sm:0 1px 3px #1a171414;--shadow-md:0 4px 12px #1a17141a;--shadow-lg:0 8px 24px #1a17141f;--radius:6px;--radius-lg:10px;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;line-height:1.5}body,#root{min-height:100vh}a{color:var(--brand-blue);text-decoration:none}a:hover{text-decoration:underline}@media print{body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff!important}.no-print,.app-header,.status-bar,.action-bar,.form-panel,.saved-receipts,.app-footer,.preview-panel{display:none!important}.print-only-preview{display:block!important}.receipt-preview{box-shadow:none!important;border:none!important;max-width:100%!important;margin:0!important;padding:20px!important}.preview-header{border-bottom-color:#333!important}@page{margin:.5in;size:letter}}.print-only-preview{display:none}
