*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:linear-gradient(160deg,#0f172a,#1e3a8a);min-height:100vh;color:#1e293b;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app{min-height:100vh;padding:16px}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.manage-btn{background:none;border:1.5px solid #e2e8f0;border-radius:8px;padding:5px 14px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:all .15s}.manage-btn:hover{border-color:#f97316;color:#f97316}.manage-panel{background:#fef9f6;border:1.5px solid #fed7aa;border-radius:12px;max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);padding:0 14px;margin-bottom:0;transition:max-height .32s ease,opacity .25s ease,transform .25s ease,padding .32s ease,margin-bottom .32s ease}.manage-panel.open{max-height:400px;opacity:1;transform:translateY(0);padding:14px;margin-bottom:14px}.batch-options{display:flex;flex-direction:column;gap:6px}.batch-option{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:10px 14px;font-size:13px;color:#475569;cursor:pointer;text-align:left;transition:all .15s}.batch-option:hover{border-color:#f97316;color:#f97316}.batch-option.danger{color:#dc2626;border-color:#fecaca}.batch-option.danger:hover{background:#fef2f2;border-color:#dc2626}.manage-label{font-size:12px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.range-row{display:flex;gap:10px;margin-bottom:10px}.range-field{flex:1;display:flex;flex-direction:column;gap:4px}.range-field label{font-size:11px;color:#94a3b8;font-weight:600;text-transform:uppercase}.date-input{width:100%;padding:8px 10px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1e293b;background:#fff;box-sizing:border-box}.date-input:focus{outline:none;border-color:#f97316}.manage-divider{border:none;border-top:1px solid #e2e8f0;margin:10px 0}.delete-confirm-bar{background:#fff7ed;border:1.5px solid #fed7aa;border-radius:10px;padding:14px 16px;margin-bottom:12px}.delete-confirm-bar p{font-size:13px;color:#92400e;margin-bottom:10px}.delete-confirm-actions{display:flex;gap:8px}.batch-confirm p{font-size:13px;color:#475569;margin-bottom:12px}.batch-confirm-actions{display:flex;gap:8px}.btn-batch-cancel{flex:1;padding:9px;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;color:#64748b;font-size:13px;font-weight:600;cursor:pointer}.btn-batch-delete{flex:1;padding:9px;border:none;border-radius:8px;background:#dc2626;color:#fff;font-size:13px;font-weight:600;cursor:pointer}.btn-batch-delete:disabled{opacity:.5;cursor:not-allowed}.history-row-right{display:flex;align-items:center;gap:10px}.row-delete-btn{background:none;border:none;font-size:15px;cursor:pointer;opacity:.3;padding:2px 4px;border-radius:4px;transition:opacity .15s;line-height:1}.row-delete-btn:hover{opacity:1}.history-cap-notice{background:#f9731614;border:1.5px solid rgba(249,115,22,.25);border-radius:10px;padding:10px 14px;font-size:13px;color:#92400e;margin-bottom:10px;text-align:center}.history-cap-upgrade{background:none;border:none;color:#f97316;font-weight:600;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.expiry-banner{background:#fef3c7;border:1.5px solid #f59e0b;color:#92400e;padding:10px 16px;border-radius:10px;text-align:center;font-size:13px;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;animation:slideDown .3s ease both}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.expiry-renew-btn{background:#f59e0b;color:#fff;border:none;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer}.expiry-renew-btn:hover{background:#d97706}.offline-banner{background:#fef3c7;border:1.5px solid #f59e0b;color:#92400e;padding:10px 16px;border-radius:10px;text-align:center;font-size:13px;font-weight:600;margin-bottom:12px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.app-header{text-align:center;padding:24px 0 16px;color:#fff}.app-header h1{font-size:28px;font-weight:700;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#fdba74);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.app-header p{font-size:14px;opacity:.85;margin-top:4px}.container{max-width:480px;margin:0 auto}.tabs{display:flex;gap:4px;background:#ffffff26;border-radius:12px;padding:4px;margin-bottom:16px}.tab{flex:1;padding:10px 6px;border:none;background:transparent;color:#ffffffb3;font-size:13px;font-weight:500;border-radius:10px;cursor:pointer;transition:all .2s;min-height:44px}.tab.active{background:#fff;color:#1e293b;box-shadow:0 2px 8px #0000001a}.card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 24px #00000014;margin-bottom:16px}.card-title{font-size:16px;font-weight:600;margin-bottom:16px;color:#334155}.card-subtitle{font-size:13px;color:#94a3b8;margin-top:-12px;margin-bottom:16px}.setup-progress{margin-bottom:20px;margin-top:-4px}.setup-progress-bar{height:6px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin-bottom:6px}.setup-progress-fill{height:100%;background:#f97316;border-radius:99px;transition:width .3s ease}.setup-progress-label{font-size:12px;color:#94a3b8}.settings-optional-divider{display:flex;align-items:center;gap:10px;margin:28px 0 20px}.settings-optional-divider:before,.settings-optional-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.settings-optional-divider span{font-size:11px;font-weight:600;color:#cbd5e1;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.doc-label-picker{display:flex;gap:8px}.doc-label-btn{flex:1;padding:11px 0;border:1.5px solid #e2e8f0;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#64748b;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.doc-label-btn.selected{border-color:#f97316;background:#fff7ed;color:#f97316;font-weight:600}.settings-quick-save{width:100%;margin-top:24px;margin-bottom:4px}.items-unlock-hint{font-size:13px;color:#94a3b8;text-align:center;padding:20px 0 8px;pointer-events:none}.alert{background:#fef3c7;border:1px solid #fbbf24;color:#92400e;padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:16px}.alert-with-action{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.btn-alert-action{background:#92400e;color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-alert-action:hover{background:#78350f}.items-locked{opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.items-locked-msg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0 4px;font-size:13px;color:#6b7280;pointer-events:all}.items-locked-msg .btn-alert-action{background:#6b7280}.items-locked-msg .btn-alert-action:hover{background:#4b5563}.form-group{margin-bottom:16px}.form-group label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#64748b;margin-bottom:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:15px;color:#1e293b;background:#f8fafc;transition:border-color .2s,box-shadow .2s;outline:none;min-height:44px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a;background:#fff}.form-group input.input-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.error-text{color:#ef4444;font-size:12px;margin-top:4px;display:block}.form-group textarea{resize:vertical;min-height:60px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.amount-input{position:relative}.amount-input .rupee{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#64748b;font-size:15px;font-weight:500}.amount-input input{padding-left:28px}.advanced-toggle{display:block;width:100%;padding:10px;border:none;background:transparent;color:#f97316;font-size:13px;font-weight:500;cursor:pointer;text-align:center;min-height:44px}.advanced-toggle:hover{color:#ea580c}.advanced-section{padding-top:8px;border-top:1px solid #f1f5f9}.toggle-label{display:flex!important;justify-content:space-between;align-items:center}.toggle{position:relative;width:48px;height:28px;border-radius:14px;border:none;cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on{background:#f97316}.toggle.off{background:#cbd5e1}.toggle-knob{position:absolute;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:left .2s}.toggle.on .toggle-knob{left:23px}.toggle.off .toggle-knob{left:3px}.help-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;border:1.5px solid #cbd5e1;background:transparent;color:#94a3b8;font-size:11px;font-weight:600;cursor:pointer;padding:0;line-height:1}.help-btn:hover{border-color:#f97316;color:#f97316}.help-tooltip{background:#f1f5f9;border-radius:8px;font-size:12px;color:#475569;line-height:1.5;max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);padding:0 12px;margin-bottom:0;transition:max-height .28s ease,opacity .22s ease,transform .22s ease,padding .28s ease,margin-bottom .28s ease}.help-tooltip.open{max-height:120px;opacity:1;transform:translateY(0);padding:10px 12px;margin-bottom:8px}.invoice-preview{border:1.5px solid #e8dfd0;border-radius:12px;padding:24px;background:#fffdf9;box-shadow:0 2px 12px #0000000f}.invoice-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;padding-bottom:16px;border-bottom:3px solid var(--inv-primary, #f97316);position:relative}.invoice-header:after{content:"TAX INVOICE";position:absolute;bottom:-1px;right:0;font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--inv-primary, #f97316);opacity:.6}.invoice-brand h3{font-size:16px;color:var(--inv-primary, #f97316);font-weight:700}.theme-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.theme-swatch{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:2px solid transparent;border-radius:8px;padding:5px;cursor:pointer;position:relative;transition:border-color .15s,transform .1s}.theme-swatch:hover{transform:translateY(-1px)}.theme-swatch.selected{border-color:var(--sw)}.theme-swatch.locked{opacity:.6;cursor:pointer}.theme-swatch-color{width:44px;height:28px;border-radius:5px;background:var(--sw);display:block}.theme-swatch-name{font-size:10px;color:#64748b;font-weight:500}.theme-swatch-badge{position:absolute;top:2px;right:2px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:7px;font-weight:700;padding:1px 4px;border-radius:3px;letter-spacing:.3px}.theme-swatch-check{position:absolute;top:3px;right:3px;width:12px;height:12px;border-radius:50%;background:var(--sw);display:block}.invoice-brand p{font-size:11px;color:#94a3b8}.invoice-logo{width:40px;height:40px;object-fit:contain;border-radius:6px;margin-bottom:6px}.pro-badge{background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:9px;font-weight:700;padding:1px 6px;border-radius:4px;margin-left:4px;text-transform:uppercase;letter-spacing:.5px}.logo-upload-area{margin-top:4px}.logo-preview-wrap{display:flex;align-items:center;gap:12px}.logo-preview-img{width:60px;height:60px;object-fit:contain;border-radius:8px;border:1.5px solid #e2e8f0;background:#f8fafc}.logo-remove{background:none;border:1px solid #fecaca;color:#ef4444;font-size:12px;padding:6px 12px;border-radius:6px;cursor:pointer}.logo-remove:hover{background:#fef2f2}.logo-dropzone{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border:1.5px dashed #cbd5e1;border-radius:10px;transition:border-color .15s,background .15s}.logo-drag-over{border-color:#f97316;background:#fff7ed}.logo-upload-options{display:flex;gap:10px;width:100%}.logo-upload-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 8px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9px;cursor:pointer;font-size:12px;font-weight:600;color:#475569;transition:all .15s;text-align:center}.logo-upload-btn:hover{border-color:#f97316;background:#fff7ed;color:#f97316}.logo-upload-btn-camera{border-color:#e2e8f0}.logo-btn-icon{font-size:20px;line-height:1}.logo-dropzone-hint{font-size:11px;color:#94a3b8;text-align:center}.logo-upload-locked{display:flex;align-items:center;gap:8px;padding:14px 16px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;color:#94a3b8;font-size:13px}.lock-icon{font-size:16px}.preview-address{color:#64748b!important;font-size:10px!important;font-weight:400;margin-top:1px}.gstin-tag{color:#f97316!important;font-weight:500;font-size:10px!important}.non-gst-tag{color:#f59e0b!important;font-weight:500;font-size:10px!important}.invoice-number{text-align:right;font-size:12px;color:#64748b}.invoice-number strong{display:block;font-size:13px;color:#1e293b}.invoice-details{margin-bottom:20px}.invoice-details .row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.invoice-details .row .label{color:#64748b}.invoice-details .row .value{font-weight:500;color:#1e293b}.invoice-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px}.invoice-table th{text-align:left;padding:10px 6px;border-bottom:1.5px solid #e2e8f0;color:#64748b;font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.invoice-table th:first-child,.invoice-table td:first-child{width:28px;color:#94a3b8}.invoice-table th:last-child,.invoice-table td:last-child{text-align:right}.invoice-table td{padding:12px 6px;border-bottom:1px solid #f1f5f9;word-break:break-word;overflow-wrap:break-word}.invoice-table td:nth-child(2){max-width:160px}.invoice-totals{margin-left:auto;width:65%;font-size:13px}.invoice-totals .row{display:flex;justify-content:space-between;padding:6px 0}.invoice-totals .row .label{color:#64748b}.invoice-totals .row.total{border-top:2px solid #1e293b;margin-top:10px;padding-top:12px;font-weight:700;font-size:15px;color:#1e293b}.invoice-qr{text-align:center;margin-top:24px;padding-top:20px;border-top:1px dashed #e2e8f0}.invoice-qr p{font-size:11px;color:#94a3b8;margin-top:8px}.invoice-qr img,.invoice-qr canvas{border-radius:8px}.invoice-watermark{text-align:center;font-size:10px;color:#cbd5e1;margin-top:18px}.tax-invoice-label{display:block;font-size:9px;font-weight:700;color:var(--inv-primary);letter-spacing:1px;text-transform:uppercase;margin-bottom:2px}.due-date-label{display:block;font-size:11px;color:#ef4444;margin-top:2px}.bill-to-block{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bill-to-detail{font-size:11px;color:#94a3b8}.amount-words{font-size:11px;color:#94a3b8;font-style:italic;padding:8px 0 4px;border-top:1px dashed #e2e8f0;margin-top:6px;text-align:left}.invoice-terms{margin-top:16px;padding-top:14px;border-top:1px dashed #e2e8f0}.terms-label{display:block;font-size:10px;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:5px}.invoice-terms p{font-size:11px;color:#64748b;line-height:1.5;margin:0;white-space:pre-wrap}.optional-tag{font-size:10px;font-weight:400;color:#94a3b8;margin-left:4px}.terms-textarea{width:100%;padding:10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:13px;font-family:inherit;color:#1e293b;background:#f8fafc;resize:vertical;box-sizing:border-box;transition:border-color .15s;line-height:1.5}.terms-textarea:focus{outline:none;border-color:#f97316;background:#fff}.char-hint-below{font-size:10px;color:#94a3b8;display:block;text-align:right;margin-top:3px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-whatsapp{background:#25d366;color:#fff;margin-bottom:10px}.btn-whatsapp:hover:not(:disabled){background:#20bd5a;transform:translateY(-1px);box-shadow:0 4px 12px #25d3664d}.btn-download{background:#f97316;color:#fff}.btn-download:hover:not(:disabled){background:#ea580c;transform:translateY(-1px);box-shadow:0 4px 12px #f9731640}.btn-redownload{background:#16a34a!important}.btn-redownload:hover:not(:disabled){background:#15803d!important;box-shadow:0 4px 12px #16a34a40!important}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover:not(:disabled){background:#e2e8f0}.btn-sm{width:auto;padding:6px 12px;margin-left:8px;font-size:12px;min-height:36px}.btn-generate{background:linear-gradient(135deg,#f97316,#dc2626);color:#fff;margin-top:8px}.btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f973164d}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-buttons .btn{font-size:13px;padding:12px}.history-search{position:relative;margin-bottom:12px}.search-input{width:100%;padding:10px 36px 10px 12px;border:1.5px solid #e2e8f0;border-radius:10px;font-size:13px;background:#f8fafc;transition:border-color .2s;box-sizing:border-box}.search-input:focus{outline:none;border-color:#f97316;background:#fff}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:4px 8px}.history-hint{font-size:11px;color:#94a3b8;margin-bottom:10px;text-align:center}.history-item{display:flex;justify-content:space-between;align-items:center;padding:14px;border:1px solid #f1f5f9;border-radius:10px;margin-bottom:8px;transition:all .15s;cursor:pointer}.history-item:hover{background:#f8fafc;box-shadow:inset 3px 0 #fdba74}.history-item.selected{border-color:#f97316;background:#fff7ed;box-shadow:inset 3px 0 #f97316}.history-chevron{font-size:20px;color:#cbd5e1;line-height:1;margin:0 2px 0 6px;transition:transform .2s ease,color .15s;flex-shrink:0}.history-item:hover .history-chevron{color:#f97316}.history-item.selected .history-chevron{color:#f97316;transform:rotate(90deg)}@media (pointer: coarse){.history-chevron{color:#f97316;opacity:.65}.history-item:active{background:#fff7ed;box-shadow:inset 3px 0 #f97316}}.history-pagination{display:flex;align-items:center;justify-content:space-between;margin:8px 0 12px;gap:8px}.btn-page{background:none;border:1.5px solid #e2e8f0;border-radius:8px;padding:6px 14px;font-size:12px;font-weight:600;color:#f97316;cursor:pointer;transition:all .2s}.btn-page:hover:not(:disabled){background:#f97316;color:#fff;border-color:#f97316}.btn-page:disabled{opacity:.35;cursor:default}.page-num{font-size:12px;color:#94a3b8;font-weight:500}.history-inline-preview{animation:inline-preview-expand .22s ease both;margin-bottom:8px}@keyframes inline-preview-expand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.history-preview{margin-top:0;padding:16px;border:1.5px solid var(--inv-primary, #f97316);border-radius:12px;background:#fffdf7}.history-items-wrap{margin-top:12px}.history-items-more{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px 0 10px;padding:7px 12px;background:#f8fafc;border:1.5px dashed #cbd5e1;border-radius:8px;font-size:12px;font-weight:600;color:#475569;letter-spacing:.01em}.history-items-more:before{content:"···";font-size:16px;color:#94a3b8;letter-spacing:3px;line-height:1}.history-items-last-faded{opacity:.35}.preview-title{font-size:14px;font-weight:700;color:var(--inv-primary, #f97316);margin-bottom:12px}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.preview-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.preview-row .label{color:#64748b}.preview-row .value{font-weight:500;color:#1e293b}.preview-totals{margin-top:12px;padding-top:10px;border-top:1px solid #e2e8f0}.preview-totals .preview-row.total{border-top:2px solid #1e293b;margin-top:6px;padding-top:8px;font-weight:700;font-size:15px}.preview-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.preview-actions .btn{font-size:13px;padding:10px}.history-item .info{flex:1;min-width:0}.history-item .info .name{font-size:14px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .info .meta{font-size:12px;color:#94a3b8;margin-top:2px}.history-item .amount{font-size:15px;font-weight:700;color:#1e293b;white-space:nowrap;margin:0 8px}.empty-state{text-align:center;padding:32px;color:#94a3b8;font-size:14px}.pro-banner{background:linear-gradient(135deg,#f59e0b,#ef4444);border-radius:12px;padding:16px;color:#fff;text-align:center;margin-bottom:16px}.pro-banner h3{font-size:16px;margin-bottom:4px}.pro-banner p{font-size:12px;opacity:.9}.usage-bar{background:#fff3;border-radius:100px;height:6px;margin-top:10px;overflow:hidden}.usage-bar .fill{height:100%;background:#fff;border-radius:100px;transition:width .3s}.items-section{margin-top:4px}.items-label{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:8px}.item-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #f1f5f9}.item-row:last-of-type{border-bottom:none;margin-bottom:4px;padding-bottom:0}.item-num{font-size:11px;color:#94a3b8;min-width:18px;text-align:center;font-weight:600;flex-shrink:0;padding-top:10px}.item-fields{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.item-desc-wrap{position:relative}.desc-suggestions{position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001a;overflow:hidden}.desc-suggestion-item{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .1s}.desc-suggestion-item:last-child{border-bottom:none}.desc-suggestion-item:hover{background:#fef7f0}.desc-sug-name{font-size:13px;font-weight:600;color:#1e293b;flex:1;min-width:0}.desc-sug-price{font-size:12px;font-weight:600;color:#f97316;flex-shrink:0}.desc-sug-variant{font-size:11px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;padding:2px 7px;color:#475569;cursor:pointer;transition:background .1s,color .1s}.desc-sug-variant:hover{background:#f97316;color:#fff;border-color:#f97316}.item-desc{width:100%;padding:8px 10px!important;font-size:13px!important;box-sizing:border-box}.char-hint{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:#94a3b8;pointer-events:none;background:#fff;padding-left:2px}.has-char-hint .item-desc{padding-right:44px!important}.item-amt-row{display:flex;align-items:center;gap:6px}.item-qty-tag{font-size:11px;font-weight:700;color:#f97316;background:#fff7f2;border:1px solid #fed7aa;border-radius:6px;padding:2px 6px;white-space:nowrap;flex-shrink:0}.item-qty-stepper{display:flex;align-items:center;gap:4px;flex-shrink:0}.item-qty-btn{width:24px;height:24px;border-radius:50%;background:#f97316;color:#fff;border:none;font-size:16px;font-weight:400;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;padding:0;flex-shrink:0}.item-qty-btn:active{background:#ea6c00;transform:scale(.9)}.item-amount{width:100%;max-width:180px}.item-amount input{padding:8px 8px 8px 24px!important;font-size:13px!important;width:100%!important;box-sizing:border-box}.item-amount input::-webkit-outer-spin-button,.item-amount input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.item-amount input[type=number]{-moz-appearance:textfield}.item-remove{background:none;border:1px solid #fecaca;color:#ef4444;font-size:16px;cursor:pointer;padding:0;border-radius:6px;line-height:1;width:30px;height:30px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:6px}.item-remove:hover{background:#fef2f2;border-color:#ef4444}.btn-add-item{background:none;border:1.5px dashed #cbd5e1;color:#f97316;font-size:12px;font-weight:600;padding:8px;border-radius:8px;cursor:pointer;width:100%;margin-top:4px}.btn-add-item:hover:not(:disabled){border-color:#f97316;background:#fff7ed}.btn-add-item:disabled{color:#cbd5e1;cursor:not-allowed;border-color:#e2e8f0}.template-picker{display:flex;gap:8px;margin-top:4px}.template-card{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;padding:10px 12px;cursor:pointer;position:relative;transition:border-color .15s,background .15s;text-align:left}.template-card:hover:not(.locked){border-color:#f97316;background:#fff7ed}.template-card.selected{border-color:#f97316;background:#fff7ed}.template-card.locked{opacity:.6;cursor:pointer}.template-card-name{font-size:13px;font-weight:700;color:#1e293b}.template-card-tagline{font-size:10px;color:#94a3b8;font-weight:500}.template-card-check{position:absolute;top:6px;right:8px;font-size:11px;color:#f97316;font-weight:700}.template-note{font-size:11px;color:#94a3b8;margin-top:6px}.items-label-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.items-label-row .items-label{margin-bottom:0}.btn-clear-items{margin-left:auto;background:none;border:1px solid #e5e7eb;border-radius:6px;padding:3px 10px;font-size:11px;color:#9ca3af;cursor:pointer}.btn-clear-items:hover{border-color:#ef4444;color:#ef4444;background:#fef2f2}.template-badge{font-size:10px;font-weight:700;color:#f97316;background:#fff7ed;border:1px solid #fed7aa;border-radius:4px;padding:1px 7px;letter-spacing:.3px}.item-products-fields{display:flex;flex-direction:column;gap:6px}.item-hsn{width:130px!important;padding:7px 10px!important;font-size:12px!important;color:#64748b;box-sizing:border-box}.item-qty-rate{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.item-qty{width:70px;padding:8px!important;font-size:13px!important;text-align:center;box-sizing:border-box}.item-qty::-webkit-outer-spin-button,.item-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.item-qty[type=number]{-moz-appearance:textfield}.qty-rate-sep{color:#94a3b8;font-size:14px;font-weight:600;flex-shrink:0}.item-rate{width:120px}.item-rate input{padding:8px 8px 8px 24px!important;font-size:13px!important;width:100%!important;box-sizing:border-box}.item-rate input::-webkit-outer-spin-button,.item-rate input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.item-rate input[type=number]{-moz-appearance:textfield}.item-derived-total{font-size:12px;font-weight:600;color:#059669;white-space:nowrap}.item-detail-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border:1px solid #e2e8f0;border-radius:7px;background:#fafbfc;cursor:text;transition:border-color .15s}.item-detail-wrap:focus-within{border-color:#f97316;background:#fff}.item-detail-tag{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:5px;padding:2px 6px;white-space:nowrap}.item-detail-tag-remove{background:none;border:none;cursor:pointer;color:#94a3b8;font-size:13px;line-height:1;padding:0 0 0 2px;display:flex;align-items:center}.item-detail-tag-remove:hover{color:#ef4444}.item-detail-input{border:none;outline:none;background:transparent;font-size:11.5px;color:#475569;min-width:80px;flex:1;padding:1px 2px}.item-detail-input::placeholder{color:#94a3b8}.item-notes{width:100%;padding:7px 10px!important;font-size:12px!important;color:#64748b;box-sizing:border-box;border-style:dashed!important}.preview-item-detail{display:block;font-size:9.5px;color:#94a3b8;margin-top:1px;letter-spacing:.01em}.preview-item-notes{display:block;font-size:10px;color:#94a3b8;margin-top:2px;font-style:italic}.preview-item-qty{display:inline-block;font-size:10px;font-weight:700;color:#f97316;background:#fff7f2;border:1px solid #fed7aa;border-radius:4px;padding:1px 5px;margin-left:5px;vertical-align:middle}.invoice-table-products{font-size:10px!important}.invoice-table-products th,.invoice-table-products td{padding:5px 4px!important}.invoice-table-qty{font-size:11px!important}.invoice-table-qty th,.invoice-table-qty td{padding:7px 4px!important}.app-footer{text-align:center;padding:20px;color:#ffffff80;font-size:12px}.app-footer a{color:#ffffffb3;text-decoration:none}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e293b;color:#fff;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;box-shadow:0 8px 24px #0003;z-index:1000;animation:slideUp .3s ease;max-width:90%;text-align:center}.camera-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000}.camera-modal-inner{background:#0f172a;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;align-items:center;max-width:560px;width:94%;box-shadow:0 24px 64px #00000080}.camera-preview{width:100%;max-height:65vh;object-fit:cover;display:block;background:#000}.camera-actions{display:flex;gap:12px;padding:16px;width:100%;box-sizing:border-box}.camera-capture-btn{flex:1;padding:13px;background:#f97316;color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer;transition:background .15s}.camera-capture-btn:active{background:#ea6c00}.camera-cancel-btn{padding:13px 20px;background:none;color:#94a3b8;border:1.5px solid #334155;border-radius:10px;font-size:14px;cursor:pointer;transition:color .15s,border-color .15s}.camera-cancel-btn:hover{color:#fff;border-color:#64748b}.camera-error-body{display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 28px;gap:10px}.camera-error-icon{font-size:40px;line-height:1}.camera-error-title{font-size:17px;font-weight:700;color:#f1f5f9;margin:0}.camera-error-msg{font-size:13px;color:#94a3b8;line-height:1.6;margin:0}.camera-error-msg strong{color:#e2e8f0}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (min-width: 640px){.app{padding:24px}.app-header h1{font-size:32px}}@media (max-width: 360px){.form-row,.action-buttons{grid-template-columns:1fr}.invoice-totals{width:100%}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;color:#fff;text-align:center}.loading-screen h1{font-size:32px;font-weight:700;background:linear-gradient(135deg,#fff,#fdba74);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.loading-screen p{font-size:14px;opacity:.7;margin-top:8px}.user-profile{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:8px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:40px;border:1px solid rgba(255,255,255,.2)}.user-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.4);flex-shrink:0}.user-avatar--initials{display:flex;align-items:center;justify-content:center;background:#f97316;color:#fff;font-size:13px;font-weight:700;letter-spacing:.5px}.user-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.user-name{font-size:13px;font-weight:600;color:#fff;line-height:1.2;padding:0 4px}.user-logout{background:#ffffff2e;border:1px solid rgba(255,255,255,.25);color:#fff;font-size:13px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:40px;min-height:36px;transition:background .2s;white-space:nowrap;flex-shrink:0}.user-logout:active{background:#ffffff52}.user-logout:hover{background:#ffffff47}.google-signin-btn{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:10px 20px;background:#fff;color:#3c4043;border:none;border-radius:24px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #00000026}.google-signin-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0003}.google-signin-btn svg{flex-shrink:0}.landing{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px}.landing-content{max-width:420px;width:100%;text-align:center}.landing-title{font-size:52px;font-weight:800;background:linear-gradient(135deg,#fff,#fdba74);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-2px;margin-bottom:6px;display:inline-block}.landing-tagline{font-size:16px;color:#ffffffbf;margin-bottom:32px;letter-spacing:.2px}.landing-features{background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.15);padding:20px;margin-bottom:24px;text-align:left}.landing-feature{display:flex;align-items:flex-start;gap:12px;padding:10px 0}.landing-feature:not(:last-child){border-bottom:1px solid rgba(255,255,255,.1)}.feature-icon{font-size:22px;line-height:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px}.feature-icon-thunder{animation:thunder-flash 2.4s ease-in-out infinite}@keyframes thunder-flash{0%,to{transform:scale(1);filter:brightness(1)}10%{transform:scale(1.3);filter:brightness(1.8) drop-shadow(0 0 6px #fbbf24)}20%{transform:scale(1);filter:brightness(1)}30%{transform:scale(1.15);filter:brightness(1.5) drop-shadow(0 0 4px #fbbf24)}40%{transform:scale(1);filter:brightness(1)}}.feature-icon-qr{animation:qr-pulse 3s ease-in-out infinite}@keyframes qr-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}.feature-icon-brand{animation:brand-shimmer 2.8s ease-in-out infinite}@keyframes brand-shimmer{0%,to{filter:brightness(1) drop-shadow(0 0 0px transparent)}50%{filter:brightness(1.25) drop-shadow(0 0 5px rgba(249,115,22,.55))}}.landing-feature strong{color:#fff;font-size:14px;font-weight:600;display:block}.landing-feature p{color:#ffffffa6;font-size:12px;margin-top:2px;line-height:1.3}.landing-free-info{background:#ffffff14;border-radius:12px;padding:14px 16px;margin-bottom:24px}.landing-free-info p:first-child{color:#fff;font-size:15px}.landing-free-info p:last-child{color:#fff9;font-size:12px;margin-top:4px}.landing-signin{padding:14px 28px;font-size:15px;border-radius:28px;margin-bottom:12px}.landing-note{font-size:11px;color:#ffffff80}.pro-plans{margin-top:10px;background:#ffffff1f;border-radius:10px;padding:10px 14px}.pro-plan-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;color:#fff}.pro-plan-row small{font-size:11px;opacity:.8}.pro-perks{font-size:11px;color:#ffffffbf;text-align:center;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.15)}.btn-upgrade-banner{display:block;width:100%;margin-top:10px;padding:10px;background:#fff;color:#ea580c;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-upgrade-banner:hover{opacity:.88}.pricing-page{padding:8px 0 24px}.back-btn{background:none;border:none;color:#ffffff80;font-size:13px;cursor:pointer;padding:0;margin-bottom:20px;display:inline-block}.back-btn:hover{color:#f97316}.pricing-title{font-size:22px;font-weight:700;background:linear-gradient(135deg,#fff,#fdba74);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:6px}.pricing-subtitle{font-size:13px;color:#fff9;margin-bottom:24px}.pricing-cards{display:flex;gap:12px;flex-wrap:wrap}.pricing-card{flex:1;min-width:200px;background:#ffffff0f;border-radius:16px;padding:20px;border:1.5px solid rgba(255,255,255,.12);position:relative}.pricing-card.featured{background:#f9731614;border-color:#f97316;box-shadow:0 4px 24px #f9731626}.plan-badge{display:inline-block;background:#f97316;color:#fff;font-size:10px;font-weight:700;padding:2px 8px;border-radius:100px;margin-bottom:8px;letter-spacing:.5px;text-transform:uppercase}.plan-name{font-size:13px;font-weight:600;color:#ffffff8c;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.plan-price{font-size:30px;font-weight:700;color:#fff;margin-bottom:4px}.plan-period{font-size:14px;font-weight:400;color:#ffffff73}.plan-savings{font-size:12px;color:#4ade80;font-weight:600;margin-bottom:12px}.plan-perks{list-style:none;padding:0;margin:14px 0 18px}.plan-perks li{font-size:13px;color:#ffffffbf;padding:5px 0 5px 20px;position:relative}.plan-perks li:before{content:"✓";position:absolute;left:0;color:#4ade80;font-weight:700}.btn-plan{width:100%;padding:12px;border:1.5px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff14;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.btn-plan:hover:not(:disabled){border-color:#f97316;color:#f97316;background:#f9731614}.btn-plan.featured{background:linear-gradient(135deg,#f97316,#dc2626);color:#fff;border:none}.btn-plan.featured:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f9731659}.btn-plan:disabled{opacity:.5;cursor:not-allowed}.pricing-note{text-align:center;font-size:12px;color:#ffffff59;margin-top:18px}.preview-toggle{display:flex;align-items:center;gap:5px;font-size:11px;color:#94a3b8;cursor:pointer;margin-top:2px}.preview-toggle input{cursor:pointer}.qr-corner{animation:qr-corner-pop .4s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box;transform-origin:center}.qr-corner-1{animation-delay:0s}.qr-corner-2{animation-delay:.12s}.qr-corner-3{animation-delay:.24s}@keyframes qr-corner-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.qr-dot{animation:qr-dot-pop .25s cubic-bezier(.34,1.56,.64,1) both;transform-box:fill-box;transform-origin:center}.qr-dot-1{animation-delay:.38s}.qr-dot-2{animation-delay:.44s}.qr-dot-3{animation-delay:.5s}.qr-dot-4{animation-delay:.56s}@keyframes qr-dot-pop{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.qr-scan-line{opacity:0;animation:qr-scan 2.8s ease-in-out infinite;animation-delay:.9s}@keyframes qr-scan{0%{transform:translateY(2px);opacity:0}8%{opacity:.6}92%{opacity:.6}to{transform:translateY(24px);opacity:0}}.btn-generate{position:relative;overflow:hidden}.btn-generate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:-80%;width:55%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skew(-15deg);transition:none;pointer-events:none}.btn-generate:hover:not(:disabled):after{left:140%;transition:left .55s ease}.landing-feature{animation:fade-up .45s ease both}.landing-feature:nth-child(1){animation-delay:.1s}.landing-feature:nth-child(2){animation-delay:.22s}.landing-feature:nth-child(3){animation-delay:.34s}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.invoice-qr{position:relative}.invoice-qr:before{content:"";position:absolute;left:50%;transform:translate(-50%);width:104px;height:2px;background:linear-gradient(90deg,transparent,rgba(249,115,22,.65),transparent);border-radius:1px;pointer-events:none;animation:qr-preview-scan 3s ease-in-out infinite;animation-delay:.3s}.catalog-section{margin:20px 0;padding:20px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.catalog-hd{margin-bottom:14px}.catalog-hd-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.catalog-hd-sub{font-size:12.5px;color:var(--text-muted);line-height:1.55}.catalog-drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1.5px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:32px 20px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.catalog-drop-zone:hover{border-color:var(--accent);background:#f0f9ff}.catalog-drop-icon{width:28px;height:28px;color:#94a3b8;flex-shrink:0}.catalog-drop-label{font-size:13.5px;font-weight:500;color:var(--text-primary)}.catalog-drop-hint{font-size:12px;color:#94a3b8}.catalog-saved{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px}.catalog-saved-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.catalog-saved-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0}.catalog-saved-text{font-size:13px;color:#166534;font-weight:500}.catalog-saved-btns{display:flex;gap:6px;flex-shrink:0}.catalog-ghost-btn{font-size:12px;color:var(--text-muted);background:#fff;border:1px solid var(--border);border-radius:7px;padding:5px 11px;cursor:pointer;font-weight:500;transition:color .15s,border-color .15s}.catalog-ghost-btn:hover{color:var(--accent);border-color:var(--accent)}.catalog-delete-btn{color:#ef4444;border-color:#fecaca}.catalog-delete-btn:hover{color:#dc2626;border-color:#ef4444;background:#fef2f2}.catalog-loading{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-muted);padding:20px 0}.catalog-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.catalog-spinner-sm{width:13px;height:13px}@keyframes spin{to{transform:rotate(360deg)}}.catalog-error{font-size:13px;color:#ef4444;background:#ef444412;border:1px solid rgba(239,68,68,.18);border-radius:8px;padding:10px 14px;margin-top:6px}.catalog-review{margin-top:2px}.catalog-review-top{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.catalog-review-count{font-size:13px;font-weight:600;color:var(--text-primary)}.catalog-review-tip{font-size:12px;color:var(--text-muted)}.catalog-adding-more{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);padding:6px 0 10px}.catalog-cards-wrap{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;transition:min-height .2s ease}.catalog-item-card{border:1px solid #e8edf3;border-radius:8px;padding:8px 10px 6px;background:#fff;display:flex;flex-direction:column;gap:4px}.catalog-card-header{display:flex;align-items:center;gap:6px}.catalog-card-header .col-num{font-size:10px;color:#cbd5e1;min-width:14px;flex-shrink:0;text-align:right}.catalog-name-input{flex:1;font-size:13px;font-weight:600;border:none;padding:0;background:transparent;color:#1e293b;min-width:0}.catalog-name-input:focus{outline:none;color:#f97316}.catalog-tags-input{font-size:11px;color:#64748b;border:none;padding:0 0 0 20px;background:transparent;width:100%}.catalog-tags-input:focus{outline:none;color:#334155}.catalog-tags-input::placeholder{color:#94a3b8}.catalog-variants-list{display:flex;flex-direction:column;gap:3px;padding-left:20px;padding-top:2px}.catalog-variant-row{display:flex;align-items:center;gap:6px}.catalog-variant-label{width:110px;font-size:11.5px;border:1px solid #e2e8f0;border-radius:5px;padding:3px 7px;background:#f8fafc;color:#475569;flex-shrink:0}.catalog-variant-label:focus{outline:none;border-color:#f97316;background:#fff}.catalog-variant-label::placeholder{color:#cbd5e1}.catalog-price-wrap{display:flex;align-items:center;gap:2px}.catalog-price-sym{font-size:11px;color:#94a3b8}.catalog-price-wrap input{width:72px;font-size:12px;border:1px solid #e2e8f0;border-radius:5px;padding:3px 6px;color:#1e293b;background:#f8fafc}.catalog-price-wrap input:focus{outline:none;border-color:#f97316;background:#fff}.catalog-price-inline{margin-left:auto;flex-shrink:0}.catalog-price-inline input{width:62px}.catalog-add-variant-btn{align-self:flex-start;font-size:10.5px;color:#94a3b8;background:none;border:none;padding:2px 0 0 20px;cursor:pointer;margin-top:1px}.catalog-add-variant-btn:hover{color:#f97316}.catalog-tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:12px;border:1px solid #e8edf3;border-radius:12px}.catalog-tbl{width:100%;border-collapse:collapse;min-width:380px;table-layout:auto}.catalog-tbl-head th{padding:9px 12px;background:#f8fafc;text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;border-bottom:1.5px solid #e8edf3;white-space:nowrap}.catalog-row{transition:background .1s}.catalog-row:hover{background:#fafbfc}.catalog-row:focus-within{background:#f5f8ff}.catalog-tbl tbody tr:not(:last-child) td{border-bottom:1px solid #f1f5f9}.catalog-tbl td{padding:9px 12px;vertical-align:middle}.col-num{width:36px;color:#cbd5e1;font-size:11px;font-weight:600;text-align:center}.col-name{min-width:140px}.col-price{width:110px;white-space:nowrap}.col-unit{width:100px}.col-remove{width:36px;text-align:center}.catalog-tbl td input{border:none;background:transparent;outline:none;width:100%;font-size:13.5px;color:var(--text-primary);padding:0}.col-name input{font-weight:500}.catalog-tags-input{font-size:11px!important;font-weight:400!important;color:#64748b!important;margin-top:2px}.col-price input{text-align:right;font-weight:600;color:#334155;width:auto;min-width:0;flex:1}.col-unit input{font-size:12.5px;color:#64748b}.catalog-price-wrap{display:flex;align-items:center;gap:3px;justify-content:flex-end}.catalog-price-sym{font-size:11.5px;color:#94a3b8;font-weight:500;flex-shrink:0}.catalog-row-note td{padding:8px 12px;background:#fbbf240a}.catalog-tbl tbody .catalog-row-note:not(:last-child) td{border-bottom:1px solid rgba(251,191,36,.15)}.catalog-note-inner{display:flex;align-items:center;gap:8px}.catalog-note-label{font-size:9.5px;font-weight:700;color:#f59e0b;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}.catalog-note-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text-primary);padding:0}.catalog-remove{background:none;border:none;color:#d1d9e0;cursor:pointer;font-size:13px;padding:4px;line-height:1;transition:color .15s;display:flex;align-items:center;justify-content:center}.catalog-remove:hover{color:#ef4444}.catalog-pagination{display:flex;align-items:center;justify-content:space-between;padding:8px 0;margin-bottom:4px}.catalog-page-btn{background:none;border:none;padding:4px 6px;font-size:12px;color:var(--accent);cursor:pointer;font-weight:500}.catalog-page-btn:disabled{color:#cbd5e1;cursor:not-allowed}.catalog-page-info{font-size:12px;color:var(--text-muted)}.catalog-review-footer{display:flex;gap:8px;margin:10px 0 14px;flex-wrap:wrap}.catalog-manual-add{background:none;border:1px dashed var(--border);border-radius:7px;padding:7px 12px;font-size:12.5px;color:var(--text-muted);cursor:pointer;flex:1;text-align:center;transition:color .15s,border-color .15s}.catalog-manual-add:hover{color:var(--accent);border-color:var(--accent)}.catalog-add-more{background:none;border:1px dashed var(--border);border-radius:7px;padding:7px 12px;font-size:12.5px;color:var(--text-muted);cursor:pointer;flex:1;text-align:center;transition:color .15s,border-color .15s;display:block}.catalog-add-more:hover{color:var(--accent);border-color:var(--accent)}.catalog-review-actions{display:flex;gap:10px}.catalog-review-actions .btn{flex:1}.quick-add-empty-nudge{font-size:12px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:10px;padding:10px 14px;margin-bottom:12px;line-height:1.5}.quick-add-panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:12px;overflow:hidden}.quick-add-header{display:flex;align-items:center}.quick-add-toggle{display:flex;justify-content:space-between;align-items:center;flex:1;background:none;border:none;padding:11px 14px;font-size:13px;font-weight:600;color:#334155;cursor:pointer}.quick-add-chevron{font-size:10px;color:#94a3b8}.voice-order-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;border-left:1px solid #e2e8f0;padding:0 14px;height:100%;cursor:pointer;color:#94a3b8;transition:color .15s,background .15s;min-height:42px}.voice-order-btn:hover{color:#f97316;background:#fff7f2}.voice-order-btn.voice-recording{color:#ef4444;background:#fef2f2;animation:voice-btn-pulse 1.2s ease-in-out infinite}.voice-order-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes voice-btn-pulse{0%,to{opacity:1}50%{opacity:.6}}.voice-panel{border-top:1px solid #e2e8f0;background:#fafafa;padding:12px 14px}.voice-listening{display:flex;align-items:center;gap:10px;font-size:13px;color:#ef4444;font-weight:500}.voice-pulse{width:9px;height:9px;border-radius:50%;background:#ef4444;flex-shrink:0;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.4)}}.voice-processing{display:flex;align-items:center;gap:10px;font-size:13px;color:#64748b}.voice-result{display:flex;flex-direction:column;gap:10px}.voice-transcript{font-size:13px;color:#334155;font-style:italic;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 12px;line-height:1.4}.voice-matches{display:flex;flex-direction:column;gap:5px}.voice-match-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}.voice-match-check{color:#22c55e;font-size:12px;flex-shrink:0}.voice-match-name{flex:1;color:#334155;font-weight:500}.voice-match-tags{font-weight:400;color:#94a3b8;font-size:11px}.voice-match-qty{color:#f97316;font-weight:600;font-size:12px}.voice-match-price{color:#64748b;font-size:12px;min-width:40px;text-align:right}.voice-unmatched-row{display:flex;align-items:center;gap:6px;font-size:12px;color:#94a3b8;padding:2px 0}.voice-unmatched-warn{color:#f59e0b}.voice-not-found{font-style:italic}.voice-no-match{font-size:13px;color:#94a3b8;font-style:italic}.voice-retry-link{background:none;border:none;color:#f97316;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.voice-review{display:flex;flex-direction:column;gap:8px}.voice-review-label{font-size:11px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.voice-transcript-edit{width:100%;box-sizing:border-box;font-size:14px;color:#1e293b;font-family:inherit;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 10px;resize:none;outline:none;background:#f8fafc;line-height:1.4}.voice-transcript-edit:focus{border-color:#f97316;background:#fff}.voice-actions{display:flex;gap:8px;margin-top:4px}.voice-clear-btn{background:none;border:1px solid #e2e8f0;border-radius:7px;padding:7px 12px;font-size:12px;color:#94a3b8;cursor:pointer;transition:color .15s,border-color .15s}.voice-clear-btn:hover{color:#ef4444;border-color:#ef4444}.voice-confirm-btn{flex:1;background:#f97316;color:#fff;border:none;border-radius:7px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.voice-confirm-btn:hover{background:#ea6c0a}.voice-error-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#ef4444;gap:8px}.quick-add-search-wrap{padding:8px 10px;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;background:#f8fafc}.quick-add-search{width:100%;background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;font-size:13px;color:#334155;outline:none;transition:border-color .15s;box-sizing:border-box}.quick-add-search:focus{border-color:#f97316}.quick-add-search::placeholder{color:#94a3b8}.quick-add-list{max-height:200px;overflow-y:auto;padding:5px 6px;display:flex;flex-direction:column;gap:4px}.quick-add-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;transition:border-color .12s,background .12s;overflow:hidden}.quick-add-item:hover,.quick-add-item.added{border-color:#f97316;background:#fff7f2}.quick-add-item-row{display:flex;align-items:center;min-height:42px}.quick-add-tap{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;background:none;border:none;padding:10px 8px 10px 12px;cursor:pointer;text-align:left;min-width:0}.quick-add-name{font-size:13px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.quick-add-tags{font-size:10.5px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-add-price{font-size:12px;color:#f97316;font-weight:600;white-space:nowrap;flex-shrink:0;margin-left:8px}.quick-add-unit{font-size:11px;color:#94a3b8;font-weight:400}.quick-add-item-multi{padding:8px 10px 8px 12px;display:flex;flex-direction:column;gap:5px}.quick-add-chips{display:flex;flex-wrap:wrap;gap:5px}.quick-add-chip{display:flex;align-items:center;gap:4px;border:1px solid #e2e8f0;border-radius:6px;padding:4px 6px 4px 8px;background:#f8fafc;transition:border-color .1s,background .1s}.quick-add-chip.chip-added{border-color:#f97316;background:#fff7f2}.chip-label{font-size:11px;color:#64748b;font-weight:500}.chip-price{font-size:11.5px;color:#f97316;font-weight:600}.chip-plus{width:20px;height:20px;border-radius:50%;background:#f97316;color:#fff;font-size:15px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;line-height:1;flex-shrink:0}.chip-stepper{display:flex;align-items:center;gap:4px}.chip-count{font-size:11px;font-weight:700;color:#f97316;min-width:16px;text-align:center}.qas-btn.qas-sm{width:20px;height:20px;font-size:14px}.quick-add-plus{width:26px;height:26px;border-radius:50%;background:#f97316;color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;border:none;cursor:pointer;margin-right:10px}.quick-add-stepper{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-right:10px}.qas-btn{width:26px;height:26px;border-radius:50%;background:#f97316;color:#fff;border:none;font-size:18px;font-weight:400;display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1;padding:0;flex-shrink:0}.qas-btn:active{background:#ea6c00;transform:scale(.9)}.quick-add-count{font-size:13px;font-weight:700;color:#f97316;min-width:24px;text-align:center;flex-shrink:0}.quick-add-note{font-size:11px;color:#f59e0b;background:#fbbf240f;border:1px solid rgba(251,191,36,.15);border-radius:6px;padding:6px 10px}.quick-add-empty{font-size:12px;color:#94a3b8;padding:10px;text-align:center}@keyframes qr-preview-scan{0%{top:20px;opacity:0}10%{opacity:1}90%{opacity:1}to{top:120px;opacity:0}}.feedback-widget{position:relative}.feedback-trigger{display:flex;align-items:center;gap:5px;background:#f973161f;border:1px solid rgba(249,115,22,.35);border-radius:20px;padding:5px 12px 5px 9px;color:#f97316;font-size:12.5px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}.feedback-trigger:hover,.feedback-trigger--open{background:#f9731638;border-color:#f97316}.feedback-trigger-icon{font-size:14px;line-height:1}.feedback-trigger-label{display:inline}.feedback-portal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998}.feedback-dropdown{position:fixed;width:272px;background:#1e2a4a;border:1px solid rgba(249,115,22,.35);border-radius:16px;padding:18px 18px 14px;box-shadow:0 12px 40px #00000080,0 0 0 1px #f973161a;z-index:9999;animation:feedback-drop .25s cubic-bezier(.16,1,.3,1) both}@keyframes feedback-drop{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-badge{background:#f97316;color:#fff;font-size:10px;font-weight:700;border-radius:20px;padding:1px 6px;min-width:18px;text-align:center;line-height:16px}.feedback-close{position:absolute;top:10px;right:12px;background:none;border:none;color:#64748b;font-size:13px;cursor:pointer;padding:2px 4px;line-height:1}.feedback-close:hover{color:#f1f5f9}.feedback-prompt{font-size:13px;font-weight:600;color:#f1f5f9;margin-bottom:10px;padding-right:18px;line-height:1.4}.feedback-rating{display:flex;justify-content:space-between;margin-bottom:10px}.feedback-star{background:none;border:none;cursor:pointer;font-size:22px;padding:4px 2px;line-height:1;border-radius:6px;transition:transform .1s,opacity .1s;opacity:.45}.feedback-star:hover{opacity:.85;transform:scale(1.15)}.feedback-star--active{opacity:1;transform:scale(1.2)}.feedback-input{width:100%;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f1f5f9;font-family:inherit;font-size:13px;padding:9px 11px;resize:none;height:76px;outline:none;transition:border-color .15s}.feedback-input:focus{border-color:#f973168c}.feedback-input::placeholder{color:#475569}.feedback-footer{display:flex;align-items:center;justify-content:space-between;margin-top:9px}.feedback-count{font-size:11px;color:#475569}.feedback-submit{background:#f97316;color:#fff;border:none;border-radius:7px;font-size:12.5px;font-weight:600;padding:6px 16px;cursor:pointer;transition:background .15s}.feedback-submit:hover:not(:disabled){background:#ea6c00}.feedback-submit:disabled{opacity:.35;cursor:not-allowed}.feedback-thanks{font-size:13px;color:#4ade80;text-align:center;padding:10px 0;font-weight:500;line-height:1.5}@media (max-width: 480px){.feedback-trigger-label{display:none}.feedback-trigger{padding:6px 8px}.feedback-dropdown{left:12px!important;right:12px!important;width:auto!important}}
