@layer lab{div.vega-lab{background:0 0;border:none;margin:0;padding:0}.coupon-app{--bg:#fafafa;--surface:#fff;--border:#e5e7eb;--border-strong:#d1d5db;--text:#111827;--text-muted:#6b7280;--text-dim:#9ca3af;--accent:#2563eb;--accent-soft:#dbeafe;--success:#059669;--success-soft:#d1fae5;--warning:#d97706;--warning-soft:#fef3c7;--danger:#dc2626;--mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;border:1px solid var(--border);border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,sans-serif;font-size:13px;line-height:1.5;overflow:hidden}.coupon-app *{box-sizing:border-box;margin:0;padding:0}.coupon-app .app-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.coupon-app .app-header .titles h1{font-size:15px;font-weight:600}.coupon-app .app-header .titles p{color:var(--text-muted);margin-top:2px;font-size:12px}.coupon-app .app-header .actions{align-items:center;gap:10px;display:flex}.coupon-app .scenario-pick{align-items:center;gap:6px;display:inline-flex}.coupon-app .scenario-pick>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.coupon-app .scenario-select{border:1px solid var(--border-strong);background:var(--surface);cursor:pointer;border-radius:4px;max-width:280px;padding:4px 8px;font-size:12px}.coupon-app .scenario-note{background:var(--accent-soft);border-left:3px solid var(--accent);color:var(--text);border-radius:3px;margin-bottom:10px;padding:8px 10px;font-size:11px;line-height:1.6}.coupon-app .scenario-note strong{color:var(--accent)}.coupon-app .scenario-note .sc-hint{color:var(--warning);font-weight:600}.coupon-app .layout{gap:0;height:78vh;min-height:540px;padding:12px;display:grid;overflow:hidden}.coupon-app .resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;background:0 0;transition:background .12s;position:relative}.coupon-app .resizer:before{content:"";background:var(--border-strong);border-radius:1px;width:2px;height:32px;transition:all .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.coupon-app .resizer:hover{background:var(--accent-soft)}.coupon-app .resizer:hover:before{background:var(--accent);height:56px}.coupon-app .resizer.dragging{background:var(--accent-soft)}.coupon-app .resizer.dragging:before{background:var(--accent);width:3px;height:100%}body.resizing,body.resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.coupon-app .resizer.res-off{pointer-events:none}.coupon-app .resizer.res-off:before{display:none}.coupon-app .panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.coupon-app .panel-header{border-bottom:1px solid var(--border);background:#fcfcfd;flex-shrink:0;justify-content:space-between;align-items:center;padding:9px 12px;display:flex}.coupon-app .panel-header h2{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.coupon-app .panel-body{flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.coupon-app .panel-header .ph-right{align-items:center;gap:8px;display:flex}.coupon-app .collapse-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:3px;padding:2px 5px;font-size:14px;line-height:1;transition:all .12s}.coupon-app .collapse-btn:hover{color:var(--accent);background:var(--accent-soft)}.coupon-app .panel.collapsed{overflow:hidden}.coupon-app .panel.collapsed .panel-header{border-bottom:none;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px;height:100%;padding:8px 0}.coupon-app .panel.collapsed .ph-right{flex-direction:column;order:1;gap:0}.coupon-app .panel.collapsed .ph-summary{display:none}.coupon-app .panel.collapsed h2{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;letter-spacing:.1em;order:2}.coupon-app .panel.collapsed .collapse-btn{padding:4px;font-size:15px}.coupon-app .panel.collapsed .panel-body,.coupon-app .panel.collapsed .tabs,.coupon-app .panel.collapsed .algo-desc,.coupon-app .panel.collapsed .result-card,.coupon-app .panel.collapsed .comparison{display:none!important}.coupon-app table.data{border-collapse:collapse;width:100%;font-size:12px}.coupon-app table.data th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);z-index:1;background:#fafafa;padding:6px 8px;font-weight:500;position:sticky;top:0}.coupon-app table.data th.num{text-align:right}.coupon-app table.data td{vertical-align:top;border-bottom:1px solid #f3f4f6;padding:6px 8px}.coupon-app table.data tr:hover td{background:#fafbfc}.coupon-app .mono{font-family:var(--mono)}.coupon-app .num{font-family:var(--mono);text-align:right}.coupon-app .tabs{border-bottom:1px solid var(--border);background:#fcfcfd;flex-shrink:0;display:flex;overflow-x:auto}.coupon-app .tab{cursor:pointer;color:var(--text-muted);white-space:nowrap;border-bottom:1px solid #0000;padding:10px 14px;font-size:12px;font-weight:500;transition:all .12s}.coupon-app .tab:hover{color:var(--text);background:#00000005}.coupon-app .tab.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.coupon-app .algo-desc{border-bottom:1px solid var(--border);background:#f9fafb;flex-shrink:0;padding:12px 14px;font-size:12px}.coupon-app .algo-desc h3{margin-bottom:4px;font-size:13px;font-weight:600}.coupon-app .algo-desc .meta{color:var(--text-muted);margin:4px 0;font-size:11px}.coupon-app .algo-desc pre{color:#e5e7eb;font-size:11px;font-family:var(--mono);background:#1f2937;border-radius:4px;margin-top:6px;padding:8px 10px;line-height:1.5;overflow-x:auto}.coupon-app .result-card{border-bottom:1px solid var(--border);background:linear-gradient(#f0fdf4 0%,#fff 100%);flex-shrink:0;padding:14px}.coupon-app .result-savings{color:var(--success);font-size:26px;font-weight:600;font-family:var(--mono);letter-spacing:-.02em}.coupon-app .result-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:10px}.coupon-app .selected-coupon{background:#f0fdf4;border:1px solid #d1fae5;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 10px;display:flex}.coupon-app .dp-grid{font-family:var(--mono);border-collapse:collapse;font-size:10px}.coupon-app .dp-grid th,.coupon-app .dp-grid td{text-align:right;background:#fff;border:1px solid #e5e7eb;min-width:30px;padding:3px 5px}.coupon-app .dp-grid th{color:var(--text-muted);background:#f3f4f6;font-weight:500}.coupon-app .dp-grid td.path{color:#92400e;background:#fef3c7;font-weight:600}.coupon-app .dp-grid td.optimal{color:#065f46;background:#d1fae5;font-weight:600}.coupon-app .badge{border-radius:3px;padding:1px 6px;font-size:10px;font-weight:500;display:inline-block}.coupon-app .badge-issuer-platform{color:#1e40af;background:#dbeafe}.coupon-app .badge-issuer-shop{color:#3730a3;background:#e0e7ff}.coupon-app .badge-issuer-brand{color:#6b21a8;background:#fae8ff}.coupon-app .badge-scope-all{color:#374151;background:#f3f4f6}.coupon-app .badge-scope-category{color:#92400e;background:#fef3c7}.coupon-app .badge-scope-shop{color:#065f46;background:#ecfdf5}.coupon-app .badge-scope-sku{color:#9f1239;background:#fce7f3}.coupon-app .badge-scope-shipping{color:#075985;background:#f0f9ff}.coupon-app .badge-form-reduction{color:#5b21b6;background:#f5f3ff}.coupon-app .badge-form-discount{color:#155e75;background:#ecfeff}.coupon-app .badge-form-nothreshold{color:#065f46;background:#d1fae5}.coupon-app .coupon-row.unavailable td{opacity:.4}.coupon-app .coupon-row.selected td{background:#ecfdf5!important}.coupon-app .coupon-row.disabled td{opacity:.3;background:#f9fafb}.coupon-app button{background:var(--surface);border:1px solid var(--border-strong);cursor:pointer;color:var(--text);border-radius:4px;padding:5px 10px;font-family:inherit;font-size:12px;transition:all .12s}.coupon-app button:hover{background:#f9fafb;border-color:#9ca3af}.coupon-app button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.coupon-app button.primary:hover{background:#1d4ed8}.coupon-app input,.coupon-app select{border:1px solid var(--border-strong);background:var(--surface);border-radius:3px;padding:3px 6px;font-family:inherit;font-size:12px}.coupon-app input.num-input{text-align:right;width:52px;font-family:var(--mono)}.coupon-app .comparison{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;display:grid}.coupon-app .comparison-cell{border:1px solid var(--border);background:#fff;border-radius:4px;padding:10px}.coupon-app .comparison-cell .label{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:10px}.coupon-app .comparison-cell .value{font-size:18px;font-weight:600;font-family:var(--mono);margin-top:2px}.coupon-app .comparison-cell.winner{background:#f0fdf4;border-color:#a7f3d0}.coupon-app .comparison-cell.winner .value{color:var(--success)}.coupon-app .comparison-cell.loser .value{color:var(--text-muted)}.coupon-app .section-divider{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);margin:14px 0 6px;padding-bottom:4px;font-size:10px;font-weight:600}.coupon-app .section-divider:first-child{margin-top:0}.coupon-app .legend{color:var(--text-muted);flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:11px;display:flex}.coupon-app .legend-item{align-items:center;gap:4px;display:inline-flex}.coupon-app .legend-swatch{border:1px solid #e5e7eb;width:12px;height:12px;display:inline-block}.coupon-app .tip-box{border-left:3px solid var(--accent);color:var(--text-muted);background:#f9fafb;border-radius:3px;margin-top:10px;padding:10px 12px;font-size:11px;line-height:1.6}.coupon-app .tip-box strong{color:var(--text)}.coupon-app .checkbox{cursor:pointer;accent-color:var(--accent)}.coupon-app .empty-state{text-align:center;color:var(--text-dim);padding:30px 20px;font-size:12px}.coupon-app .row-actions{white-space:nowrap;gap:2px;display:inline-flex}.coupon-app .action-btn{cursor:pointer;color:var(--text-dim);background:0 0;border:none;border-radius:2px;padding:2px 4px;font-size:12px;line-height:1;transition:all .1s}.coupon-app .action-btn:hover{color:var(--accent);background:var(--accent-soft)}.coupon-app .action-btn.delete:hover{color:var(--danger);background:#fee2e2}.coupon-app .add-btn{border:1px dashed var(--border-strong);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;margin-top:12px;padding:8px 10px;font-size:12px;transition:all .12s}.coupon-app .add-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.coupon-app .modal-overlay{z-index:100;background:#0f172a80;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.coupon-app .modal-overlay.open{display:flex}.coupon-app .modal{border:1px solid var(--border);background:#fff;border-radius:6px;flex-direction:column;width:440px;max-width:92vw;max-height:88vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.coupon-app .modal-header{border-bottom:1px solid var(--border);background:#fcfcfd;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.coupon-app .modal-header h3{font-size:14px;font-weight:600}.coupon-app .modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.coupon-app .modal-body{padding:14px 16px;overflow-y:auto}.coupon-app .modal-footer{border-top:1px solid var(--border);background:#fcfcfd;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.coupon-app .form-row{grid-template-columns:76px 1fr;align-items:center;gap:10px;margin-bottom:8px;display:grid}.coupon-app .form-row>label{color:var(--text-muted);font-size:12px}.coupon-app .form-row input,.coupon-app .form-row select{width:100%;padding:5px 8px;font-size:12px}.coupon-app .form-hint{color:var(--text-dim);grid-column:2;margin-top:-4px;margin-bottom:6px;font-size:10px}}
