:root{--color-primary:#f97316;--color-primary-hover:#ea580c;--color-primary-light:#fff7ed;--color-success:#10b981;--color-warning:#f59e0b;--color-danger:#ef4444;--color-info:#3b82f6;--color-bg:#f8fafc;--color-bg-card:#ffffff;--color-bg-input:#ffffff;--color-border:#e2e8f0;--color-border-focus:#f97316;--color-text:#1e293b;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 rgb(0 0 0 / 0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0 / 0.1),0 2px 4px -2px rgb(0 0 0 / 0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0 / 0.1),0 4px 6px -4px rgb(0 0 0 / 0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition-fast:150ms ease}[data-theme=dark]{--color-bg:#0f172a;--color-bg-card:#1e293b;--color-bg-input:#334155;--color-border:#334155;--color-border-focus:#fb923c;--color-text:#f1f5f9;--color-text-secondary:#94a3b8;--color-text-muted:#64748b;--color-primary-light:#431407}*,::after,::before{box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6}.container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem}.page-header{text-align:center;margin-bottom:2rem}.page-header__title{font-size:clamp(1.75rem, 4vw, 2.5rem);font-weight:700;color:var(--color-text);margin-bottom:.75rem}.page-header__subtitle{font-size:1.125rem;color:var(--color-text-secondary);max-width:700px;margin:0 auto}.workspace{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}@media (max-width:900px){.workspace{grid-template-columns:1fr}}.editor-pane{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);overflow:hidden}.editor-section{padding:1.5rem;border-bottom:1px solid var(--color-border)}.editor-section:last-child{border-bottom:none}.editor-section__header{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;margin:0;padding:0;background:0 0;border:none;width:100%;text-align:left;font-family:inherit;color:var(--color-text)}.editor-section__title{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.editor-section__toggle{font-size:1.1rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0;margin-left:1rem}.editor-section.collapsed .editor-section__toggle{transform:rotate(-90deg)}.editor-section__body{margin-top:1rem;overflow:hidden}.editor-section.collapsed .editor-section__body{display:none}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-grid--three{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column}.form-group--full{grid-column:1/-1}@media (max-width:600px){.form-grid,.form-grid--three{grid-template-columns:1fr}}.form-label{font-size:.8125rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.375rem}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;font-size:.9375rem;font-weight:500;font-family:inherit;background:var(--color-bg-input);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);transition:all var(--transition-fast);margin:0!important;margin-bottom:0!important}.form-textarea{resize:vertical;min-height:60px;font-family:inherit;line-height:1.5}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .875rem center;padding-right:2.25rem}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:0;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input::-webkit-inner-spin-button,.form-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield}.logo-uploader{display:flex;flex-direction:column;gap:.75rem}.logo-upload-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.logo-upload-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;background:var(--color-bg);border:2px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.logo-upload-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.logo-input-hidden{display:none}.logo-thumb-wrap{display:none;align-items:center;gap:.75rem}.logo-thumb-wrap.has-logo{display:flex}.logo-thumb{max-width:60px;max-height:60px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:#fff;object-fit:contain;padding:4px}.logo-remove-btn{padding:.375rem .75rem;background:0 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-danger);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.logo-remove-btn:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.radio-row{display:flex;gap:.5rem;flex-wrap:wrap}.radio-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .875rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.radio-pill input{position:absolute;opacity:0;pointer-events:none}.radio-pill.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.slider-wrap{display:flex;align-items:center;gap:.75rem}.slider-wrap input[type=range]{flex:1;accent-color:var(--color-primary);margin:0!important}.slider-value{font-size:.8125rem;font-weight:600;color:var(--color-primary);min-width:50px;text-align:right}.theme-swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.5rem}.theme-swatch{padding:.625rem .5rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;text-align:center}.theme-swatch:hover{border-color:var(--color-primary);color:var(--color-primary)}.theme-swatch.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.items-table{width:100%;border-collapse:collapse;margin-bottom:.75rem}.items-table th{text-align:left;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:.5rem .5rem;border-bottom:1px solid var(--color-border)}.items-table td{padding:.4rem .3rem;vertical-align:top}.items-table th.col-price,.items-table th.col-qty,.items-table th.col-total{text-align:right}.items-table .col-action{width:36px;text-align:center}.items-table input.form-input{padding:.5rem .625rem;font-size:.875rem}.items-table input.col-input-num{text-align:right}.row-remove{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-danger);font-size:1rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-family:inherit;padding:0}.row-remove:hover{background:var(--color-danger);color:#fff;border-color:var(--color-danger)}.line-total-display{padding:.5rem .625rem;font-size:.875rem;font-weight:600;color:var(--color-text);text-align:right;background:var(--color-bg);border-radius:var(--radius-sm)}.add-item-btn{padding:.5rem .875rem;background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.add-item-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.amount-toggle{display:flex;gap:0;align-items:stretch}.amount-toggle input{flex:1;border-radius:var(--radius-md) 0 0 var(--radius-md)!important;border-right:none!important}.amount-toggle .toggle-btn{padding:0 .75rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--color-text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all var(--transition-fast)}.amount-toggle .toggle-btn:hover{color:var(--color-primary);border-color:var(--color-primary)}.amount-toggle .toggle-btn.is-active-mode{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.actions-bar{background:var(--color-bg-card);border-radius:var(--radius-md);padding:.875rem 1rem;border:1px solid var(--color-border);margin-bottom:1rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;box-shadow:var(--shadow-sm)}.action-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1rem;border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:inherit}.action-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.action-btn--primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.action-btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:#fff}.action-btn--danger{color:var(--color-danger)}.action-btn--danger:hover{border-color:var(--color-danger);color:var(--color-danger);background:rgba(239,68,68,.06)}.print-hint{display:block;text-align:center;color:var(--color-text-muted);font-size:.75rem;margin-bottom:1rem}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--color-text);color:var(--color-bg-card);padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;box-shadow:var(--shadow-lg);pointer-events:none;opacity:0;transition:opacity .25s,transform .25s;z-index:9999}.toast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}.receipt-pane{position:sticky;top:1rem}.receipt-pane__label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.5rem;font-weight:600;text-align:center}.receipt-preview{background:#fff;color:#111;border-radius:var(--radius-md);padding:2rem 1.75rem;box-shadow:var(--shadow-lg);margin:0 auto;max-width:580px;transition:all var(--transition-fast);font-family:Inter,sans-serif;line-height:1.5}.receipt-preview *{box-sizing:border-box}.receipt-logo-wrap{text-align:center;margin-bottom:1rem}.receipt-logo-wrap img{max-width:100%;height:auto;display:inline-block}.receipt-business{text-align:center;margin-bottom:1rem}.receipt-business__name{font-size:1.5rem;font-weight:700;margin:0 0 .25rem;line-height:1.2}.receipt-business__address,.receipt-business__contact{font-size:.8125rem;color:#444;white-space:pre-wrap;margin:0}.receipt-business__contact{margin-top:.25rem}.receipt-divider{border:none;border-top:1px solid #ccc;margin:1rem 0}.receipt-meta{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1rem;font-size:.85rem;margin-bottom:1rem}.receipt-meta__label{color:#666;font-weight:500}.receipt-meta__value{text-align:right;font-weight:600;color:#111}.receipt-customer{margin-bottom:1rem;font-size:.85rem}.receipt-customer__title{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#666;margin-bottom:.25rem;font-weight:600}.receipt-customer__details{color:#222;white-space:pre-wrap}.receipt-items-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}.receipt-items-table th{text-align:left;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:#666;padding:.5rem .4rem;border-bottom:1px solid #ccc;font-weight:600}.receipt-items-table td.r,.receipt-items-table th.r{text-align:right}.receipt-items-table td{padding:.45rem .4rem;border-bottom:1px solid #eee;vertical-align:top}.receipt-items-table td.col-desc{word-break:break-word}.receipt-totals{margin-left:auto;width:60%;font-size:.875rem;margin-bottom:1rem}.receipt-totals .row{display:flex;justify-content:space-between;padding:.25rem 0}.receipt-totals .row.muted{color:#555}.receipt-totals .row.grand{font-size:1.1rem;font-weight:700;border-top:2px solid #333;padding-top:.5rem;margin-top:.4rem}.receipt-notes{text-align:center;color:#444;font-size:.8125rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid #eee;white-space:pre-wrap;line-height:1.5}@media (max-width:600px){.receipt-totals{width:100%}.receipt-meta{grid-template-columns:1fr}.receipt-meta__value{text-align:left}}.receipt--classic{font-family:Georgia,'Times New Roman',serif;border:1px solid #ddd}.receipt--classic .receipt-business__name{font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;letter-spacing:.02em}.receipt--classic .receipt-divider{border-top:3px double #333}.receipt--classic .receipt-items-table th{background:#f7f7f5;border-bottom:2px solid #333}.receipt--modern{border-radius:12px;overflow:hidden;padding-top:0;border:1px solid #eee}.receipt--modern::before{content:"";display:block;height:8px;background:linear-gradient(90deg,#f97316,#ea580c);margin:0 -1.75rem 1.75rem}.receipt--modern .receipt-business__name{color:#f97316;letter-spacing:-.01em;font-weight:700}.receipt--modern .receipt-totals .row.grand{color:#f97316;border-top-color:#f97316}.receipt--modern .receipt-divider{border-top:1px solid #e5e7eb}.receipt--minimal{box-shadow:none;border:1px solid #e5e7eb;padding:2.5rem 2rem}.receipt--minimal .receipt-business__name{font-weight:600;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase}.receipt--minimal .receipt-divider{border-top:1px solid #e5e7eb;margin:1.5rem 0}.receipt--minimal .receipt-items-table th{background:0 0;color:#777;border-bottom:1px solid #e5e7eb}.receipt--minimal .receipt-items-table td{border-bottom:1px solid #f4f4f5}.receipt--minimal .receipt-totals .row.grand{border-top:1px solid #333;font-weight:600}.receipt--thermal{font-family:'Courier New','Lucida Console',monospace!important;background:#fdfbf6;color:#111;max-width:320px;padding:1.25rem 1rem;border-radius:4px;box-shadow:0 1px 6px rgba(0,0,0,.08);font-size:.8125rem;line-height:1.4}.receipt--thermal .receipt-business__name{font-family:'Courier New',monospace;font-size:1rem;text-transform:uppercase;letter-spacing:.06em}.receipt--thermal .receipt-business__address,.receipt--thermal .receipt-business__contact{font-size:.75rem}.receipt--thermal .receipt-divider{border-top:0;height:0;text-align:center;margin:.75rem 0;overflow:hidden;color:#333}.receipt--thermal .receipt-divider::before{content:"= = = = = = = = = = = = = = = = = = = = = = = = = =";letter-spacing:.04em;display:block;font-size:.75rem;line-height:.8;white-space:nowrap;overflow:hidden}.receipt--thermal .receipt-meta{grid-template-columns:1fr;gap:.1rem;font-size:.75rem}.receipt--thermal .receipt-meta__value{text-align:left}.receipt--thermal .receipt-items-table td,.receipt--thermal .receipt-items-table th{padding:.2rem .2rem;font-size:.75rem;border-bottom:1px dashed #999}.receipt--thermal .receipt-items-table th{background:0 0;text-transform:uppercase}.receipt--thermal .receipt-totals{width:100%;font-size:.8125rem}.receipt--thermal .receipt-totals .row.grand{font-size:.95rem;border-top:1px dashed #333}.receipt--thermal .receipt-notes{text-transform:uppercase;font-size:.75rem;border-top:1px dashed #999}.receipt--elegant{background:#fbf6ec;border:1px solid #e9d9b9;color:#2c241a;font-family:Merriweather,Georgia,serif}.receipt--elegant .receipt-business__name{font-family:Merriweather,Georgia,serif;font-style:italic;color:#6b4f1e;letter-spacing:.01em}.receipt--elegant .receipt-business__address,.receipt--elegant .receipt-business__contact{color:#6c5a3c;font-style:italic}.receipt--elegant .receipt-divider{border-top:1px solid #c9a96a}.receipt--elegant .receipt-items-table th{color:#6b4f1e;background:#f3e8d1;border-bottom:1px solid #c9a96a;font-style:italic}.receipt--elegant .receipt-items-table td{border-bottom:1px solid #efe2c6}.receipt--elegant .receipt-totals .row.grand{color:#6b4f1e;border-top:2px solid #c9a96a}.receipt--elegant .receipt-notes{color:#6c5a3c;font-style:italic;border-top:1px solid #efe2c6}.faq-section,.info-section{background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem;border:1px solid var(--color-border);margin-top:2rem}.faq-section h2,.info-section h2{font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:.75rem;margin-top:0}.info-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin-top:1.25rem;margin-bottom:.5rem}.info-section p{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:.75rem}.info-section ul{padding-left:1.5rem;margin-bottom:.75rem}.info-section li{font-size:.9375rem;color:var(--color-text-secondary);margin-bottom:.375rem}.privacy-note{margin-top:1rem;padding:1rem 1.25rem;background:var(--color-primary-light);border-left:4px solid var(--color-primary);border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text)}.related-tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-top:1rem}.related-tool{display:block;padding:.875rem 1rem;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);transition:all var(--transition-fast)}.related-tool:focus,.related-tool:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translateY(-1px);text-decoration:none;outline:0}.related-tool__title{display:block;font-weight:600;font-size:.9375rem;color:var(--color-primary);margin-bottom:.25rem}.related-tool__desc{display:block;font-size:.8125rem;color:var(--color-text-secondary);line-height:1.45}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;text-align:left;background:0 0;border:none;padding:.9rem 0;font-size:.95rem;font-weight:600;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:0;font-family:inherit}.faq-question::after{content:'+';font-size:1.2rem;color:var(--color-text-muted);transition:transform .2s;flex-shrink:0;margin-left:1rem}.faq-question.active::after{content:'-'}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer p{padding:0 0 1rem;color:var(--color-text-secondary);line-height:1.6;font-size:.9rem}@media (max-width:600px){.container{padding:1rem}.editor-section{padding:1.25rem}.receipt-preview{padding:1.5rem 1.25rem}.actions-bar{padding:.75rem}.action-btn{padding:.5rem .75rem;font-size:.8125rem}}@media print{body *{visibility:hidden}.receipt-preview,.receipt-preview *{visibility:visible}.receipt-preview{position:absolute;left:0;top:0;width:100%;max-width:100%;box-shadow:none;border:none;margin:0;padding:.5in}.actions-bar,.editor-pane,.faq-section,.info-section,.page-header,.print-hint,.receipt-pane__label,.toast,footer,header,nav{display:none!important}@page{margin:.5in}.receipt--thermal{max-width:100%}}