:root{--primary: #d32f2f;--bg: #f8f9fa;--text: #2c3e50;--muted: #7f8c8d}body{font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);margin:0 auto;padding:20px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.card{background:#fff;border-radius:8px;overflow:hidden;border:1px solid #eee;margin-bottom:20px}table{width:100%;border-collapse:collapse;font-size:.85rem}th{text-align:left;padding:10px 14px;background:#fafafa;color:var(--muted);font-size:9px;text-transform:uppercase;border-bottom:1px solid #eee;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}th:hover{background:#f0f0f0;color:var(--text)}td{padding:12px 14px;border-bottom:1px solid #f5f5f5;vertical-align:top}.price{font-weight:700;color:var(--primary);white-space:nowrap}.old-price{font-size:.75rem;color:#aab;text-decoration:line-through}.multi{display:inline-block;background:#fff3e0;color:#e65100;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600}.annet{font-size:.75rem;color:#667;line-height:1.4}.source-loader{display:flex;align-items:center;gap:8px;margin:0 0 14px}.source-loader select,.source-loader input,.source-loader button{height:32px;border:1px solid #ddd;border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.82rem}.source-loader select{min-width:150px;padding:0 8px}.source-loader input{width:70px;padding:0 8px}.source-loader button{padding:0 12px;cursor:pointer;font-weight:700}.source-loader button:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.source-loader button:disabled{cursor:wait;opacity:.6}.source-loader span{color:var(--muted);font-size:.78rem}.drag-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#2e7d32e6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;color:#fff;pointer-events:none;opacity:0;transition:opacity .2s}.drag-overlay.active{opacity:1}.drag-overlay svg{margin-bottom:20px;animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.drag-overlay h2{font-size:2rem;margin:0}.drag-overlay p{font-size:1.2rem;opacity:.8}._topBar_13d5k_1{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid #eee}._leftSection_13d5k_10{display:flex;align-items:baseline;gap:24px}._tabs_13d5k_16{display:flex;gap:14px}._tab_13d5k_16{text-decoration:none;background:none;border:none;border-bottom:2px solid transparent;padding:2px 0;font-size:.82rem;font-weight:500;color:var(--muted);cursor:pointer}._tab_13d5k_16:hover{color:var(--primary)}._activeTab_13d5k_37{color:var(--primary)!important;border-bottom-color:var(--primary)}._disabled_13d5k_42{opacity:.4;cursor:default;pointer-events:none}._title_13d5k_48{font-size:.9rem;margin:0;font-weight:800;color:var(--primary);letter-spacing:1px;cursor:pointer}._fileActions_13d5k_57{display:flex;align-items:center;gap:12px}._currentFile_13d5k_63{font-size:.75rem;color:var(--muted);font-family:monospace;background:#eee;padding:4px 8px;border-radius:4px}._btnIcon_13d5k_72{cursor:pointer;padding:5px;border-radius:6px;color:var(--muted);display:flex;align-items:center;border:none;background:none}._btnIcon_13d5k_72:hover:not(:disabled){background:#eee;color:var(--primary)}._btnIcon_13d5k_72._active_13d5k_37{color:var(--primary);background:#fdeaea}._btnIcon_13d5k_72:disabled{opacity:.5;cursor:not-allowed}._filePicker_13d5k_98{display:none}@media (max-width: 768px){._topBar_13d5k_1{flex-direction:column;align-items:stretch;gap:10px;padding:10px 12px;margin-bottom:8px}._leftSection_13d5k_10{align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}._title_13d5k_48{font-size:.9rem;flex:0 0 auto}._tabs_13d5k_16{gap:4px;flex-wrap:wrap}._tab_13d5k_16{min-height:44px;display:inline-flex;align-items:center;padding:0 10px;font-size:.9rem;border:1px solid transparent;border-radius:6px;box-sizing:border-box}._activeTab_13d5k_37{border-color:var(--primary);background:#fdeaea}._fileActions_13d5k_57{justify-content:flex-end;gap:6px}._currentFile_13d5k_63{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem}._btnIcon_13d5k_72{min-width:44px;min-height:44px;justify-content:center}}._searchWrapper_1syba_1{display:flex;align-items:center;gap:15px;width:100%;margin-bottom:15px}._stickySearch_1syba_9{position:sticky;top:0;z-index:40;padding:8px 0;background:var(--bg)}._inputContainer_1syba_17{position:relative;flex:1}._searchBox_1syba_22{width:100%;padding:12px 40px 12px 16px;font-size:15px;border:1px solid #ddd;border-radius:8px;box-sizing:border-box}._searchBox_1syba_22:disabled{background-color:#f5f5f5;cursor:not-allowed}._clearBtn_1syba_36{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:0 4px;line-height:1}._clearBtn_1syba_36:hover{color:#c62828}._categoryToggle_1syba_55{display:flex;align-items:center;gap:10px;cursor:pointer;white-space:nowrap;font-size:.9rem;color:#444;-webkit-user-select:none;user-select:none;padding:5px 0}._switch_1syba_67{position:relative;display:inline-block;width:40px;height:20px}._switch_1syba_67 input{opacity:0;width:0;height:0}._slider_1syba_80{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:20px}._slider_1syba_80:before{position:absolute;content:"";height:14px;width:14px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+._slider_1syba_80{background-color:#2e7d32}input:focus+._slider_1syba_80{box-shadow:0 0 1px #2e7d32}input:checked+._slider_1syba_80:before{transform:translate(20px)}._toggleText_1syba_116{font-weight:500}@media (max-width: 768px){._searchWrapper_1syba_1{flex-direction:row;align-items:center;gap:10px;margin-bottom:0}._stickySearch_1syba_9{padding:8px 12px}._searchBox_1syba_22{font-size:16px;padding:10px 38px 10px 14px;min-height:40px}._clearBtn_1syba_36{min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;right:4px}._categoryToggle_1syba_55{flex-shrink:0;padding:0;gap:6px;font-size:.78rem;min-height:40px}._switch_1syba_67{width:36px;height:20px}._slider_1syba_80{border-radius:20px}._slider_1syba_80:before{height:14px;width:14px;left:3px;bottom:3px}input:checked+._slider_1syba_80:before{transform:translate(16px)}}._recentFiles_1en91_1{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding-bottom:5px}._chip_1en91_9{font-size:10px;padding:4px 12px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;color:var(--muted);white-space:nowrap;font-family:monospace;display:flex;align-items:center;gap:6px}._chip_1en91_9:hover{border-color:var(--primary);color:var(--primary)}._chip_1en91_9._active_1en91_29{background:var(--primary);color:#fff;border-color:var(--primary)}._deleteBtn_1en91_35{font-weight:700;padding:0 4px;border-radius:4px}._deleteBtn_1en91_35:hover{background:#0000001a}@media (max-width: 768px){._recentFiles_1en91_1{gap:6px;margin-bottom:12px;padding:4px 12px 6px;-webkit-overflow-scrolling:touch}._chip_1en91_9{font-size:12px;padding:8px 10px;min-height:36px}._deleteBtn_1en91_35{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:14px}}._cardHeader_xgksj_1{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#fafafa;border-bottom:1px solid #eee}._headerLabel_xgksj_10{font-size:9px;text-transform:uppercase;color:var(--muted);letter-spacing:.8px}._itemCount_xgksj_17{font-size:10px;color:var(--muted);font-weight:600}._noResults_xgksj_23{padding:40px;text-align:center;color:var(--muted)}._stickyTableHeader_xgksj_29 th{position:sticky;z-index:30;background:#fafafa;box-shadow:0 1px #eee}._sortAsc_xgksj_36:after{content:" ↑";position:absolute;right:4px}._sortDesc_xgksj_42:after{content:" ↓";position:absolute;right:4px}._actionHeader_xgksj_48{width:44px;text-align:center}._actionCell_xgksj_53{text-align:center}._deleteRowBtn_xgksj_57{width:24px;height:24px;padding:0;border:1px solid transparent;border-radius:4px;background:transparent;color:#999;font-size:18px;line-height:20px;cursor:pointer}._deleteRowBtn_xgksj_57:hover{border-color:#ffcdd2;background:#fff0f0;color:#c62828}@media (max-width: 768px){._cardHeader_xgksj_1{padding:10px 12px}._headerLabel_xgksj_10{font-size:11px}._itemCount_xgksj_17{font-size:12px}._actionHeader_xgksj_48{width:48px}._deleteRowBtn_xgksj_57{width:36px;height:36px;font-size:20px;line-height:1}._noResults_xgksj_23{padding:24px 12px;font-size:.95rem}}._compareGrid_blzyg_1,._compareTableCard_blzyg_5{overflow:visible}._compareSummary_blzyg_9{background:#fff;padding:12px 16px;border-radius:8px;border:1px solid #eee;margin-bottom:15px;display:flex;gap:20px;font-size:.75rem;align-items:center}._filterGroup_blzyg_21{display:flex;gap:4px;border-left:1px solid #eee;padding-left:20px}._finalSaveGroup_blzyg_28{display:flex;align-items:center;gap:8px;margin-left:auto;min-width:0}._finalSaveButton_blzyg_36{border:1px solid #cfd8dc;border-radius:4px;background:#fff;color:#263238;font-size:.72rem;font-weight:700;padding:5px 8px;cursor:pointer;white-space:nowrap}._finalSaveButton_blzyg_36:hover:not(:disabled){border-color:#90a4ae;background:#f7fafb}._finalSaveButton_blzyg_36:disabled{cursor:not-allowed;opacity:.55}._finalDeleteButton_blzyg_58{border:1px solid transparent;border-radius:4px;background:transparent;color:#c62828;font-size:.72rem;font-weight:600;padding:5px 8px;cursor:pointer;white-space:nowrap}._finalDeleteButton_blzyg_58:hover:not(:disabled){border-color:#ffcdd2;background:#fff5f5}._finalDeleteButton_blzyg_58:disabled{cursor:not-allowed;opacity:.4}._deleteModal_blzyg_80{background:#fff;border-radius:8px;padding:24px;max-width:400px;width:90vw;box-shadow:0 8px 32px #0000002e;display:flex;flex-direction:column;gap:14px}._deleteModalTitle_blzyg_92{margin:0;font-size:1rem;color:#c62828}._deleteModalBody_blzyg_98{margin:0;font-size:.82rem;color:#333;line-height:1.5}._deleteModalLabel_blzyg_105{display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:#555}._deleteModalInput_blzyg_113{border:1px solid #cfd8dc;border-radius:4px;padding:6px 8px;font-size:.82rem;width:100%;box-sizing:border-box}._deleteModalInput_blzyg_113:focus{outline:none;border-color:#ef9a9a}._deleteModalError_blzyg_127{margin:0;font-size:.75rem;color:#c62828}._deleteModalActions_blzyg_133{display:flex;gap:8px;justify-content:flex-end}._deleteModalActions_blzyg_133 button{border:1px solid #cfd8dc;border-radius:4px;background:#fff;font-size:.78rem;padding:6px 12px;cursor:pointer}._deleteModalActions_blzyg_133 button:disabled{cursor:not-allowed;opacity:.5}._deleteModalConfirmBtn_blzyg_153{background:#c62828!important;color:#fff;border-color:#c62828!important;font-weight:700}._deleteModalConfirmBtn_blzyg_153:hover:not(:disabled){background:#b71c1c!important}._finalTarget_blzyg_164,._finalError_blzyg_165{min-width:0;font-size:.68rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._finalError_blzyg_165{color:#b71c1c}._filterBtn_blzyg_178{cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .2s;border:1px solid transparent}._filterBtn_blzyg_178:hover{background:#f0f0f0}._filterBtn_blzyg_178._active_blzyg_190{background:#eee;border-color:#ddd;font-weight:700}._compareTable_blzyg_5{width:100%;min-width:500px;table-layout:fixed}._stickyTableHeader_blzyg_202 th{position:sticky;top:58px;z-index:30;background:#fafafa;box-shadow:0 1px #eee}._compareTable_blzyg_5 th,._compareTable_blzyg_5 td{border:1px solid #eee;border-left:2px solid #ddd;word-break:break-word;overflow-wrap:break-word}._sourceCell_blzyg_218{position:relative}._compareTable_blzyg_5 th:first-child,._compareTable_blzyg_5 td:first-child{border-left:1px solid #eee}._indexCol_blzyg_227{width:25px;padding:2px!important;text-align:center;color:#999;font-size:.65rem;font-weight:400!important;background:#fafafa!important}._vareCol_blzyg_237{background:#fdfdfd!important;font-weight:600;font-size:.75rem}._matchRow_blzyg_243:hover{background:#f8f9ff}._bg-exact_blzyg_247{background:#c8e6c9!important}._bg-similar_blzyg_251{background:#e8f5e9!important}._bg-mismatch_blzyg_255{background:#fff0f0!important;border:1px solid #ffcdd2!important}._bg-missing_blzyg_260{background:#ffe5e5!important;color:#d32f2f!important;font-style:italic;font-size:.7rem}._finalColumn_blzyg_267{background:#fbfcfd;vertical-align:top}._finalCell_blzyg_272{min-width:150px;font-size:.75rem}._finalControlRow_blzyg_277{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}._finalSourceToggles_blzyg_285{display:flex;align-items:center;gap:6px;min-width:0}._finalStatusActions_blzyg_292{display:flex;align-items:center;gap:6px;flex:0 0 auto}._sourceCellFrame_blzyg_299{box-shadow:inset 0 0 0 2px #2e7d32}._sourcePartFrame_blzyg_303{outline:2px solid #2e7d32;outline-offset:2px;border-radius:6px}._finalBadgeAuto_blzyg_309,._finalBadgeManual_blzyg_310,._finalBadgeSaved_blzyg_311,._finalBadgeMuted_blzyg_312{width:fit-content;border-radius:4px;padding:2px 5px;font-size:.6rem;font-weight:700;line-height:1.2}._finalBadgeAuto_blzyg_309{background:#f0f0f0;color:#666}._finalBadgeSaved_blzyg_311{background:#e3f2fd;color:#1565c0}._finalBadgeManual_blzyg_310{background:#fff3e0;color:#e65100}._finalBadgeMuted_blzyg_312{background:#f1f1f1;color:#999}._finalInlineButton_blzyg_341,._finalToggleButton_blzyg_342{width:fit-content;border:0;background:transparent;color:#425466;font-size:.66rem;font-weight:700;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}._finalInlineButton_blzyg_341:hover,._finalToggleButton_blzyg_342:hover:not(:disabled){color:#111}._finalToggleButton_blzyg_342:disabled{color:#b9c0c6;cursor:not-allowed;text-decoration:none}._colStats_blzyg_366{display:block;font-size:8px;color:var(--muted);margin-top:4px;text-transform:none;font-weight:400}._rawVare_blzyg_375{font-size:.6rem;color:#99a;margin-top:4px;border-top:1px solid rgba(0,0,0,.05);padding-top:2px}._sortAsc_blzyg_383:after{content:" ↑";position:absolute;right:4px}._sortDesc_blzyg_389:after{content:" ↓";position:absolute;right:4px}._headerTitle_blzyg_395{display:flex;align-items:center;gap:6px;margin-bottom:4px}._sourceHeader_blzyg_402,._fileName_blzyg_403{flex:1;min-width:0}._sourceHeader_blzyg_402{display:grid;gap:1px}._sourceName_blzyg_413{color:#263238;font-size:.72rem;font-weight:800;line-height:1.05;text-transform:uppercase}._sourceChain_blzyg_421{color:#4b5a60;font-size:.66rem;font-weight:700;line-height:1.05;text-transform:lowercase}._sourceDetail_blzyg_429{color:#9aa3a8;font-size:.54rem;font-weight:500;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._deleteBtn_blzyg_439{font-size:16px;line-height:1;color:#999;cursor:pointer;padding:2px 4px;border-radius:4px;transition:all .2s}._deleteBtn_blzyg_439:hover{background:#0000001a;color:#c62828}._cellContent_blzyg_454{display:flex;align-items:flex-start;gap:10px;min-width:0}._cellText_blzyg_461{min-width:0;flex:1;padding-right:30px}._cropButton_blzyg_467{width:92px;height:74px;flex:0 0 92px;padding:0;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:zoom-in;overflow:hidden}._cropButton_blzyg_467:hover{border-color:#999}._cropThumb_blzyg_483{display:block;width:92px;height:74px;background:#fff}._modalBackdrop_blzyg_490{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:24px;background:#000000b8}._cropModal_blzyg_501{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(96vw,1500px);height:min(90vh,900px);background:#fff;border-radius:8px;overflow:hidden}._modalClose_blzyg_512{position:absolute;top:10px;right:12px;z-index:2;width:32px;height:32px;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:#ffffffeb;color:#333;font-size:22px;line-height:28px;cursor:pointer}._modalCropPane_blzyg_528,._modalFlyerPane_blzyg_529{min-width:0;min-height:0;height:100%;display:flex;align-items:center;justify-content:center;padding:24px}._modalCropPane_blzyg_528{border-right:1px solid #eee;background:#f8f9fa}._modalCropCanvas_blzyg_544{display:block;width:min(100%,520px);height:auto;max-height:100%;background:#fff;border:1px solid #e0e0e0}._flyerImageWrap_blzyg_553{position:relative;display:inline-block;max-width:100%;max-height:100%}._modalFlyerImage_blzyg_560{display:block;max-width:100%;max-height:calc(min(90vh,900px) - 48px);width:auto;height:auto}._bboxMarker_blzyg_568{position:absolute;border:3px solid #d32f2f;box-shadow:0 0 0 2px #ffffffd9;pointer-events:none}._deleteRowBtn_blzyg_575{position:absolute;top:6px;right:6px;z-index:5;width:22px;height:22px;padding:0;border:1px solid #cfd8dc;border-radius:3px;background:#fffffff5;color:#607d8b;font-size:16px;line-height:20px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}._deleteRowBtn_blzyg_575:hover{border-color:#d32f2f;background:#d32f2f;color:#fff}._finalToggle_blzyg_342{display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;font-size:.72rem;color:#444;-webkit-user-select:none;user-select:none;padding:5px 8px;border-left:1px solid #eee;margin-left:4px}._switch_blzyg_617{position:relative;display:inline-block;width:32px;height:16px}._switch_blzyg_617 input{opacity:0;width:0;height:0}._slider_blzyg_630{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.3s;border-radius:16px}._slider_blzyg_630:before{position:absolute;content:"";height:10px;width:10px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}._switch_blzyg_617 input:checked+._slider_blzyg_630{background-color:#2e7d32}._switch_blzyg_617 input:checked+._slider_blzyg_630:before{transform:translate(16px)}._toggleText_blzyg_662{font-weight:500}._editableField_blzyg_667{position:relative;display:inline-flex;align-items:center;gap:3px;cursor:text;border-radius:3px;padding:1px 3px;min-width:20px}._editableField_blzyg_667:hover{background:#0000000a}._editableFieldOverridden_blzyg_682{border:1px solid var(--accent, #1976d2);border-radius:3px}._editableFieldInput_blzyg_687{font:inherit;font-size:inherit;border:1px solid var(--accent, #1976d2);border-radius:3px;padding:1px 4px;width:100%;min-width:40px;background:#fff;outline:none}._editableFieldEmpty_blzyg_699{color:#bbb}._editableFieldReset_blzyg_703{border:0;background:transparent;padding:0 1px;cursor:pointer;font-size:.75rem;color:var(--accent, #1976d2);line-height:1}._editableFieldReset_blzyg_703:hover{color:#c62828}._selectedRow_blzyg_718 td:first-child{box-shadow:inset 4px 0 0 var(--accent, #1976d2)}._selectedRow_blzyg_718 td:last-child{box-shadow:inset -2px 0 0 var(--accent, #1976d2)}._selectedRow_blzyg_718 td{background:#eef0f8!important}._selectedRow_blzyg_718 ._bg-exact_blzyg_247{background:#a5d6a7!important}._selectedRow_blzyg_718 ._bg-similar_blzyg_251{background:#c8e6c9!important}._selectedRow_blzyg_718 ._bg-mismatch_blzyg_255{background:#ffcdd2!important}._selectedRow_blzyg_718 ._bg-missing_blzyg_260{background:#ffb3b3!important}@media (max-width: 768px){._compareSummary_blzyg_9{flex-wrap:wrap;gap:10px;padding:10px 12px;font-size:.78rem}._filterGroup_blzyg_21{border-left:none;padding-left:0;border-top:1px solid #eee;padding-top:10px;width:100%;flex-wrap:wrap}._finalSaveGroup_blzyg_28{width:100%;margin-left:0;flex-wrap:wrap;gap:10px}._finalSaveButton_blzyg_36,._finalDeleteButton_blzyg_58{min-height:44px;font-size:.85rem;padding:0 14px}._finalSaveButton_blzyg_36,._finalDeleteButton_blzyg_58{flex:1 1 calc(50% - 5px)}._filterBtn_blzyg_178{min-height:44px;padding:8px 12px;font-size:.9rem;display:inline-flex;align-items:center}._compareTableCard_blzyg_5{overflow-x:auto;-webkit-overflow-scrolling:touch}._compareTable_blzyg_5{min-width:640px}._compareTable_blzyg_5 th,._compareTable_blzyg_5 td{padding:10px 8px}._stickyTableHeader_blzyg_202 th{top:60px}._indexCol_blzyg_227{width:28px}._deleteRowBtn_blzyg_575{width:36px;height:36px;font-size:18px;top:4px;right:4px}._cropButton_blzyg_467{width:72px;height:58px;flex:0 0 72px}._cropThumb_blzyg_483{width:72px;height:58px}._cellText_blzyg_461{padding-right:36px}._modalBackdrop_blzyg_490{padding:0}._cropModal_blzyg_501{grid-template-columns:1fr;grid-template-rows:1fr 1fr;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}._modalClose_blzyg_512{width:44px;height:44px;font-size:26px;line-height:30px}._modalCropPane_blzyg_528{border-right:none;border-bottom:1px solid #eee;padding:16px}._modalFlyerPane_blzyg_529{padding:16px}._modalCropCanvas_blzyg_544,._modalFlyerImage_blzyg_560{max-height:calc(50dvh - 32px)}._deleteModal_blzyg_80{width:calc(100vw - 24px);padding:18px}._deleteModalTitle_blzyg_92{font-size:1.05rem}._deleteModalBody_blzyg_98{font-size:.9rem}._deleteModalInput_blzyg_113{min-height:44px;font-size:16px;padding:0 10px}._deleteModalActions_blzyg_133{flex-wrap:wrap;gap:10px}._deleteModalActions_blzyg_133 button{flex:1;min-height:44px;font-size:.9rem}._finalToggle_blzyg_342{padding:8px 10px;font-size:.85rem;min-height:36px}._switch_blzyg_617{width:44px;height:22px}._slider_blzyg_630{border-radius:22px}._slider_blzyg_630:before{height:16px;width:16px;left:3px;bottom:3px}._switch_blzyg_617 input:checked+._slider_blzyg_630:before{transform:translate(22px)}._finalInlineButton_blzyg_341,._finalToggleButton_blzyg_342{min-height:32px;font-size:.75rem;display:inline-flex;align-items:center}._editableField_blzyg_667{min-height:32px;padding:6px 8px}._editableFieldInput_blzyg_687{font-size:16px;min-height:36px}}._mobileCompareRoot_1kmiw_2{display:flex;flex-direction:column;height:calc(100dvh - 52px - var(--safe-area-bottom, 0px));overflow:hidden;position:relative;background:var(--bg, #f5f5f5)}._mobileCompareRoot_1kmiw_2 .bottom-sheet{z-index:50}._mobileTopBar_1kmiw_18{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:6px 8px;padding:10px 12px 6px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0;z-index:10}._sourceChip_1kmiw_30{grid-column:1;grid-row:1;background:#fdeaea;border:1px solid #e53935;border-radius:20px;padding:6px 14px;font-size:.85rem;font-weight:600;color:#c62828;cursor:pointer;text-align:left;min-height:38px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._topBarRight_1kmiw_48{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px}._iconBtn_1kmiw_56{width:38px;height:38px;border-radius:8px;border:1px solid #ddd;background:#fff;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#555}._tabToggle_1kmiw_70{grid-column:1 / -1;grid-row:2;display:flex;gap:20px;padding:4px 4px 0;border-bottom:1px solid #e0e0e0}._tabBtn_1kmiw_79{height:36px;padding:0 2px;border:none;background:transparent;font-size:.9rem;font-weight:500;color:#777;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}._tabBtn_1kmiw_79:active{color:#c62828}._tabBtnActive_1kmiw_99{color:#c62828;font-weight:700;border-bottom-color:#c62828}._mobileSearchWrap_1kmiw_106{padding:8px 12px 4px;background:#fff;border-bottom:1px solid #e0e0e0;flex-shrink:0}._filterStrip_1kmiw_114{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;background:#fff;border-bottom:1px solid #e8e8e8}._filterStrip_1kmiw_114::-webkit-scrollbar{display:none}._filterChip_1kmiw_130{flex-shrink:0;padding:6px 12px;border-radius:16px;border:1px solid #ddd;background:#fff;font-size:.8rem;cursor:pointer;color:#444;min-height:34px;white-space:nowrap}._filterChipActive_1kmiw_143{background:#fdeaea;border-color:#e53935;font-weight:700}._rowListScroll_1kmiw_150{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 80px}._rowCard_1kmiw_157{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer;min-height:60px;box-shadow:0 1px 3px #0000000f}._rowCard_1kmiw_157:active{background:#fafafa}._rowCardMain_1kmiw_177{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}._rowCardVare_1kmiw_184{font-size:.9rem;font-weight:500;color:#222;flex:1;line-height:1.3}._rowCardFinal_1kmiw_192{flex-shrink:0}._rowCardDots_1kmiw_196{display:flex;gap:5px;align-items:center}._badgeSaved_1kmiw_203{font-size:.7rem;background:#e8f5e9;color:#2e7d32;border-radius:10px;padding:2px 8px}._badgeAuto_1kmiw_211{font-size:.7rem;background:#fff3e0;color:#e65100;border-radius:10px;padding:2px 8px}._badgeManual_1kmiw_219{font-size:.7rem;background:#e3f2fd;color:#1565c0;border-radius:10px;padding:2px 8px}._badgeMuted_1kmiw_227{font-size:.7rem;background:#f5f5f5;color:#888;border-radius:10px;padding:2px 8px}._emptyState_1kmiw_236{padding:40px 20px;text-align:center;color:#888;font-size:.9rem}._saveBar_1kmiw_245{position:absolute;bottom:32px;left:0;right:0;display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #e0e0e0;z-index:45}._saveBarBtn_1kmiw_258{flex:1;height:44px;background:#c62828;color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer}._saveBarBtn_1kmiw_258:disabled{background:#ccc;cursor:not-allowed}._saveBarDeleteBtn_1kmiw_275{height:44px;padding:0 18px;background:#fff;color:#c62828;border:1px solid #c62828;border-radius:10px;font-size:.9rem;cursor:pointer}._saveBarDeleteBtn_1kmiw_275:disabled{color:#bbb;border-color:#ddd;cursor:not-allowed}._listViewScroll_1kmiw_293{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 12px 80px}._listSectionHeader_1kmiw_300{font-size:.75rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;padding:10px 2px 4px}._listRow_1kmiw_309{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid #f0f0f0;min-height:44px}._listRowVare_1kmiw_318{font-size:.88rem;color:#222;flex:1}._listRowPris_1kmiw_324{font-size:.88rem;font-weight:600;color:#c62828;flex-shrink:0;margin-left:8px}._sourceSheetContent_1kmiw_333{padding:0 16px 24px}._sourceSheetTitle_1kmiw_337{font-size:1rem;font-weight:700;margin:0 0 16px;color:#222}._sourceSheetRow_1kmiw_344{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}._sourceLabel_1kmiw_352{font-size:.8rem;color:#555;min-width:28px}._sourceSelect_1kmiw_358{flex:1;min-width:80px;height:40px;border:1px solid #ddd;border-radius:8px;padding:0 8px;font-size:.85rem;background:#fff}._sourceLoadBtn_1kmiw_369{width:100%;height:44px;background:#c62828;color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;margin-bottom:8px}._sourceLoadBtn_1kmiw_369:disabled{background:#ccc;cursor:not-allowed}._sourceMessage_1kmiw_387{font-size:.8rem;color:#555;margin:4px 0 8px}._sourceUploadRow_1kmiw_393{display:flex;gap:8px;margin-bottom:16px}._sourceUploadBtn_1kmiw_399{flex:1;height:40px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.85rem;cursor:pointer;color:#444}._loadedFilesList_1kmiw_410{margin-top:8px}._loadedFilesHeader_1kmiw_414{font-size:.75rem;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}._loadedFileRow_1kmiw_423{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0;min-height:44px;gap:8px}._loadedFilePath_1kmiw_433{font-size:.78rem;color:#444;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._loadedFileDelete_1kmiw_442{width:32px;height:32px;border-radius:6px;border:1px solid #ddd;background:#fff;color:#c62828;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}._detailPeekContent_1kmiw_458{padding:4px 0 8px}._detailPeekVare_1kmiw_462{font-size:1rem;font-weight:700;color:#222;margin-bottom:4px;line-height:1.3}._detailPeekRow_1kmiw_470{display:flex;justify-content:space-between;align-items:center;gap:8px}._detailPeekPris_1kmiw_477{font-size:.9rem;font-weight:600;color:#c62828}._detailHalfContent_1kmiw_483{padding:0 0 8px}._sourceBlock_1kmiw_487{border:1px solid #e0e0e0;border-radius:10px;padding:12px;margin-bottom:10px;background:#fff;cursor:pointer}._sourceBlock_1kmiw_487:active{background:#fafafa}._sourceBlockActive_1kmiw_500{border-color:#2e7d32;background:#e8f5e9}._sourceBlockHeader_1kmiw_505{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}._sourceBlockName_1kmiw_512{font-size:.78rem;font-weight:700;color:#555;text-transform:uppercase;letter-spacing:.04em}._sourceBlockBody_1kmiw_520{display:flex;gap:10px;align-items:flex-start}._sourceThumb_1kmiw_526{flex-shrink:0;border-radius:4px;overflow:hidden;background:#f5f5f5}._sourceBlockText_1kmiw_533{flex:1;min-width:0}._sourceBlockPris_1kmiw_538{font-size:.9rem;font-weight:700;color:#c62828}._sourceBlockForpris_1kmiw_544{font-size:.78rem;color:#888;text-decoration:line-through}._sourceBlockVare_1kmiw_550{font-size:.8rem;color:#555;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._sourceMissing_1kmiw_559{font-size:.85rem;color:#888;padding:8px 0;font-style:italic}._detailFullContent_1kmiw_566{padding:0 0 16px}._detailFullTitle_1kmiw_570{font-size:.95rem;font-weight:700;color:#222;margin-bottom:14px}._sourceDisplayRow_1kmiw_577{display:flex;gap:10px;align-items:flex-start;margin-bottom:14px}._sourceDisplayInfo_1kmiw_584{flex:1;display:flex;flex-direction:column;gap:4px;justify-content:center}._sourceDisplayLine_1kmiw_592{display:flex;align-items:center;gap:6px}._sourceDisplayChip_1kmiw_598{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#888;background:#f0f0f0;border-radius:4px;padding:1px 5px;flex-shrink:0}._sourceDisplayName_1kmiw_610{font-size:.85rem;font-weight:600;color:#222}._sourceToggleRow_1kmiw_616{display:flex;gap:6px;margin-top:6px}._sourceToggleBtn_1kmiw_622{height:32px;padding:0 12px;background:#fff;border:1px solid #ddd;border-radius:8px;font-size:.8rem;color:#444;cursor:pointer}._detailFullRow_1kmiw_633{margin-bottom:12px}._detailFullLabel_1kmiw_637{font-size:.75rem;font-weight:600;color:#777;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}._detailSourceSelect_1kmiw_646{width:100%;height:40px;border:1px solid #ddd;border-radius:8px;padding:0 8px;font-size:.85rem;background:#fff}._detailCropPreview_1kmiw_656{border-radius:6px;overflow:hidden;background:#f5f5f5;margin-bottom:8px}._detailFieldGrid_1kmiw_663{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}._detailFieldFull_1kmiw_670{margin-bottom:8px}._detailActions_1kmiw_674{display:flex;gap:8px;margin-top:16px}._detailIncludeBtn_1kmiw_680{flex:1;height:44px;background:#2e7d32;color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer}._detailRemoveBtn_1kmiw_692{flex:1;height:44px;background:#fff;color:#c62828;border:1px solid #c62828;border-radius:10px;font-size:.9rem;cursor:pointer}._compareModeScroll_1kmiw_704{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 12px 80px}.categories-panel{display:flex;flex-direction:column;height:100%;background:var(--color-bg);font-family:var(--font-family);color:var(--color-text)}.categories-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);z-index:10}.categories-search-wrap{flex:1;max-width:400px;position:relative}.categories-search-input{width:100%;height:2.2rem;padding:0 var(--space-3) 0 2.2rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);font-size:var(--font-sm);transition:all .15s}.categories-search-input:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px #635bff1a}.categories-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--color-text-faint);pointer-events:none}.categories-add-form{display:flex;gap:var(--space-2);align-items:center}.categories-add-input{height:2.2rem;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-sm);width:160px;transition:border-color .15s}.categories-add-input:focus{outline:none;border-color:var(--color-accent)}.categories-btn-primary{height:2.2rem;padding:0 var(--space-4);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:filter .15s}.categories-btn-primary:hover:not(:disabled){filter:brightness(1.1)}.categories-btn-primary:disabled{opacity:.5;cursor:not-allowed}.categories-content{flex:1;overflow-y:auto;padding:var(--space-4)}.categories-table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.categories-table{width:100%;border-collapse:collapse}.categories-table th{background:var(--color-bg);padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--font-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.category-row{border-bottom:1px solid var(--color-border);transition:background .1s}.category-row:last-child{border-bottom:none}.category-row:hover{background:#635bff05}.category-cell{padding:var(--space-4);vertical-align:top}.category-key-cell{font-family:monospace;font-weight:600;color:var(--color-text);font-size:var(--font-sm)}.category-label-display{font-weight:500;cursor:pointer;padding:var(--space-1) var(--space-2);margin-left:calc(-1 * var(--space-2));border-radius:var(--radius-sm);transition:background .15s}.category-label-display:hover{background:var(--color-bg);text-decoration:underline}.category-label-input{width:100%;padding:var(--space-2);border:1px solid var(--color-accent);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:inherit;font-weight:500}.alias-list{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.alias-chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:.2rem .6rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:500;color:var(--color-text-muted);transition:all .15s}.alias-chip:hover{border-color:var(--color-border-strong);color:var(--color-text)}.alias-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;background:transparent;border:none;color:var(--color-text-faint);font-size:14px;line-height:1;cursor:pointer;border-radius:50%;transition:all .15s}.alias-remove-btn:hover{background:var(--color-danger);color:#fff}.alias-add-wrap{display:flex;gap:var(--space-2)}.alias-add-input{flex:1;max-width:150px;height:1.8rem;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-xs)}.alias-add-input:focus{outline:none;border-color:var(--color-accent)}.alias-add-btn{height:1.8rem;padding:0 var(--space-3);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-xs);font-weight:600;cursor:pointer;transition:all .15s}.alias-add-btn:hover{background:var(--color-surface-up);border-color:var(--color-border-strong)}.category-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-faint);cursor:pointer;transition:all .15s}.category-delete-btn:hover{background:#fff5f5;border-color:#feb2b2;color:var(--color-danger)}.categories-empty{padding:var(--space-6);text-align:center;color:var(--color-text-faint);font-style:italic}.categories-loading-shimmer{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.shimmer-block{height:60px;background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-border) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.categories-mobile-topbar{position:sticky;top:0;z-index:10;background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.categories-mobile-search-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3)}.categories-mobile-search-row .categories-search-wrap{flex:1;max-width:none}.categories-mobile-add-btn{flex-shrink:0;height:var(--touch-target);padding:0 var(--space-3);background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .15s}.categories-mobile-add-btn:hover{filter:brightness(1.1)}.categories-mobile-add-btn--open{background:var(--color-text-muted)}.categories-mobile-add-form{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-3);border-top:1px solid var(--color-border);background:var(--color-bg);animation:categories-slide-down .15s ease}@keyframes categories-slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.categories-mobile-add-form .categories-add-input{width:100%;height:var(--touch-target);font-size:16px;box-sizing:border-box}.categories-mobile-add-form .categories-btn-primary{width:100%;height:var(--touch-target);font-size:var(--font-md)}.categories-mobile-list{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);overflow-y:auto}.categories-mobile-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.categories-mobile-card-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.categories-mobile-key{font-family:monospace;font-size:var(--font-sm);font-weight:700;color:var(--color-text);letter-spacing:.02em}.categories-mobile-card .category-delete-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.categories-mobile-card .category-label-display{font-size:var(--font-md);padding:var(--space-2) var(--space-2);margin:0;min-height:var(--touch-target);display:flex;align-items:center;border-radius:var(--radius-sm)}.categories-mobile-card .category-label-input{font-size:16px;min-height:var(--touch-target)}.categories-mobile-card .alias-add-input{flex:1;max-width:none;height:var(--touch-target);font-size:16px}.categories-mobile-card .alias-add-btn{height:var(--touch-target);padding:0 var(--space-3);font-size:var(--font-sm)}.categories-mobile-card .alias-chip{font-size:var(--font-sm);padding:.3rem .7rem}.categories-mobile-card .alias-remove-btn{width:18px;height:18px;font-size:16px}:root{--color-bg: #f6f8fb;--color-surface: #ffffff;--color-surface-up: #ffffff;--color-border: #e3e8ee;--color-border-strong: #c1c9d2;--color-text: #0a2540;--color-text-muted: #4f566b;--color-text-faint: #8792a2;--color-accent: #635bff;--color-green: #15a36e;--color-danger: #cd3d64;--color-warning-bg: #fff4d6;--color-warning-text: #8a5a00;--font-family: "Avenir Next", "Segoe UI", Arial, sans-serif;--font-xs: .68rem;--font-sm: .76rem;--font-base: .82rem;--font-md: .9rem;--font-lg: 1rem;--font-xl: 1.05rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 999px;--shadow-sm: 0 1px 3px rgba(31, 29, 26, .06);--shadow-md: 0 10px 28px rgba(23, 22, 19, .2);--shadow-lg: 0 22px 64px rgba(23, 22, 19, .32);--mobile-breakpoint: 768px;--touch-target: 44px;--mobile-gutter: 12px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}:root{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--panel: var(--color-surface);--line: var(--color-border);--line-strong: var(--color-border-strong);--muted: var(--color-text-muted);--faint: var(--color-text-faint);--accent: var(--color-accent);--danger: var(--color-danger)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:1120px}@media (max-width: 768px){body{min-width:0}}button,input,select,textarea{font:inherit}button{cursor:pointer}.admin-layout{flex:1;min-height:0;display:grid;grid-template-columns:9rem 13rem minmax(34rem,1fr) auto 25rem;overflow:hidden}.editor-panel{min-height:0;background:var(--panel)}.page-rail{display:grid;grid-template-rows:1fr;min-height:0;border-right:1px solid var(--line);background:var(--panel)}.page-rail-scroll{overflow-y:auto;display:flex;flex-direction:column;gap:.45rem;padding:.6rem .5rem}.page-rail-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:.2rem;width:100%;padding:.3rem .2rem;border:1px solid var(--line);border-radius:6px;background:#fffefa;color:inherit;cursor:pointer}.page-rail-item.selected{border-color:#e2361f;background:#fff0ee;box-shadow:0 0 0 2px #e2361f2e}.page-rail-item:hover:not(.selected){border-color:var(--line-strong);background:#f7f5f0}.page-rail-item-wrap{position:relative;width:100%}.page-rail-delete{position:absolute;top:4px;right:4px;width:20px;height:20px;padding:0;line-height:1;font-size:16px;border:none;border-radius:50%;background:#e2361fd9;color:#fff;cursor:pointer;opacity:0;transition:opacity .12s ease}.page-rail-item-wrap:hover .page-rail-delete,.page-rail-delete:focus-visible{opacity:1}.page-rail-delete:hover{background:#e2361f}.page-rail-thumb{display:block;width:100%;height:auto;border-radius:3px;border:1px solid var(--line);object-fit:cover;aspect-ratio:3 / 4;background:#e7e2dc}.page-rail-label{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.2rem}.page-rail-number{color:var(--muted);font-size:.72rem;font-weight:600}.page-rail-item.selected .page-rail-number{color:#e2361f}.page-rail-badge{display:grid;place-items:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:#f4d7d1;color:var(--danger);font-size:.65rem;font-weight:700}.row-list-page-label{padding:.35rem .5rem .15rem;color:var(--muted);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-top:1px solid var(--line);margin-top:.2rem}.row-list-page-label:first-child{border-top:none;margin-top:0}.row-list{display:flex;flex-direction:column;min-height:0;overflow-y:auto;border-right:1px solid var(--line);background:var(--panel);padding:.4rem .35rem;gap:.2rem}.row-list-item{display:grid;grid-template-rows:auto auto;grid-template-columns:1fr auto;align-items:start;gap:.1rem .3rem;width:100%;padding:.35rem .5rem;border:1px solid transparent;border-radius:5px;background:transparent;color:inherit;text-align:left}.row-list-item:hover{border-color:var(--line);background:#f7f5f0}.row-list-item.active{border-color:#e2361f;background:#fff0ee}.row-list-name{grid-column:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.3}.row-list-item.active .row-list-name{font-weight:600}.row-list-details{grid-column:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:.7rem}.row-list-badge{grid-column:2;grid-row:1;display:grid;place-items:center;min-width:1.2rem;height:1.2rem;border-radius:999px;background:#f4d7d1;color:var(--danger);font-size:.65rem;font-weight:700}.csv-breadcrumb{position:relative;margin-left:.25rem}.csv-breadcrumb-btn{background:transparent;border:none;padding:0;height:auto;font-size:.82rem;font-weight:700;color:#24211d;cursor:pointer;text-decoration:underline;text-underline-offset:2px;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.csv-breadcrumb-btn.open,.csv-breadcrumb-btn:hover{color:#000;background:transparent;border:none}.csv-picker{position:absolute;top:calc(100% + .35rem);left:0;z-index:20;display:grid;grid-template-rows:auto 1fr;width:22rem;max-height:70vh;border:1px solid var(--line-strong);border-radius:8px;background:#fffefa;box-shadow:0 .5rem 1.6rem #24211d2e;overflow:hidden}.csv-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--line)}.csv-picker-header span{color:var(--muted);font-size:.78rem}.csv-picker-scroll{overflow-y:auto;padding:.6rem .75rem}.csv-list>header{min-height:4rem;padding:.9rem 1rem;border-bottom:1px solid var(--line)}.csv-list>header,.editor-panel>header{min-height:4rem;padding:.9rem 1rem;border-bottom:1px solid var(--line)}.csv-list h1,.csv-list h2,.editor-panel h2{margin:0}.csv-list h1{font-size:1.05rem}.csv-list>header{display:grid;gap:.45rem}.csv-list>header>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.csv-list header span,.editor-panel header span,.queue-controls span{color:var(--muted);font-size:.78rem}.csv-header-actions{position:relative;display:flex;align-items:center;gap:.35rem}.csv-icon-button{display:grid;place-items:center;width:1.8rem;height:1.8rem;padding:0;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d;font-size:.95rem;font-weight:600}.csv-icon-button.active{border-color:#171613;background:#171613;color:#fffefa}.csv-filter-shell{position:relative}.csv-filter-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:8;display:grid;gap:.45rem;min-width:10rem;padding:.65rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;box-shadow:0 .35rem 1rem #24211d29}.csv-filter-popover label{display:flex;align-items:center;gap:.45rem;color:#24211d;font-size:.78rem;font-weight:600}.csv-filter-popover input{width:.95rem;height:.95rem;margin:0}.csv-scroll{min-height:0;overflow:auto;padding:.75rem}.csv-group{display:grid;gap:.35rem;padding-bottom:1rem}.csv-week-toggle{display:grid;grid-template-columns:1rem 1fr auto auto;align-items:center;gap:.25rem;width:100%;padding:.15rem .2rem;border:0;background:transparent;color:var(--muted);text-align:left}.csv-week-toggle:hover{color:#24211d}.csv-week-toggle:hover h2,.csv-week-toggle:focus-visible h2{color:#24211d}.csv-week-toggle:focus-visible{outline:2px solid rgba(29,79,53,.32);outline-offset:2px}.csv-week-toggle>span{display:grid;place-items:center;color:var(--faint);font-size:.8rem}.csv-week-toggle small{color:var(--faint);font-size:.68rem}.csv-group h2{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.csv-file{display:grid;grid-template-columns:1fr auto;gap:.12rem .5rem;width:100%;min-height:3.25rem;padding:.55rem .65rem;border:1px solid transparent;border-radius:6px;background:transparent;color:inherit;text-align:left}.csv-file:hover,.csv-file.active{border-color:var(--line-strong);background:#fffefa}.csv-file strong,.csv-file span{font-size:.84rem}.csv-file span{color:var(--muted);text-align:right}.csv-file small{grid-column:1 / -1;color:var(--faint);font-size:.72rem}.csv-expired-badge{font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:.1em .35em;line-height:1.4}.csv-group.expired .csv-week-toggle h2{opacity:.5}.csv-file.expired{opacity:.55}.csv-empty-badge{font-size:.62rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent, #2563eb);border:1px solid currentColor;border-radius:3px;padding:.1em .35em;line-height:1.4}.csv-file.expired:hover,.csv-file.expired.active{opacity:1}.workbench{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);background:#f3f1ed}.workbench-header{display:grid;grid-template-columns:auto auto auto minmax(6rem,1fr) auto;align-items:center;gap:.55rem;min-height:4rem;padding:.6rem .75rem;border-bottom:1px solid var(--line);background:var(--panel)}.wh-pagination{display:flex;align-items:center;gap:.2rem}.wh-page-btn{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d;font-size:1.3rem;font-weight:700;line-height:1}.wh-page-btn:disabled{opacity:.35;cursor:default}.wh-page-label{padding:0 .35rem;color:var(--muted);font-size:.8rem;font-weight:600;white-space:nowrap}.filter-chips{display:flex;gap:.3rem}.filter-chip{height:2rem;padding:0 .6rem;border:1px solid var(--line-strong);border-radius:999px;background:#fffefa;color:#24211d;font-size:.76rem;font-weight:600;white-space:nowrap}.filter-chip.active{border-color:#171613;background:#171613;color:#fffefa}.wh-search{min-width:0;height:2rem;padding:0 .65rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d}.save-status{font-size:.76rem;font-weight:600;white-space:nowrap}.save-ok{color:#1d4f35}.save-saving{color:var(--muted)}.save-error{color:var(--danger)}.editor-actions button{height:2rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d}.editor-actions .primary{border-color:#171613;background:#171613;color:#fffefa}.page-shell{position:relative;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto}.page-nav{position:sticky;top:50%;z-index:4;flex:0 0 3rem;width:3rem;height:5.5rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d;font-size:2.2rem;font-weight:700;line-height:1;box-shadow:0 .2rem .7rem #24211d24}.page-nav:disabled{opacity:.35;cursor:default}.page-frame{position:relative;max-width:100%;max-height:100%;border:1px solid var(--line-strong);border-radius:6px;background:#e7e2dc;outline:none}.page-frame:focus{box-shadow:0 0 0 3px #1d4f352e}.page-frame.adding{cursor:crosshair}.page-image-layer{position:relative;display:inline-block;max-width:100%;line-height:0}.page-frame img{display:block;max-width:100%;max-height:calc(100vh - 15rem);object-fit:contain}.page-box{position:absolute;padding:0;border:2px solid rgba(29,79,53,.72);background:#1d4f351f;box-shadow:0 0 0 1px #ffffffdb}.page-box.selected{z-index:2;border-color:#e2361f;background:#e2361f29;cursor:move;touch-action:none}.page-box.new{z-index:3;border-style:dashed;border-color:#171613;background:#17161324;pointer-events:none}.resize{position:absolute;width:.75rem;height:.75rem;border:2px solid #fffefa;border-radius:999px;background:#e2361f}.resize-n,.resize-s{left:50%;transform:translate(-50%);cursor:ns-resize}.resize-e,.resize-w{top:50%;transform:translateY(-50%);cursor:ew-resize}.resize-n{top:-.45rem}.resize-s{bottom:-.45rem}.resize-e{right:-.45rem}.resize-w{left:-.45rem}.resize-nw{top:-.45rem;left:-.45rem;cursor:nwse-resize}.resize-ne{top:-.45rem;right:-.45rem;cursor:nesw-resize}.resize-sw{bottom:-.45rem;left:-.45rem;cursor:nesw-resize}.resize-se{right:-.45rem;bottom:-.45rem;cursor:nwse-resize}.page-empty,.empty{align-self:center;justify-self:center;color:var(--faint);font-size:.9rem}.editor-panel{display:flex;flex-direction:column;gap:.75rem;min-height:0;padding-bottom:.9rem;border-left:1px solid var(--line);overflow:auto}.editor-panel>header{display:grid;grid-template-columns:1fr auto;align-items:start;gap:.75rem;padding-bottom:.75rem}.editor-panel h2{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem}.crop-preview-wrap{margin:0 1rem}.delete-offer-crop-wrap{margin:0}.crop-preview{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:6px;background-color:#fff;background-image:linear-gradient(45deg,#d8d3ca 25%,transparent 25%),linear-gradient(-45deg,#d8d3ca 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8d3ca 75%),linear-gradient(-45deg,transparent 75%,#d8d3ca 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.problem-list{display:flex;flex-wrap:wrap;gap:.35rem;padding:0 1rem}.problem-list span{padding:.18rem .45rem;border-radius:999px;background:#f4d7d1;color:var(--danger);font-size:.7rem;font-weight:600}.duplicate-warning{margin:0 1rem;padding:.55rem .7rem;border:1px solid #d8a23a;border-radius:6px;background:#fff5db;color:#6f4a00;font-size:.78rem;font-weight:600}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;padding:0 1rem}.field-grid label,.multipris-page-row label,.bbox-fields label,.note-field{display:grid;gap:.22rem;min-width:0}.field-grid .wide,.multipris-page-row,.bbox-fields{grid-column:1 / -1}.field-grid span,.multipris-page-row span,.bbox-fields span,.note-field span{color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.field-grid input,.multipris-page-row input,.bbox-fields input,.note-field textarea{width:100%;min-width:0;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:inherit}.field-grid input,.multipris-page-row input,.bbox-fields input{height:2rem;padding:0 .55rem;font-size:.82rem}.multipris-page-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.bbox-fields{display:grid;gap:.55rem}.bbox-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.note-field{padding:0 1rem}.note-field textarea{min-height:4.2rem;resize:vertical;padding:.5rem}.error-text{margin:0;padding:0 1rem;color:var(--danger);font-size:.82rem}.rescrape-section{display:flex;flex-direction:column;gap:.5rem;padding:1rem;margin:1rem 0;border-top:thin solid var(--color-border);border-bottom:thin solid var(--color-border)}.rescrape-controls{display:flex;align-items:center;gap:1rem}.rescrape-model-label{font-size:.75rem;color:var(--color-text-muted, #777);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-picker-container{position:relative;flex:1}.model-picker-btn{background:transparent;border:none;padding:0;height:auto;font-size:.75rem;font-weight:500;color:var(--muted);cursor:pointer;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.model-picker-btn.open,.model-picker-btn:hover{color:#24211d}.model-picker-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:20;display:flex;flex-direction:column;width:16rem;max-height:50vh;border:1px solid var(--line-strong);border-radius:8px;background:#fffefa;box-shadow:0 .5rem 1.6rem #24211d2e;overflow-y:auto;padding:.25rem 0}.model-picker-group{display:flex;flex-direction:column;border-left:3px solid var(--provider-color, var(--line));margin:.25rem 0}.model-picker-group-label{padding:.4rem .75rem .1rem;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--provider-color, var(--muted))}.model-picker-item{background:transparent;border:none;padding:.35rem .75rem;text-align:left;font-size:.75rem;color:#24211d;cursor:pointer;transition:background .1s}.model-picker-item:hover{background:#f7f5f0}.model-picker-item.selected{background:#fff0ee;color:#e2361f;font-weight:600}.editor-actions{display:flex;justify-content:flex-end;gap:1rem;padding:0 1rem;margin-top:.5rem}.editor-actions button,.rescrape-btn{background:transparent;border:none;padding:0;height:auto;min-width:0;font-size:.82rem;font-weight:600;color:var(--color-accent, #3b82f6);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.editor-actions button:hover,.rescrape-btn:hover{color:#1d4ed8}.editor-actions button:disabled,.rescrape-btn:disabled{color:var(--muted);text-decoration:none;cursor:default;opacity:.5}.editor-actions .primary,.rescrape-btn.primary{color:var(--color-accent, #3b82f6);background:transparent;border:none;padding:0}.editor-actions button[onClick*=Delete],.editor-actions button:first-child:not(.primary){color:var(--danger, #ef4444)}.editor-actions button[onClick*=Delete]:hover,.editor-actions button:first-child:not(.primary):hover{color:#dc2626}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:1.5rem;background:#24211d57}.delete-dialog{width:min(30rem,100%);display:grid;gap:.9rem;padding:1rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel);color:#24211d;box-shadow:0 .7rem 1.6rem #24211d33}.delete-dialog header{display:grid;gap:.2rem}.delete-dialog h2,.delete-dialog p{margin:0}.delete-dialog h2{font-size:1rem}.delete-dialog header p{color:var(--muted);font-size:.78rem}.delete-offer-line{display:grid;grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:5rem;padding:.45rem;border:1px solid var(--line);border-radius:6px;background:#fffefa}.delete-offer-crop{width:7rem;height:4.5rem;border:1px solid var(--line);border-radius:6px;background-color:#fff;background-image:linear-gradient(45deg,#d8d3ca 25%,transparent 25%),linear-gradient(-45deg,#d8d3ca 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#d8d3ca 75%),linear-gradient(-45deg,transparent 75%,#d8d3ca 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.delete-offer-copy{min-width:0;display:grid;gap:.2rem}.delete-offer-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.delete-offer-copy span{overflow:hidden;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.delete-offer-price{padding-left:.5rem;white-space:nowrap;font-size:1rem}.delete-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem}.delete-dialog-actions button{min-width:5.5rem;height:2.2rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d;font-weight:700}.delete-dialog-actions .danger{border-color:var(--danger);background:var(--danger);color:#fffefa}.keyboard-help{width:min(28rem,100%);display:grid;gap:.9rem;padding:1.25rem;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);color:#24211d;box-shadow:0 .7rem 1.6rem #24211d33}.keyboard-help h2{margin:0;font-size:1rem}.kbd-table{width:100%;border-collapse:collapse;font-size:.82rem}.kbd-table td{padding:.3rem 0}.kbd-table td:first-child{width:10rem;color:var(--muted);white-space:nowrap}kbd{display:inline-block;padding:.05rem .35rem;border:1px solid var(--line-strong);border-radius:4px;background:#f0ede8;font-family:inherit;font-size:.75rem}.kbd-help-actions{display:flex;justify-content:flex-end}.kbd-help-actions button{height:2rem;padding:0 1rem;border:1px solid var(--line-strong);border-radius:6px;background:#fffefa;color:#24211d;font-size:.82rem;font-weight:600}.db-shell{padding:var(--space-3) var(--space-4) var(--space-4);width:100%;box-sizing:border-box}.db-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);gap:var(--space-4)}.db-header-left{display:flex;align-items:center;gap:var(--space-3)}.db-title{font-size:1.2rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text);margin:0}.db-refresh{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-lg);padding:.2rem .5rem;line-height:1;transition:color .15s}.db-refresh:hover{color:var(--color-text)}.db-refresh:disabled{opacity:.5;cursor:default}.db-spin{display:inline-block;animation:db-spin .8s linear infinite}@keyframes db-spin{to{transform:rotate(360deg)}}.db-week-select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:var(--font-sm);padding:.35rem .6rem;cursor:pointer}.db-error{background:#fef0ee;border:1px solid #f3bfb8;border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-sm);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4)}.db-statusbar{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:var(--space-2);margin-bottom:var(--space-3)}.db-statusbar-item{display:inline-flex;align-items:center;min-height:1.8rem;border-radius:var(--radius-sm);background:var(--color-surface-up);color:var(--color-text-muted);font-size:var(--font-xs);font-weight:600;padding:.25rem .55rem;white-space:nowrap}.db-statusbar-item--strong{color:var(--color-text);font-size:var(--font-sm)}.db-statusbar-item--ok{background:#f3fbf3;color:var(--color-green)}.db-statusbar-item--warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.db-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--space-3);align-items:start}.db-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-3);margin-bottom:var(--space-3)}.db-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-2)}.db-section-title{font-size:var(--font-md);font-weight:600;color:var(--color-text);margin:0}.db-section-sub{color:var(--color-text-muted);font-size:var(--font-xs);white-space:nowrap}.db-empty{color:var(--color-text-muted);font-size:var(--font-sm);margin:var(--space-3) 0}.db-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:var(--space-2)}.db-store-card{display:flex;flex-direction:column;gap:.45rem;min-height:7.2rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;padding:.55rem .65rem;text-align:left;transition:border-color .12s,background .12s}.db-store-card:not(:disabled):hover{border-color:var(--color-border-strong);background:var(--color-surface-up)}.db-store-card:disabled{cursor:default}.db-store-card--warn{background:#fffbf4}.db-store-card--missing{background:#fef0ee}.db-store-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-width:0}.db-store-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-sm);font-weight:600;color:var(--color-text)}.db-store-badges{display:flex;gap:var(--space-1);flex-wrap:wrap;justify-content:flex-start;min-height:1rem}.db-store-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem .55rem;color:var(--color-text-muted);font-size:var(--font-xs);line-height:1.2}.db-store-card-metrics strong{color:var(--color-text);font-variant-numeric:tabular-nums}.db-store-card-providers{grid-column:1 / -1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-store-card-updates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;color:var(--color-text-muted);font-size:.68rem;line-height:1.2}.db-store-card-updates span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.db-status-pill{border-radius:var(--radius-pill);font-size:.62rem;font-weight:700;padding:.1rem .42rem;white-space:nowrap}.db-status-pill--ok{background:#dcefdc;color:#1b5e20}.db-status-pill--warn{background:#ffe0b2;color:#e65100}.db-status-pill--missing{background:#ffcdd2;color:#b71c1c}.db-badge{font-size:.62rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:var(--radius-pill);background:var(--color-border);color:var(--color-text-muted);white-space:nowrap}.db-badge--warn{background:#ffe0b2;color:#e65100}.db-aside-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-4)}.db-aside-header .db-section-title{margin-bottom:0}.db-trigger-btn{border:none;border-radius:var(--radius-md);background:var(--color-accent);color:#fff;cursor:pointer;font:inherit;font-size:var(--font-xs);font-weight:600;padding:.4rem .7rem;white-space:nowrap;transition:opacity .15s}.db-trigger-btn:hover{opacity:.88}.db-trigger-btn:disabled{opacity:.5;cursor:default}.db-trigger-msg{font-size:var(--font-xs);color:var(--color-text-muted);margin:0 0 var(--space-3) 0;padding:var(--space-2) var(--space-3);background:var(--color-warning-bg);border-radius:var(--radius-sm)}.db-trigger-msg--inline{margin-top:calc(-1 * var(--space-2))}.db-runs{display:flex;flex-direction:column;gap:1px}.db-run-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--space-2);padding:.35rem var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-xs)}.db-run-row--success{background:#f3fbf3}.db-run-row--failure{background:#fef0ee}.db-run-row--in_progress{background:var(--color-warning-bg)}.db-run-badge{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .4rem;border-radius:var(--radius-pill);white-space:nowrap}.db-run-badge--success{background:#c8e6c9;color:#1b5e20}.db-run-badge--failure{background:#ffcdd2;color:#b71c1c}.db-run-badge--running{background:#fff3e0;color:#e65100}.db-run-badge--neutral{background:var(--color-border);color:var(--color-text-muted)}.db-run-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text)}.db-run-time{color:var(--color-text-muted);white-space:nowrap}.db-run-link{color:var(--color-text-muted);text-decoration:none;font-weight:600;padding:.1rem .2rem}.db-run-link:hover{color:var(--color-accent)}@media (max-width: 980px){.db-body{grid-template-columns:1fr}}@media (max-width: 640px){.db-shell{padding:var(--space-2)}.db-header,.db-section-head{align-items:stretch;flex-direction:column}.db-store-grid{grid-template-columns:1fr}}.benchmark-panel{display:grid;grid-template-rows:auto 1fr;gap:10px;height:calc(100vh - 2.5rem);overflow:hidden;padding:12px;box-sizing:border-box;position:relative}.bm-top-bar{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;flex-shrink:0}.bm-top-spacer{flex:1}.bm-mode-toggle{display:inline-flex;background:var(--color-surface-up);border:1px solid var(--color-border);border-radius:6px;padding:2px;gap:2px}.bm-mode-toggle button{background:transparent;border:none;padding:5px 14px;font-size:12px;font-weight:600;color:var(--color-text-muted);border-radius:4px;cursor:pointer;transition:background .15s,color .15s}.bm-mode-toggle button.active{background:var(--color-surface);color:var(--color-text);box-shadow:0 1px 2px #0000000d}.bm-mode-toggle button:disabled{opacity:.4;cursor:not-allowed}.bm-runs-select{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:5px 10px;font-size:13px;min-width:280px}.bm-new-run-btn{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.bm-new-run-btn:hover{background:var(--color-bg)}.bm-status-badge{display:inline-flex;align-items:center;gap:8px;background:var(--color-surface-up);border:1px solid var(--color-border);border-radius:4px;padding:5px 10px;font-size:12px;color:var(--color-text);cursor:pointer}.bm-status-badge.running{border-color:var(--color-accent);color:var(--color-accent)}.bm-spinner{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:bm-spin .8s linear infinite}@keyframes bm-spin{to{transform:rotate(360deg)}}.bm-progress-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-border)}.bm-progress-bar-fill{height:100%;background:var(--color-accent);transition:width .3s ease}.bm-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.bm-section h3{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0}.bm-count{font-weight:400;text-transform:none;letter-spacing:0;color:var(--color-text-muted)}.bm-configure-view{display:grid;grid-template-columns:2fr 1fr;gap:10px;min-height:0;overflow:hidden}.bm-pages-header{display:flex;flex-direction:column;gap:8px}.bm-week-store-controls{display:flex;gap:6px}.bm-week-store-controls select{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:4px 8px;font-size:13px;flex:1}.bm-pages-actions{display:flex;gap:6px}.bm-pages-actions button{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:3px 10px;font-size:11px;cursor:pointer}.bm-pages-actions button:hover{background:var(--color-bg)}.bm-pages-actions button.danger{color:var(--color-danger)}.bm-store-summary{display:flex;gap:4px;flex-wrap:wrap}.bm-store-chip{font-size:11px;background:var(--color-surface-up);border:1px solid var(--color-border);border-radius:10px;padding:1px 7px;color:var(--color-text-muted)}.bm-store-chip b{color:var(--color-text);font-weight:600}.bm-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;overflow-y:auto;flex:1;min-height:0}.bm-pages-empty{color:var(--color-text-muted);font-size:12px;grid-column:1 / -1;padding:20px;text-align:center}.bm-page-thumb{position:relative;cursor:pointer}.bm-page-thumb input[type=checkbox]{position:absolute;top:5px;left:5px;z-index:2;accent-color:var(--color-accent)}.bm-page-thumb img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:4px;border:2px solid transparent;transition:border-color .15s}.bm-page-thumb.selected img{border-color:var(--color-accent)}.bm-page-label{font-size:10px;color:var(--color-text-muted);text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-models-section{display:flex;flex-direction:column}.bm-models-scroll{overflow-y:auto;flex:1;min-height:0}.bm-model-group{margin-bottom:6px;padding:4px 4px 4px 8px;border-left:3px solid var(--provider-color, var(--color-border));border-radius:0 4px 4px 0}.bm-model-group:nth-child(2n){background:#00000006}.bm-model-group-label{font-size:10px;font-weight:700;color:var(--provider-color, var(--color-text-muted));margin-bottom:3px;text-transform:capitalize;letter-spacing:.04em}.bm-model-grid{display:grid;grid-template-columns:1fr;gap:2px}.bm-model-item{display:flex;align-items:center;gap:6px;padding:2px 0;font-size:12px;cursor:pointer;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-model-item input[type=checkbox]{accent-color:var(--color-accent);flex-shrink:0}.bm-model-item--exists{opacity:.4;cursor:default}.bm-run-footer{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid var(--color-border)}.bm-selection-summary{font-size:12px;color:var(--color-text-muted)}.bm-run-btn{background:var(--color-accent);color:#fff;border:none;border-radius:6px;padding:8px 16px;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;transition:opacity .15s}.bm-run-btn:disabled{opacity:.4;cursor:not-allowed}.bm-secondary-btn{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;align-self:flex-start}.bm-secondary-btn:hover{background:var(--color-bg)}.bm-secondary-btn:disabled{opacity:.4;cursor:not-allowed}.bm-explore-view{display:grid;grid-template-columns:minmax(380px,1fr) 2fr;gap:10px;min-height:0;overflow:hidden}.bm-results-section,.bm-viewer-section{min-height:0}.bm-run-meta h3{font-size:15px;font-weight:700;color:var(--color-text);text-transform:none;letter-spacing:0;margin-bottom:2px}.bm-run-meta-sub{font-size:11px;color:var(--color-text-muted)}.bm-results-table-wrapper{flex:1;min-height:0;overflow-y:auto}.bm-results-table{width:100%;border-collapse:collapse;font-size:12px}.bm-results-table th{text-align:right;font-size:11px;color:var(--color-text-muted);padding:6px;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:1}.bm-results-table th:first-child{text-align:left}.bm-sort-th{cursor:pointer;-webkit-user-select:none;user-select:none}.bm-sort-th:hover{color:var(--color-text)}.bm-sort-th.active{color:var(--color-accent)}.bm-results-table td{text-align:right;padding:5px 6px;border-bottom:1px solid var(--color-border);color:var(--color-text)}.bm-results-table td:first-child{text-align:left}.bm-results-table tr:hover td{background:var(--color-bg)}.bm-results-table tr.active-row td{background:#1d4f3514}.bm-score-good{color:var(--color-green)}.bm-score-mid{color:#8a5a00}.bm-score-bad{color:var(--color-danger)}.bm-image-dir{display:flex;flex-direction:column;gap:4px;padding-top:10px;border-top:1px solid var(--color-border)}.bm-image-dir label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.bm-image-dir input{background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:5px 8px;font-size:12px}.bm-viewer-layout{display:flex;gap:10px;flex:1;min-height:0;overflow:hidden}.bm-viewer-page-rail{flex-shrink:0;width:84px;overflow-y:auto;overflow-x:hidden;min-height:0}.bm-viewer-page-rail .bm-page-strip{flex-direction:column;gap:6px;padding:0 2px 4px 0;overflow-x:visible}.bm-viewer-page-rail .bm-page-strip-item{width:100%}.bm-viewer-main{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;overflow:hidden}.bm-page-strip{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;flex-shrink:0}.bm-page-strip-item{flex-shrink:0;width:64px;background:transparent;border:2px solid transparent;border-radius:4px;padding:2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}.bm-page-strip-item img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px;display:block}.bm-page-strip-empty{width:100%;aspect-ratio:3/4;background:var(--color-surface-up);border:1px solid var(--color-border);border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--color-text-muted)}.bm-page-strip-label{font-size:10px;color:var(--color-text-muted)}.bm-page-strip-item.active{border-color:var(--color-accent)}.bm-page-strip-item.active .bm-page-strip-label{color:var(--color-accent);font-weight:600}.bm-viewer-controls{display:flex;flex-direction:column;gap:8px;flex-shrink:0}.bm-model-chips{display:flex;flex-wrap:wrap;gap:5px}.bm-chip{display:inline-flex;align-items:center;gap:5px;background:var(--color-surface-up);border:1px solid var(--color-border);border-radius:12px;padding:3px 10px;font-size:11px;color:var(--color-text-muted);cursor:pointer;transition:all .15s}.bm-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-color, var(--color-text-muted))}.bm-chip.active{background:var(--color-surface);border-color:var(--chip-color, var(--color-accent));color:var(--color-text)}.bm-chip:not(.active) .bm-chip-dot{opacity:.3}.bm-viewer-tabs{display:flex;gap:4px;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:6px}.bm-viewer-tab{background:transparent;border:none;padding:5px 12px;font-size:11px;font-weight:600;color:var(--color-text-muted);border-radius:4px;cursor:pointer}.bm-viewer-tab:hover{background:var(--color-surface-up);color:var(--color-text)}.bm-viewer-tab.active{background:var(--color-accent);color:#fff}.bm-data-model-select{margin-left:auto;background:var(--color-surface-up);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:3px 8px;font-size:11px}.bm-viewer-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.bm-image-wrapper{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border);min-height:0;overflow:hidden;position:relative;padding:6px}.bm-image-inner{position:relative;display:block;max-width:100%;max-height:100%;line-height:0}.bm-image-inner img{display:block;width:100%;height:100%;object-fit:contain}.bm-bbox-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.bm-bbox-canvas--standalone{position:relative;width:100%;height:auto}.bm-json-pre{flex:1;min-height:0;overflow:auto;font-family:monospace;font-size:11px;line-height:1.4;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;padding:8px;margin:0;white-space:pre}.bm-csv-table-wrapper{flex:1;min-height:0;overflow:auto;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg)}.bm-csv-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:11px}.bm-csv-table th{position:sticky;top:0;background:var(--color-surface-up);border-bottom:1px solid var(--color-border);padding:4px 8px;text-align:left;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.bm-csv-table td{padding:3px 8px;border-bottom:1px solid var(--color-border);color:var(--color-text);white-space:nowrap}.bm-csv-table tr:last-child td{border-bottom:none}.bm-csv-table tr:hover td{background:var(--color-surface)}.bm-empty{display:flex;align-items:center;justify-content:center;flex:1;min-height:80px;padding:12px;color:var(--color-text-muted);font-size:13px;background:var(--color-surface);border-radius:6px;border:1px dashed var(--color-border-strong, var(--color-border))}.bm-empty-large{min-height:300px;font-size:14px}.bm-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.bm-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:min(640px,100%);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0003}.bm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.bm-modal-header h3{margin:0;font-size:14px;color:var(--color-text);text-transform:none;letter-spacing:0}.bm-modal-close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;padding:4px 8px;border-radius:4px}.bm-modal-close:hover{background:var(--color-surface-up);color:var(--color-text)}.bm-modal-body{padding:12px 16px;overflow-y:auto;flex:1}.bm-modal-body--two-col .bm-model-grid{grid-template-columns:1fr 1fr;gap:2px 12px}.bm-modal-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.bm-modal-toolbar .bm-secondary-btn{padding:4px 10px;font-size:11px}.bm-modal-toolbar .bm-selection-summary{margin-left:auto}.bm-model-group-label--clickable{background:none;border:none;padding:2px 0;margin:0 0 3px;cursor:pointer;font-size:10px;font-weight:700;color:var(--provider-color, var(--color-text-muted));text-transform:capitalize;text-align:left;letter-spacing:.04em;display:block;width:100%;font-family:inherit;opacity:.85}.bm-model-group-label--clickable:hover,.bm-model-group-label--clickable.all-on{opacity:1}.bm-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--color-border)}.bm-log-drawer{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:90vw;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-4px 0 16px #0000001a;transform:translate(100%);transition:transform .2s ease;z-index:90;display:flex;flex-direction:column}.bm-log-drawer.open{transform:translate(0)}.bm-log-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--color-border)}.bm-log-drawer-header h3{margin:0;font-size:12px;color:var(--color-text)}.bm-log{flex:1;overflow-y:auto;font-family:monospace;font-size:11px;color:var(--color-text);background:var(--color-bg);padding:8px 12px;white-space:pre-wrap;word-break:break-all}.bm-log-line-stderr{color:#8a5a00}.bm-log-line-stdout{color:var(--color-text)}.functiontest-panel{display:flex;gap:var(--space-3);height:calc(100vh - 2.5rem);overflow:hidden;padding:var(--space-3);box-sizing:border-box}.ft-categories{flex:0 0 160px;display:flex;flex-direction:column;gap:var(--space-1);border-right:1px solid var(--color-border);padding-right:var(--space-2)}.ft-categories button{text-align:left;padding:var(--space-2) var(--space-3);border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text);font-size:var(--font-base);cursor:pointer}.ft-categories button:hover{background:var(--color-bg)}.ft-categories button.active{background:var(--color-surface);border-color:var(--color-border);font-weight:600}.ft-content{flex:1;min-width:0;overflow:auto}.navtest{display:flex;gap:var(--space-4);align-items:flex-start;height:100%}.navtest-methods{flex:0 0 230px;display:flex;flex-direction:column;gap:var(--space-2)}.navtest-methods h3,.navtest-order h3{margin:0 0 var(--space-1);font-size:var(--font-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.navtest-method{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer}.navtest-method.active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.navtest-method-label{font-size:var(--font-base);font-weight:600;color:var(--color-text)}.navtest-method-desc{font-size:var(--font-xs);color:var(--color-text-muted)}.navtest-count{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--font-sm);color:var(--color-text-muted)}.navtest-count select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-sm)}.navtest-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.navtest-actions button{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-sm);cursor:pointer}.navtest-actions .navtest-delete{border-color:var(--color-danger);color:var(--color-danger)}.navtest-hint{font-size:var(--font-xs);color:var(--color-text-muted);line-height:1.4;margin-top:var(--space-2)}.navtest-stage{flex:1;display:flex;justify-content:center;min-width:0}.navtest-canvas{position:relative;width:100%;max-width:440px;aspect-ratio:.72;background:repeating-linear-gradient(45deg,#f4f1ec,#f4f1ec 12px,#efeae3 12px,#efeae3 24px);cursor:crosshair;touch-action:none}.navtest-badge{position:absolute;top:-.6rem;left:-.6rem;min-width:1.2rem;height:1.2rem;padding:0 .25rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:#1d4f35;color:#fff;font-size:var(--font-xs);font-weight:700;line-height:1;pointer-events:none}.page-box.selected .navtest-badge{background:#e2361f}.navtest-order{flex:0 0 150px}.navtest-order ol{margin:0;padding-left:1.4rem;display:flex;flex-direction:column;gap:2px}.navtest-order li{font-size:var(--font-sm);cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm)}.navtest-order li:hover{background:var(--color-bg)}.navtest-order li.active{background:var(--color-surface);font-weight:600}.admin-auth{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100dvh;padding:2rem var(--mobile-gutter) calc(2rem + var(--safe-area-bottom)) var(--mobile-gutter);padding-top:calc(2rem + var(--safe-area-top));background:var(--color-bg);color:var(--color-text);font-family:var(--font-family)}.admin-auth__card{display:flex;flex-direction:column;gap:var(--space-4);width:100%;max-width:360px;margin-top:1.5rem;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.admin-auth__title{margin:0;font-size:var(--font-xl);font-weight:600;text-align:center}.admin-auth__form{display:flex;flex-direction:column;gap:var(--space-3)}.admin-auth__input{width:100%;min-height:var(--touch-target);padding:0 var(--space-3);font-size:16px;font-family:inherit;color:var(--color-text);background:var(--color-surface-up);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-sizing:border-box}.admin-auth__input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.admin-auth__input:disabled{opacity:.6;cursor:not-allowed}.admin-auth__button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--touch-target);padding:0 var(--space-4);font-size:var(--font-md);font-family:inherit;font-weight:500;color:#fff;background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;transition:background .12s ease}.admin-auth__button:hover:not(:disabled){background:#163a27}.admin-auth__button:disabled{opacity:.6;cursor:not-allowed}.admin-auth__button--secondary{color:var(--color-text);background:var(--color-surface-up);border:1px solid var(--color-border-strong)}.admin-auth__button--secondary:hover:not(:disabled){background:var(--color-surface)}.admin-auth__divider{margin:0;font-size:var(--font-sm);color:var(--color-text-muted);text-align:center}.admin-auth__error{margin:0;padding:var(--space-2) var(--space-3);font-size:var(--font-sm);color:var(--color-danger);background:#a8322414;border:1px solid rgba(168,50,36,.25);border-radius:var(--radius-sm);text-align:center}.admin-auth__message{margin:0;font-size:var(--font-md);text-align:center}@media (min-width: 481px){.admin-auth{padding-left:var(--space-5);padding-right:var(--space-5)}}.rescrape-log{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow-lg);z-index:900}.rescrape-log-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line)}.rescrape-log-head-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.rescrape-log-header h3{margin:0;font-size:var(--font-md);color:var(--color-text)}.rescrape-log-summary{margin:var(--space-2) 0 0;display:grid;grid-template-columns:5rem 1fr;gap:2px var(--space-2);font-size:var(--font-xs)}.rescrape-log-summary>div{display:contents}.rescrape-log-summary dt{color:var(--muted);font-weight:600}.rescrape-log-summary dd{margin:0;color:var(--color-text)}.rescrape-log-close{border:none;background:transparent;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--muted);padding:0 var(--space-1)}.rescrape-log-list{margin:0;padding:0;list-style:none;overflow-y:auto;flex:1}.rescrape-log-item{display:grid;grid-template-columns:88px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--line)}.rescrape-log-item.active{background:#f7f5f0}.rescrape-log-thumb{width:88px;height:64px;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg);flex-shrink:0}.rescrape-log-canvas-wrap,.rescrape-log-canvas{width:100%;height:100%;display:block}.rescrape-log-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;border:none;background:transparent;text-align:left;cursor:pointer;padding:0;font:inherit;color:inherit}.rescrape-log-name{font-size:var(--font-sm);font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rescrape-log-item.active .rescrape-log-name{font-weight:600}.rescrape-log-meta{font-size:var(--font-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rescrape-log-meta.error{color:var(--danger);white-space:normal}.rescrape-log-raw-toggle{font-size:var(--font-xs);color:var(--accent);text-decoration:underline;cursor:pointer}.rescrape-log-badge{align-self:center;font-size:var(--font-xs);font-weight:700;padding:.1rem .45rem;border-radius:var(--radius-pill)}.rescrape-log-badge.ok{background:#d7eede;color:var(--color-green)}.rescrape-log-badge.failed{background:#f4d7d1;color:var(--danger)}.rescrape-log-detail{position:fixed;z-index:901;width:260px;max-height:70vh;overflow:auto;border-collapse:collapse;font-size:var(--font-xs);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);pointer-events:none}.rescrape-log-detail-title{font-size:var(--font-sm);font-weight:600;color:var(--color-text)!important;background:var(--panel)!important;width:auto!important;white-space:normal!important}.rescrape-log-detail th,.rescrape-log-detail td{border:1px solid var(--line);padding:2px 6px;text-align:left;vertical-align:top}.rescrape-log-detail th{width:5.5rem;color:var(--muted);font-weight:600;background:var(--color-bg);white-space:nowrap}.rescrape-log-detail td{color:var(--color-text);word-break:break-word}.rescrape-log-detail-divider td{border:none;padding:0;height:0;border-top:2px solid var(--line)}.rescrape-log-raw{grid-column:1 / -1;margin:var(--space-2) 0 0;padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-md);font-size:var(--font-xs);max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word}.admin-shell{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.admin-tabs{position:sticky;top:0;z-index:20;display:flex;gap:.75rem;flex-wrap:nowrap;align-items:baseline;padding:.3rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;min-height:fit-content;flex-shrink:0}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs a{text-decoration:none;color:var(--color-text-muted);font:inherit;font-size:.8rem;font-weight:500;padding:.2rem 0;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0}.admin-tabs a:hover{color:var(--color-text)}.admin-tabs a.active{color:var(--color-text);border-bottom-color:var(--color-text)}.adjust-subtabs{display:flex;gap:.75rem;align-items:center;justify-content:space-between;padding:.35rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.adjust-subtabs-left{display:flex;gap:.75rem;align-items:center;flex:1;min-width:0}.adjust-subtabs-tabs{display:flex;gap:.75rem;align-items:center;flex-shrink:0}.adjust-subtabs-left .workbench-header{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0;min-height:0;padding:0 0 0 .9rem;margin-left:.15rem;border:none;border-left:1px solid var(--color-border);background:none}.adjust-subtabs-left .workbench-header .wh-search{flex:1;min-width:6rem;max-width:25dvw}.subtab-divider{align-self:stretch;width:1px;min-height:1.4rem;margin:0 .2rem;background:var(--color-border)}.adjust-subtabs-right{display:flex;gap:.5rem;align-items:center;flex-shrink:0;padding-left:.9rem;border-left:1px solid var(--color-border)}.adjust-subtabs-right .model-picker-container,.variant-picker-container{flex:0 0 auto}.variant-picker-container .model-picker-btn{width:9.5rem}.variant-picker-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.variant-picker-container .model-picker-popover{right:auto;left:0;width:max-content;min-width:8rem}.rescrape-all-btn{font:inherit;font-size:.76rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;border:1px solid #171613;background:#171613;color:#fffefa;cursor:pointer}.rescrape-all-btn:disabled{opacity:.45;cursor:not-allowed}.clear-page-btn{font:inherit;font-size:.76rem;font-weight:600;padding:.3rem .7rem;border-radius:999px;border:1px solid #b45309;background:#fff;color:#b45309;cursor:pointer;white-space:nowrap;align-self:center}.clear-page-btn:hover:not(:disabled){background:#b45309;color:#fffefa}.clear-page-btn:disabled{opacity:.45;cursor:not-allowed}.juster-toolbar{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.5rem .35rem;overflow:visible;background:var(--panel);border-left:1px solid var(--line)}.juster-tool-group{display:flex;flex-direction:column;align-items:center;gap:.3rem}.juster-tool-divider{width:1.4rem;height:1px;margin:.15rem 0;background:var(--color-border)}.juster-tool-btn{position:relative;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.juster-tool-btn:hover:not(:disabled){background:var(--color-text);color:var(--color-surface)}.juster-tool-btn:disabled{opacity:.35;cursor:not-allowed}.juster-tool-btn.danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c;color:#fff}.juster-tool-badge{position:absolute;top:-.35rem;right:-.35rem;min-width:1rem;height:1rem;padding:0 .2rem;border-radius:999px;background:#b45309;color:#fff;font-size:.62rem;font-weight:700;line-height:1rem;text-align:center}.juster-tool-tip{position:absolute;right:calc(100% + .5rem);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:.4rem;padding:.25rem .5rem;border-radius:6px;background:#171613;color:#fffefa;font-size:.72rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity 60ms ease;transition-delay:0ms;z-index:60}.juster-tool-btn:hover .juster-tool-tip{opacity:1;transition-delay:.1s}.juster-tool-tip-key{padding:.05rem .3rem;border-radius:4px;background:#ffffff2e;font-size:.66rem}.adjust-subtabs-model{display:flex;align-items:center;gap:.45rem;margin-left:auto;padding-left:.9rem;border-left:1px solid var(--color-border);flex-shrink:0}.adjust-subtabs-model-label{font-size:.72rem;font-weight:600;color:var(--color-text-muted);white-space:nowrap}.save-final-btn{background:#15803d;border-color:#15803d}.save-final-msg{font-size:.75rem;color:var(--color-text-muted)}.juster-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.juster-modal{background:var(--color-surface, #fff);border-radius:10px;padding:20px 24px;max-width:420px;box-shadow:0 10px 40px #00000040}.juster-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.row-list-row{display:flex;align-items:center;gap:.4rem}.row-list-row .row-list-item{flex:1;min-width:0}.row-list-mark{flex-shrink:0;cursor:pointer}.adjust-subtabs a{text-decoration:none;color:var(--color-text-muted);font:inherit;font-size:.78rem;font-weight:600;padding:.15rem 0;border-bottom:2px solid transparent;white-space:nowrap}.adjust-subtabs a:hover{color:var(--color-text)}.adjust-subtabs a.active{color:var(--color-text);border-bottom-color:var(--color-text)}.adjust-empty{padding:1.5rem .75rem;color:var(--color-text-muted)}.admin-tabs button,.pipeline-actions button,.pipeline-grid button{border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;padding:.45rem .7rem}.pipeline-actions button:first-child{background:var(--color-text);color:var(--color-surface)}.app-version{margin-left:auto;color:var(--color-text-muted);font-size:.75rem;opacity:.7;flex-shrink:0}.admin-layout-embedded{flex:1;min-height:0}.compare-final-panel{padding:1rem}.compare-legacy-shell{--primary: #d32f2f;--bg: #f8f9fa;--text: #2c3e50;--muted: #7f8c8d;color:var(--text)}.compare-legacy-shell .app-container{margin:0 auto}.compare-legacy-shell .card{overflow:hidden;margin-bottom:20px;border:1px solid #eee;border-radius:8px;background:#fff}.compare-legacy-shell table{width:100%;border-collapse:collapse;font-size:.85rem}.compare-legacy-shell th{position:relative;padding:10px 14px;border-bottom:1px solid #eee;background:#fafafa;color:var(--muted);cursor:pointer;font-size:9px;text-align:left;text-transform:uppercase;-webkit-user-select:none;user-select:none}.compare-legacy-shell th:hover{background:#f0f0f0;color:var(--text)}.compare-legacy-shell thead th{top:0;z-index:10}.compare-legacy-shell td{padding:12px 14px;border-bottom:1px solid #f5f5f5;vertical-align:top}.compare-legacy-shell .price{color:var(--primary);font-weight:700;white-space:nowrap}.compare-legacy-shell .old-price{color:#aab;font-size:.75rem;text-decoration:line-through}.compare-legacy-shell .multi{display:inline-block;border-radius:4px;background:#fff3e0;color:#e65100;font-size:.7rem;font-weight:600;padding:2px 6px}.compare-legacy-shell .annet{color:#667;font-size:.75rem;line-height:1.4}.compare-legacy-shell .source-loader{display:flex;align-items:center;gap:8px;margin:0 0 14px}.compare-legacy-shell .source-loader select,.compare-legacy-shell .source-loader input,.compare-legacy-shell .source-loader button{height:32px;border:1px solid #ddd;border-radius:6px;background:#fff;color:var(--text);font:inherit;font-size:.82rem}.compare-legacy-shell .source-loader select{min-width:150px;padding:0 8px}.compare-legacy-shell .source-loader input{width:70px;padding:0 8px}.compare-legacy-shell .source-loader button{cursor:pointer;font-weight:700;padding:0 12px}.compare-legacy-shell .source-loader span{color:var(--muted);font-size:.78rem}.compare-legacy-shell .drag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#2e7d32e6;color:#fff;opacity:0;pointer-events:none;transition:opacity .2s}.compare-legacy-shell .drag-overlay.active{opacity:1}.pipeline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;align-items:end}.pipeline-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.pipeline-grid input,.pipeline-grid select,.compare-table select{border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);padding:.45rem .5rem}.pipeline-box{margin:1rem 0 0;border:1px solid var(--color-border);border-radius:6px;padding:.75rem}.pipeline-box legend{padding:0 .25rem;font-weight:600}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.45rem .75rem}.check-grid label{display:flex;gap:.35rem;align-items:center}.step-label{align-items:flex-start!important}.step-label span{display:flex;flex-direction:column;gap:.1rem}.step-name{font-weight:500}.step-desc{font-size:.75rem;color:var(--text-muted, #888);font-weight:400}.inline-check{display:flex;align-items:center;gap:.35rem;margin-top:.75rem}.text-action{border:0;background:transparent;color:var(--color-accent);cursor:pointer;margin-bottom:.5rem;padding:0}.pipeline-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.job-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:9999}.job-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;width:80vw;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 20px 60px #0003}.job-modal-header{display:flex;align-items:center;justify-content:space-between}.job-modal-header-left{display:flex;align-items:center;gap:1.5rem}.job-modal-title{margin:0;font-size:1rem;font-weight:600;letter-spacing:-.01em}.job-modal-x{background:none;border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--color-text-muted, #6b7280);padding:.2rem .5rem;line-height:1.4;transition:background .15s}.job-modal-x:hover{background:var(--color-surface-up)}.job-modal-meta{display:flex;flex-wrap:wrap;width:100%;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg)}.job-modal-meta-item{flex:1 0 auto;display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-right:1px solid var(--color-border);min-width:fit-content}.job-modal-meta-item:last-child{border-right:none}.job-modal-meta-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #9ca3af);font-weight:600}.job-modal-meta-value{font-size:.88rem;font-weight:600;color:var(--color-text);line-height:1.4}.job-modal-meta-grid{display:grid;gap:.2rem 1rem;margin-top:.1rem}.job-modal-meta-list{display:flex;flex-direction:column;gap:.25rem;margin-top:.1rem}.job-modal-tag{font-size:.78rem;font-weight:500;color:var(--color-text)}.job-modal-tag--accent{color:var(--color-accent);font-weight:600}.job-modal-providers{display:flex;flex-direction:column;gap:.4rem;margin-top:.1rem}.job-modal-provider-tag{display:flex;flex-direction:column;gap:.05rem}.job-modal-provider-tag strong{font-size:.78rem;font-weight:700;color:var(--color-text)}.job-modal-provider-model{color:var(--color-text-muted);font-size:.68rem}.job-modal-warning,.job-modal-info{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;font-weight:600;padding:.1rem 0;line-height:1.3}.job-modal-warning{color:#b45309}.job-modal-info{color:#15803d}.job-modal-warning:before{content:"⚠️";margin-top:.1rem}.job-modal-info:before{content:"ℹ️";margin-top:.1rem}.pipeline-card--hosted .pipeline-hosted-logs-list{flex:1;overflow-y:auto;min-height:0}.job-modal .pipeline-hosted-logs-list{max-height:200px;overflow-y:auto}.job-modal .pipeline-hosted-run{padding:.6rem .85rem}.job-progress{display:flex;align-items:stretch;position:relative}.job-progress:before{content:"";position:absolute;top:1.1rem;left:1.1rem;right:1.1rem;height:2px;background:var(--color-border);z-index:0}.job-progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;position:relative;z-index:1}.job-progress-node{width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;transition:all .2s}.job-progress-step--pending .job-progress-node{color:var(--color-text-muted, #9ca3af)}.job-progress-step--running .job-progress-node{border-color:#3b82f6;background:#dbeafe;color:#1d4ed8;box-shadow:0 0 0 4px #bfdbfe;animation:job-ring-pulse 1.4s ease-in-out infinite}.job-progress-step--ok .job-progress-node{border-color:#22c55e;background:#22c55e;color:#fff}.job-progress-step--error .job-progress-node{border-color:#ef4444;background:#ef4444;color:#fff}@keyframes job-ring-pulse{0%,to{box-shadow:0 0 0 4px #bfdbfe}50%{box-shadow:0 0 0 8px #dbeafe}}.job-progress-step-label{font-size:.75rem;font-weight:600;text-align:center;color:var(--color-text-muted, #6b7280);letter-spacing:.01em}.job-progress-step--running .job-progress-step-label{color:#1d4ed8}.job-progress-step--ok .job-progress-step-label{color:#15803d}.job-progress-step--error .job-progress-step-label{color:#dc2626}.job-progress-subs{display:flex;flex-direction:column;gap:.25rem;align-items:center}.job-progress-sub{font-size:.68rem;padding:.1rem .4rem;border-radius:9999px;border:1px solid var(--color-border);background:var(--color-surface-up);font-weight:500}.job-progress-sub--running{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.job-progress-sub--ok{border-color:#86efac;background:#dcfce7;color:#15803d}.job-progress-sub--error{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.job-progress-sub--pending{color:var(--color-text-muted, #9ca3af)}.job-toggle-btn{margin-left:auto}.store-check-label{display:flex;align-items:center;gap:.4rem}.store-flyer-badge{font-size:.75rem;padding:.05rem .35rem;border-radius:3px;font-weight:600}.store-flyer-badge--new{background:#fef3c7;color:#b45309}.store-flyer-badge--ok{background:#dcfce7;color:#15803d}.store-flyer-badge--warn{background:#fed7aa;color:#9a3412}.pipeline-result{margin-top:1rem}.pipeline-result pre{overflow:auto;max-height:18rem;border:1px solid var(--color-border);border-radius:6px;padding:.75rem;background:var(--color-surface-up)}.provider-list{display:flex;flex-direction:column;gap:.35rem}.provider-row{display:flex;align-items:center;gap:.75rem}.provider-check{display:flex;align-items:center;gap:.35rem;min-width:9rem}.provider-model-select{font-size:.8rem;padding:.15rem .35rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);flex:1;max-width:22rem}.pipeline-tabs{display:flex;gap:.25rem;margin-top:1rem;flex-wrap:wrap}.pipeline-tab{padding:.25rem .75rem;border:1px solid var(--color-border);border-radius:4px 4px 0 0;background:var(--color-surface);cursor:pointer;font-size:.8rem;color:var(--color-text-muted, #888)}.pipeline-tab--active{background:#1a1a1a;color:#d4d4d4;border-bottom-color:#1a1a1a}.pipeline-tab--ok{color:#4caf50}.pipeline-tab--error{color:#f44336}.pipeline-tab--running{color:#7ec8e3}.pipeline-log{margin-top:0;height:350px;overflow-y:auto;font-family:monospace;font-size:.8rem;background:#1a1a1a;color:#d4d4d4;border-radius:6px;padding:.75rem}.pipeline-log-line{white-space:pre-wrap;word-break:break-all;line-height:1.5}.pipeline-log-cmd{color:#7ec8e3;font-weight:700;margin-top:.5rem}.pipeline-log-stderr{color:#f4a460}.pipeline-status{margin-top:.75rem;font-weight:500}.compare-table-wrap{overflow:auto;margin-top:1rem;border:1px solid var(--color-border);border-radius:6px}.compare-table{width:100%;border-collapse:collapse;min-width:56rem}.compare-table th,.compare-table td{vertical-align:top;border-bottom:1px solid var(--color-border);padding:.55rem;text-align:left}.compare-table td span,.compare-table td strong{display:block}.missing-cell{color:var(--color-text-muted)}.status-pill{display:inline-block;border-radius:999px;padding:.15rem .45rem;background:var(--color-surface-up)}.status-exact{color:#116329}.status-similar{color:#7a5200}.status-mismatch{color:#9f1239}.status-missing{color:var(--color-text-muted)}.pipeline-panel{padding:0;display:flex;flex-direction:column;height:92%}.pipeline-topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap}.pipeline-topbar-left{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.pipeline-topbar-title{font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--color-text);white-space:nowrap}.pipeline-topbar-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.pipeline-ctrl-label{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--color-text-muted, #6b7280);font-weight:500}.pipeline-ctrl-input{height:1.8rem;padding:0 .4rem;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text);font:inherit;font-size:.82rem;width:3.6rem}select.pipeline-ctrl-input{width:auto;padding-right:.25rem}.pipeline-ctrl-force{display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--color-text-muted, #6b7280);font-weight:500;cursor:pointer}.pipeline-topbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.pipeline-btn{display:inline-flex;align-items:center;gap:.35rem;height:2rem;padding:0 .9rem;border-radius:7px;border:1px solid transparent;font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.pipeline-btn:disabled{opacity:.45;cursor:default}.pipeline-btn--primary{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.pipeline-btn--primary:not(:disabled):hover{background:#111}.pipeline-btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.pipeline-btn--secondary:not(:disabled):hover{background:var(--color-surface-up)}.pipeline-btn--ghost{background:transparent;color:var(--color-text-muted, #6b7280);border-color:var(--color-border)}.pipeline-btn--ghost:not(:disabled):hover{background:var(--color-surface-up);color:var(--color-text)}.pipeline-btn--full{width:100%;justify-content:center;height:2.5rem;font-size:.95rem}.pipeline-body{display:grid;grid-template-columns:1fr 340px;gap:1rem;padding:1rem 1.25rem;align-items:start;flex:1}@media (max-width: 860px){.pipeline-body{grid-template-columns:1fr}}.pipeline-card{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);overflow:hidden}.pipeline-card-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.pipeline-card-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted, #6b7280)}.pipeline-card-count{font-size:.75rem;color:var(--color-text-muted, #9ca3af);margin-left:auto}.pipeline-card-action{font-size:.72rem;font-weight:600;padding:.15rem .5rem;border:1px solid var(--color-border);border-radius:5px;background:var(--color-surface);color:var(--color-text);cursor:pointer}.pipeline-card-action:hover{background:var(--color-surface-up)}.pipeline-store-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.pipeline-store-item{display:flex;align-items:center;gap:.4rem;padding:.42rem .75rem;cursor:pointer;font-size:.82rem;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);transition:background .1s}.pipeline-store-item:nth-child(3n){border-right:none}.pipeline-store-item:hover,.pipeline-store-item--checked{background:var(--color-surface-up)}.pipeline-store-item--checked .pipeline-store-name{font-weight:600;color:var(--color-text)}.pipeline-store-item input[type=checkbox]{flex-shrink:0}.pipeline-store-name{flex:1;color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-right{display:flex;flex-direction:column;gap:.75rem}.pipeline-provider-list{display:flex;flex-direction:column}.pipeline-provider-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-bottom:1px solid var(--color-border);font-size:.82rem;transition:background .1s}.pipeline-provider-row:last-child{border-bottom:none}.pipeline-provider-row--checked{background:var(--color-surface-up)}.pipeline-provider-label{display:flex;align-items:center;gap:.35rem;cursor:pointer;min-width:7rem;font-weight:500}.pipeline-model-select{flex:1;font-size:.75rem;padding:.15rem .3rem;height:1.7rem;border:1px solid var(--color-border);border-radius:5px;background:var(--color-bg);color:var(--color-text);min-width:0;overflow:hidden;text-overflow:ellipsis}.pipeline-step-list{display:flex;flex-direction:column}.pipeline-step-item{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.4rem;row-gap:.05rem;padding:.55rem .85rem;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .1s;font-size:.82rem}.pipeline-step-item:last-child{border-bottom:none}.pipeline-step-item:hover,.pipeline-step-item--checked{background:var(--color-surface-up)}.pipeline-step-item input[type=checkbox]{grid-row:1 / 3;align-self:center}.pipeline-step-name{font-weight:600;color:var(--color-text)}.pipeline-step-desc{font-size:.72rem;color:var(--color-text-muted, #9ca3af);line-height:1.35}.pipeline-dashboard{display:flex;flex-direction:column;gap:.9rem;padding:1rem 1.25rem 1.25rem;flex:1;min-width:0}.pipeline-kpi-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}@media (max-width: 1100px){.pipeline-kpi-row{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.pipeline-kpi-row{grid-template-columns:1fr}}.pipeline-kpi-card{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);position:relative;overflow:hidden;min-height:96px}.pipeline-kpi-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--color-accent);opacity:.65}.pipeline-kpi-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.pipeline-kpi-value{font-size:1.6rem;font-weight:700;color:var(--color-text);line-height:1.1;letter-spacing:-.01em;display:flex;align-items:baseline;gap:.25rem}.pipeline-kpi-suffix{font-size:.95rem;color:var(--color-text-muted);font-weight:500}.pipeline-kpi-meta{font-size:.72rem;color:var(--color-text-muted);margin-top:auto}.pipeline-kpi-spark{margin-top:.25rem}.pipeline-kpi-spark .sparkline{display:block;width:100%;height:28px}.pipeline-config-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;align-items:stretch}.pipeline-config-row>.pipeline-card{display:flex;flex-direction:column;min-width:0}@media (max-width: 720px){.pipeline-config-row{grid-template-columns:1fr}.pipeline-config-row>.pipeline-card--stores{grid-column:auto}}.pipeline-config-row .pipeline-store-grid{grid-template-columns:repeat(2,1fr)}.pipeline-config-row .pipeline-store-item:nth-child(3n){border-right:1px solid var(--color-border)}.pipeline-config-row .pipeline-store-item:nth-child(2n){border-right:none}@media (min-width: 1101px){.pipeline-config-row .pipeline-store-grid{grid-template-columns:1fr}.pipeline-config-row .pipeline-store-item{border-right:none}}.pipeline-config-row .pipeline-provider-list,.pipeline-config-row .pipeline-step-list{flex:1}.pipeline-provider-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.pipeline-chart-frame{border-top:1px solid var(--color-border);padding:.6rem .85rem .7rem;background:var(--color-bg);display:flex;flex-direction:column;gap:.35rem;margin-top:auto}.pipeline-chart-title{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);display:flex;align-items:baseline;gap:.4rem}.pipeline-chart-title--sub{margin-top:.4rem}.pipeline-chart-sub{font-size:.62rem;font-weight:500;letter-spacing:.04em;color:var(--color-text-faint);text-transform:none}.pipeline-chart-empty{font-size:.74rem;color:var(--color-text-faint);padding:.6rem 0;text-align:center}.pipeline-flow{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .4rem;padding:.3rem 0}.pipeline-flow-item{display:inline-flex;align-items:center;gap:.3rem;font-size:.74rem;color:var(--color-text)}.pipeline-flow-dot{width:7px;height:7px;border-radius:50%;background:var(--color-accent)}.pipeline-flow-label{font-weight:600;white-space:nowrap}.pipeline-flow-arrow{color:var(--color-text-faint);font-weight:700;margin:0 .15rem}.pipeline-history-row{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.pipeline-card--history,.pipeline-card--hosted{padding:0;overflow:hidden;display:flex;flex-direction:column;max-height:250px}@media (min-width: 1200px){.pipeline-history-row{display:grid;grid-template-columns:1.4fr 1fr;align-items:stretch}}.pipeline-card--history>.stacked-bar{padding:.85rem 1rem 1rem}.sparkline{display:block}.sparkline--empty{opacity:.3}.mini-bars{display:flex;align-items:flex-end;gap:.3rem;width:100%}.mini-bars--empty{font-size:.74rem;color:var(--color-text-faint);padding:.5rem 0;text-align:center}.mini-bars-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0}.mini-bars-track{width:100%;height:var(--mini-bars-height, 60px);background:#0000000a;border-radius:3px;display:flex;align-items:flex-end;overflow:hidden}.mini-bars-fill{width:100%;background:var(--color-accent);border-radius:3px 3px 0 0;min-height:2px;transition:height .25s ease}.mini-bars-value{font-size:.66rem;font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.mini-bars-label{font-size:.62rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.stacked-bar{display:flex;flex-direction:column;gap:.5rem}.stacked-bar--empty{padding:1.5rem 1rem;text-align:center;color:var(--color-text-muted);font-size:.82rem}.stacked-bar-grid{display:flex;align-items:flex-end;gap:.35rem;height:var(--stacked-bar-height, 140px);padding:.25rem 0;border-bottom:1px solid var(--color-border)}.stacked-bar-col{flex:1;min-width:18px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;background:transparent;border:none;cursor:pointer;padding:0;height:100%}.stacked-bar-track{width:100%;flex:1;display:flex;align-items:flex-end}.stacked-bar-stack{width:100%;display:flex;flex-direction:column-reverse;border-radius:3px 3px 0 0;overflow:hidden;min-height:2px;transition:height .25s ease;box-shadow:0 1px #0000000a inset}.stacked-bar-seg{width:100%;min-height:1px}.stacked-bar-col--error .stacked-bar-stack{outline:1.5px solid var(--color-danger);outline-offset:-1px}.stacked-bar-col:hover .stacked-bar-stack{filter:brightness(1.1)}.stacked-bar-x{font-size:.62rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-variant-numeric:tabular-nums}.stacked-bar-legend{display:flex;flex-wrap:wrap;gap:.5rem .85rem;font-size:.7rem;color:var(--color-text-muted)}.stacked-bar-legend-item{display:inline-flex;align-items:center;gap:.3rem}.stacked-bar-swatch{width:9px;height:9px;border-radius:2px;display:inline-block}.pipeline-hosted-logs{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);overflow:hidden}.job-modal .pipeline-hosted-logs{margin-top:1rem}.pipeline-hosted-logs--mini{margin-top:1.5rem}.pipeline-hosted-logs-header{display:flex;align-items:baseline;justify-content:space-between;padding:.6rem .85rem;border-bottom:1px solid var(--color-border);background:var(--color-bg)}.pipeline-hosted-logs-title{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.pipeline-hosted-logs-sub{font-size:.7rem;color:var(--color-text-faint)}.pipeline-hosted-logs-empty{padding:1.25rem 1rem;text-align:center;font-size:.8rem;color:var(--color-text-muted)}.pipeline-hosted-logs-list{list-style:none;margin:0;padding:0}.pipeline-hosted-run{display:grid;grid-template-columns:1.4rem 1fr auto;align-items:center;gap:.75rem;padding:.7rem .85rem;border-bottom:1px solid var(--color-border);font-size:.8rem;cursor:pointer;transition:background .1s}.pipeline-hosted-run:hover{background:var(--color-surface-hover, rgba(0, 0, 0, .03))}.pipeline-hosted-run:last-child{border-bottom:none}.pipeline-hosted-run-status{font-size:1rem;font-weight:700;text-align:center;color:var(--color-text-muted)}.pipeline-hosted-run--success .pipeline-hosted-run-status{color:var(--color-green)}.pipeline-hosted-run--failure .pipeline-hosted-run-status,.pipeline-hosted-run--cancelled .pipeline-hosted-run-status{color:var(--color-danger)}.pipeline-hosted-run--in_progress .pipeline-hosted-run-status,.pipeline-hosted-run--queued .pipeline-hosted-run-status{color:var(--color-accent);animation:pipeline-pulse 1.4s ease-in-out infinite}.job-modal-run-info{display:flex;flex-direction:row;align-items:baseline;gap:.6rem;min-width:0}.pipeline-run-inputs{display:flex;flex-wrap:wrap;gap:.3rem}.pipeline-run-input-tag{font-size:.65rem;padding:.05rem .35rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);white-space:nowrap}.pipeline-run-input-tag--steps{color:var(--color-accent);background:var(--color-surface-up);border-color:#bfdbfe}.pipeline-hosted-run-name{font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-hosted-run-details{display:flex;align-items:center;gap:.4rem;font-size:.7rem;color:var(--color-text-faint)}.pipeline-hosted-run-actions{display:flex;flex-direction:row;align-items:center;gap:1.2rem}.pipeline-hosted-run-meta{font-size:.7rem;font-weight:500;color:var(--color-text-muted);text-transform:capitalize}.pipeline-hosted-run-link{font-size:.74rem;font-weight:600;color:var(--color-accent);text-decoration:none;white-space:nowrap}.pipeline-hosted-run-link:hover{text-decoration:underline}.pipeline-hosted-logs-footer{display:block;padding:.55rem .85rem;border-top:1px solid var(--color-border);background:var(--color-bg);font-size:.74rem;font-weight:600;color:var(--color-accent);text-decoration:none;text-align:center}.pipeline-hosted-logs-footer:hover{background:var(--color-surface-up)}@keyframes pipeline-pulse{0%,to{opacity:1}50%{opacity:.4}}.pipeline-panel{gap:.75rem}.pipeline-topbar{align-items:flex-start;gap:.75rem;padding:.75rem 1rem}.pipeline-topbar-left{min-width:0}.pipeline-run-brief,.pipeline-status-strip,.pipeline-active-meta,.pipeline-active-steps,.pipeline-active-providers{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.pipeline-run-brief{margin-top:.35rem}.pipeline-run-brief span,.pipeline-status-strip span{border-radius:999px;background:var(--color-surface-up);color:var(--color-text-muted);font-size:.72rem;font-weight:600;padding:.18rem .5rem;white-space:nowrap}.pipeline-topbar-controls{margin-top:.45rem;gap:.45rem}.pipeline-topbar-actions{justify-content:flex-end}.pipeline-active-strip{display:grid;grid-template-columns:minmax(16rem,1.2fr) minmax(14rem,1fr) minmax(12rem,.9fr);gap:.5rem;align-items:center;margin:0 1rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:.55rem .7rem}.pipeline-active-meta{color:var(--color-text-muted);font-size:.76rem}.pipeline-active-meta strong{color:var(--color-text)}.pipeline-active-chip{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-up);color:var(--color-text-muted);font-size:.68rem;font-weight:700;padding:.16rem .46rem;white-space:nowrap}.pipeline-active-chip--ok,.pipeline-active-chip--success{border-color:#86efac;background:#dcfce7;color:#15803d}.pipeline-active-chip--running,.pipeline-active-chip--dispatched,.pipeline-active-chip--in_progress{border-color:#93c5fd;background:#dbeafe;color:#1d4ed8}.pipeline-active-chip--error,.pipeline-active-chip--failure{border-color:#fca5a5;background:#fef2f2;color:#dc2626}.pipeline-active-error{grid-column:1 / -1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-danger);font-family:monospace;font-size:.72rem}.pipeline-dashboard{gap:.75rem;padding:0 1rem 1rem}.pipeline-status-strip{border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);padding:.45rem .6rem}.pipeline-status-strip strong{color:var(--color-text)}.pipeline-config-row{grid-template-columns:1.15fr 1fr 1fr;gap:.6rem}.pipeline-card{border-radius:8px}.pipeline-card-header{padding:.45rem .65rem}.pipeline-store-item,.pipeline-provider-row,.pipeline-step-item{padding:.34rem .6rem;font-size:.76rem}.pipeline-step-desc,.pipeline-config-row .pipeline-chart-frame{display:none}.pipeline-model-select{height:1.45rem;font-size:.7rem}.pipeline-hosted-logs--mini{margin:0 1rem 1rem}.pipeline-config-row{align-items:start;grid-template-columns:minmax(25rem,1.25fr) minmax(20rem,1fr) minmax(17rem,.75fr)}.pipeline-config-row>.pipeline-card{align-self:start}.pipeline-config-row .pipeline-store-grid,.pipeline-config-row .pipeline-provider-list,.pipeline-config-row .pipeline-step-list{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:.4rem;padding:.55rem .65rem}.pipeline-config-row .pipeline-store-item,.pipeline-config-row .pipeline-provider-row,.pipeline-config-row .pipeline-step-item{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);min-height:1.9rem;padding:.25rem .55rem}.pipeline-config-row .pipeline-store-item:nth-child(2n),.pipeline-config-row .pipeline-store-item:nth-child(3n),.pipeline-config-row .pipeline-store-item:last-child,.pipeline-config-row .pipeline-provider-row:last-child,.pipeline-config-row .pipeline-step-item:last-child{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.pipeline-config-row .pipeline-store-item--checked,.pipeline-config-row .pipeline-provider-row--checked,.pipeline-config-row .pipeline-step-item--checked{border-color:var(--color-border-strong);background:var(--color-surface-up)}.pipeline-config-row .pipeline-store-name{flex:0 1 auto}.pipeline-config-row .pipeline-provider-row{max-width:100%}.pipeline-config-row .pipeline-provider-label{min-width:0}.pipeline-config-row .pipeline-model-select{width:13rem;max-width:42vw;flex:0 1 13rem}.pipeline-config-row .pipeline-step-item{display:inline-flex;align-items:center;width:auto}.pipeline-status-strip{display:flex;flex-wrap:wrap;gap:.45rem}@media (max-width: 1100px){.pipeline-config-row{grid-template-columns:1fr 1fr}.pipeline-config-row>.pipeline-card--stores{grid-column:1 / -1}}@media (max-width: 720px){.pipeline-config-row{grid-template-columns:1fr}.pipeline-config-row .pipeline-model-select{max-width:100%}}.pipeline-tabs{margin-top:.5rem}.pipeline-log{max-height:11rem;height:auto;padding:.55rem;font-size:.74rem}@media (max-width: 1100px){.pipeline-active-strip{grid-template-columns:1fr}}.job-progress-live-stats{font-size:.82em;opacity:.75;margin-left:.35rem;font-weight:500;color:var(--color-text-muted)}.pipeline-hosted-run--active{background:#eff6ff!important;border-left:3px solid var(--color-accent);padding-left:calc(.85rem - 3px)!important}.job-progress-loading{display:flex;align-items:center;gap:.6rem;padding:1rem;background:#00000005;border-radius:8px;margin-bottom:1rem;font-size:.85rem;color:var(--color-text-muted);font-weight:500}.job-progress-loading-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;animation:pipeline-pulse 1.4s ease-in-out infinite}.job-upload-stats{display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.75rem 1rem;background:#00000005;border-radius:8px;border-left:3px solid #86efac}.job-upload-section{display:flex;flex-direction:column;gap:.25rem}.job-upload-section+.job-upload-section{border-top:1px solid var(--color-border, #e5e7eb);padding-top:.5rem}.job-upload-section-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.job-upload-rows{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.job-upload-row{font-size:.83rem;color:var(--color-text, #111)}.flyer-update-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.flyer-update-modal{background:var(--color-surface, #fff);border-radius:12px;max-width:900px;width:95vw;max-height:90vh;box-shadow:0 10px 40px #0000004d;display:flex;flex-direction:column;overflow:hidden}.flyer-update-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;flex-shrink:0}.flyer-update-header h3{margin:0;font-size:1.1rem}.flyer-update-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-muted);padding:4px 8px}.flyer-update-body{flex:1;overflow-y:auto;padding:0 24px}.flyer-update-loading{text-align:center;padding:40px 0;color:var(--color-text-muted)}.flyer-update-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.flyer-update-col h4{margin:0 0 10px;font-size:.9rem;color:var(--color-text-muted)}.flyer-update-col-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.flyer-update-col-head h4{margin:0}.flyer-update-toggle{padding:4px 10px;border-radius:6px;border:1px solid var(--color-border, #d1d5db);background:var(--color-surface, #fff);cursor:pointer;font-size:.75rem;white-space:nowrap}.flyer-update-toggle:hover{background:#f3f4f6}.flyer-update-empty-hint{margin:0 0 10px;font-size:.8rem;color:var(--color-text-muted)}.flyer-update-existing-tag{position:absolute;top:4px;left:4px;background:#0009;color:#fff;font-size:.62rem;padding:1px 5px;border-radius:3px}.flyer-update-thumbs{display:grid;grid-template-columns:repeat(3,100px);gap:10px}.flyer-update-thumb{position:relative;width:100px;border:2px solid var(--color-border, #ddd);border-radius:6px;overflow:hidden}.flyer-update-thumb.new{border-color:#22c55e;cursor:pointer;opacity:.5}.flyer-update-thumb.new.selected{opacity:1;border-color:#16a34a;box-shadow:0 0 0 2px #16a34a40}.flyer-update-check{position:absolute;top:4px;right:4px;z-index:2;cursor:pointer;width:16px;height:16px}.flyer-update-thumb img{width:100%;display:block}.flyer-update-page-num{position:absolute;top:4px;left:4px;background:#0009;color:#fff;font-size:.7rem;padding:1px 5px;border-radius:3px}.flyer-update-placement{position:absolute;bottom:0;left:0;right:0;display:block;padding:3px 4px;font-size:.7rem;background:#ffffffeb;border-top:1px solid var(--color-border, #ddd)}.flyer-update-placement select{width:100%;font-size:.7rem;margin-top:1px}.flyer-update-preview{margin-bottom:16px}.flyer-update-preview h4{margin:0 0 8px;font-size:.9rem;color:var(--color-text-muted)}.flyer-update-preview-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 0}.flyer-update-preview-item{width:60px;flex-shrink:0;text-align:center;border-radius:4px;overflow:hidden;border:2px solid var(--color-border, #ddd)}.flyer-update-preview-item.new{border-color:#22c55e;background:#f0fdf4}.flyer-update-preview-item img{width:100%;display:block}.flyer-update-preview-item span{font-size:.7rem;display:block;padding:2px}.flyer-update-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.flyer-update-actions-fixed{flex-shrink:0;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;background:var(--color-surface, #fff);border-top:1px solid var(--color-border, #e5e7eb);box-shadow:0 -4px 12px #00000014}.flyer-update-actions button,.flyer-update-actions-fixed button{padding:9px 20px;border-radius:8px;border:1px solid var(--color-border, #d1d5db);background:var(--color-surface, #fff);cursor:pointer;font-size:.88rem;font-weight:500;transition:background .15s,box-shadow .15s}.flyer-update-actions button:hover,.flyer-update-actions-fixed button:hover{background:#f3f4f6}.flyer-update-actions button.primary,.flyer-update-actions-fixed button.primary{background:var(--color-accent, #3b82f6);color:#fff;border-color:transparent;font-weight:600}.flyer-update-actions button.primary:hover,.flyer-update-actions-fixed button.primary:hover{background:#2563eb;box-shadow:0 2px 8px #2563eb4d}.flyer-update-done{text-align:center;padding:20px 0}.flyer-update-error{text-align:center;padding:20px 0;color:#ef4444}.flyer-update-progress{display:flex;align-items:center;gap:12px;padding:0 0 28px}.flyer-update-progress-track{flex:1;height:8px;border-radius:999px;background:var(--color-border, #e5e7eb);overflow:hidden}.flyer-update-progress-fill{height:100%;border-radius:999px;background:var(--color-accent, #3b82f6);transition:width .2s ease}.flyer-update-progress-text{font-size:.8rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:56px;text-align:right}.flyer-update-thumb-delete{position:absolute;bottom:4px;right:4px;z-index:2;width:20px;height:20px;padding:0;line-height:1;font-size:15px;border:none;border-radius:50%;background:#e2361fd9;color:#fff;cursor:pointer;opacity:0;transition:opacity .12s ease}.flyer-update-thumb:hover .flyer-update-thumb-delete,.flyer-update-thumb-delete:focus-visible{opacity:1}.flyer-update-thumb-delete:hover:not(:disabled){background:#e2361f}.flyer-update-thumb-delete:disabled{cursor:default}.flyer-update-confirm-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1200}.flyer-update-confirm{background:var(--color-surface, #fff);border-radius:10px;padding:20px 24px;max-width:360px;width:90%;box-shadow:0 10px 30px #0000004d}.flyer-update-confirm h4{margin:0 0 8px;font-size:1rem}.flyer-update-confirm p{margin:0 0 8px;font-size:.88rem}.flyer-update-actions button.primary.danger{background:#e2361f}.flyer-update-actions button.primary.danger:hover{background:#c42d18;box-shadow:0 2px 8px #e2361f4d}.admin-mobile-tabbar{display:none}@media (max-width: 768px){.admin-tabs{display:none!important}.app-version{display:none}.admin-shell{padding-bottom:calc(52px + var(--safe-area-bottom))}.admin-layout{display:none!important}.row-list{border-right:none;padding:var(--mobile-gutter);gap:.35rem}.row-list-item{min-height:var(--touch-target);padding:.6rem .75rem}.row-list-name{font-size:.95rem;-webkit-line-clamp:2}.row-list-details{font-size:.82rem}.workbench-header{grid-template-columns:1fr auto;grid-auto-rows:auto;row-gap:.5rem;min-height:0;padding:.5rem var(--mobile-gutter)}.workbench-header .csv-breadcrumb{grid-column:1 / -1}.workbench-header .wh-pagination{grid-column:2}.workbench-header .filter-chips{grid-column:1 / -1;flex-wrap:wrap}.wh-page-btn,.filter-chip{min-width:var(--touch-target);min-height:var(--touch-target)}.wh-page-btn{width:var(--touch-target);height:var(--touch-target)}.csv-breadcrumb-btn{min-height:var(--touch-target);padding:.5rem .6rem;font-size:.95rem}.workbench-header .wh-search{grid-column:1 / -1;height:var(--touch-target);font-size:16px}.editor-panel{border-left:none;border-top:1px solid var(--line);max-height:50vh}.admin-mobile-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;padding-bottom:var(--safe-area-bottom);background:var(--color-surface);border-top:1px solid var(--color-border-strong);box-shadow:0 -2px 12px #17161314}.admin-mobile-tabbar button{display:flex;align-items:center;justify-content:center;min-height:52px;padding:.4rem .15rem;background:transparent;border:0;color:var(--color-text-muted);font-family:inherit;font-size:.72rem;font-weight:600;cursor:pointer;line-height:1.1;text-align:center}.admin-mobile-tabbar button[aria-pressed=true]{color:var(--color-text);box-shadow:inset 0 -3px 0 var(--color-accent)}.page-shell{padding:.5rem;touch-action:pan-x pan-y pinch-zoom}.page-frame,.page-image-layer,.page-box,.page-box.selected{touch-action:none}.page-frame img{max-height:calc(100dvh - 50vh - 12rem)}.resize{width:1.4rem;height:1.4rem;border-width:3px}.resize-n{top:-.8rem}.resize-s{bottom:-.8rem}.resize-e{right:-.8rem}.resize-w{left:-.8rem}.resize-nw{top:-.8rem;left:-.8rem}.resize-ne{top:-.8rem;right:-.8rem}.resize-sw{bottom:-.8rem;left:-.8rem}.resize-se{right:-.8rem;bottom:-.8rem}.page-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.8rem;height:4rem;font-size:1.8rem}.page-nav.previous{left:.4rem;margin:0}.page-nav.next{right:.4rem;margin:0}.editor-panel{gap:.6rem;padding-bottom:.6rem;background:var(--color-surface);box-shadow:0 -1px 0 var(--color-border)}.editor-panel>header{grid-template-columns:1fr;padding:.6rem var(--mobile-gutter) 0}.editor-panel h2{font-size:var(--font-lg);-webkit-line-clamp:1}.crop-preview-wrap,.delete-offer-crop-wrap{margin:0 var(--mobile-gutter)}.crop-preview{max-height:18vh;object-fit:contain}.rescrape-section{padding:0 var(--mobile-gutter)}.rescrape-controls{flex-wrap:wrap;gap:.4rem}.rescrape-btn,.model-picker-btn{min-height:var(--touch-target)}.field-grid{grid-template-columns:1fr 1fr;gap:.5rem;padding:0 var(--mobile-gutter)}.field-grid input,.multipris-page-row input,.bbox-fields input,.note-field textarea{height:var(--touch-target);font-size:16px}.editor-actions{position:sticky;bottom:0;z-index:5;padding:.6rem var(--mobile-gutter);background:var(--color-surface);border-top:1px solid var(--color-border)}.editor-actions button,.editor-actions .primary,.rescrape-btn{min-width:var(--touch-target);min-height:var(--touch-target);padding:0 .9rem;font-size:var(--font-md)}.delete-dialog{width:calc(100vw - 2 * var(--mobile-gutter));max-width:420px}.delete-dialog button{min-height:var(--touch-target)}.db-shell{padding:var(--mobile-gutter);padding-bottom:calc(var(--mobile-gutter) + var(--safe-area-bottom))}.db-header{align-items:stretch;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-2)}.db-header-right{display:flex;gap:var(--space-2)}.db-week-select{flex:1;min-height:var(--touch-target);font-size:16px;padding:0 var(--space-3)}.db-refresh{min-width:var(--touch-target);min-height:var(--touch-target);font-size:1.2rem;padding:0}.db-statusbar{padding:var(--space-2);gap:.35rem}.db-statusbar-item{min-height:2rem;font-size:var(--font-sm);padding:.3rem .6rem}.db-trigger-btn{flex:1 1 100%;min-height:var(--touch-target);font-size:var(--font-md);padding:0 var(--space-4)}.db-section{padding:var(--space-3)}.db-section-head{align-items:stretch;flex-direction:column;gap:.3rem}.db-store-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}@media (max-width: 480px){.db-store-grid{grid-template-columns:1fr}}.db-store-card{min-height:var(--touch-target);padding:.6rem .7rem}.db-store-card-metrics{font-size:var(--font-sm)}.db-store-card-updates{font-size:.72rem}@media (max-width: 360px){.db-store-card-providers{display:none}}.db-run-row{grid-template-columns:auto 1fr auto auto;gap:.35rem;padding:.5rem var(--space-2);font-size:var(--font-sm)}.db-run-link{min-width:var(--touch-target);min-height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center}.benchmark-panel{height:auto;min-height:100%;padding:var(--mobile-gutter);padding-bottom:calc(var(--mobile-gutter) + var(--safe-area-bottom));grid-template-rows:auto auto;overflow:visible}.bm-chip{min-height:var(--touch-target);padding:6px 12px;font-size:.85rem}.bm-top-bar{flex-wrap:wrap;gap:8px;padding:8px}.bm-top-spacer{display:none}.bm-mode-toggle{width:100%}.bm-mode-toggle button{flex:1;min-height:var(--touch-target);font-size:var(--font-md);padding:0 var(--space-3)}.bm-runs-select{flex:1 1 100%;min-width:0;min-height:var(--touch-target);font-size:16px;padding:0 var(--space-3)}.bm-new-run-btn,.bm-status-badge,.bm-secondary-btn,.bm-run-btn{min-height:var(--touch-target);font-size:var(--font-md);padding:0 var(--space-3)}.bm-configure-view{grid-template-columns:1fr;gap:10px}.bm-explore-view{grid-template-columns:1fr;gap:10px;overflow:visible}.bm-results-section,.bm-viewer-section{min-height:auto}.bm-results-table-wrapper{max-height:60vh;overflow:auto}.bm-results-table{min-width:480px;font-size:var(--font-sm)}.bm-results-table th,.bm-results-table td{padding:8px 6px}.bm-viewer-layout{flex-direction:column;gap:8px}.bm-viewer-page-rail{width:100%;max-height:100px;overflow-y:hidden;overflow-x:auto}.bm-viewer-page-rail .bm-page-strip{flex-direction:row;padding:0 0 4px}.bm-viewer-page-rail .bm-page-strip-item{width:64px}.bm-viewer-controls{gap:8px}.bm-viewer-tabs{display:flex;flex-wrap:wrap;gap:6px}.bm-viewer-tab,.bm-data-model-select{min-height:var(--touch-target);font-size:var(--font-md)}.bm-pages-header{flex-direction:column;align-items:stretch;gap:8px}.bm-week-store-controls{flex-wrap:wrap}.bm-week-store-controls select{flex:1 1 calc(50% - 4px);min-height:var(--touch-target);font-size:16px}.bm-pages-actions{flex-wrap:wrap}.bm-pages-actions button{min-height:var(--touch-target);flex:1}.bm-store-summary{flex-wrap:wrap}.bm-page-thumb{min-height:var(--touch-target)}.bm-models-scroll{max-height:50vh}.bm-model-item{min-height:var(--touch-target);padding-top:6px;padding-bottom:6px}.bm-model-item input[type=checkbox]{width:18px;height:18px}.bm-run-footer{flex-wrap:wrap;gap:8px}.bm-run-btn{flex:1 1 100%}.bm-modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.bm-modal{width:100%;max-width:100%;max-height:100dvh;height:100dvh;border-radius:0}.bm-modal-body--two-col .bm-model-grid{grid-template-columns:1fr}.bm-modal-close{min-width:var(--touch-target);min-height:var(--touch-target);font-size:20px}.bm-modal-toolbar{flex-wrap:wrap}.bm-modal-footer{flex-wrap:wrap;gap:8px;padding-bottom:calc(12px + var(--safe-area-bottom))}.bm-log-drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-width:100%;height:80dvh;border-left:none;border-top:1px solid var(--color-border);transform:translateY(100%);padding-bottom:var(--safe-area-bottom)}.bm-log-drawer.open{transform:translateY(0)}.pipeline-panel{height:auto;min-height:100%;padding-bottom:var(--safe-area-bottom)}.pipeline-topbar{flex-direction:column;align-items:stretch;gap:.6rem;padding:var(--mobile-gutter)}.pipeline-topbar-left{flex-direction:column;align-items:stretch;gap:.6rem}.pipeline-topbar-title{font-size:var(--font-lg)}.pipeline-topbar-controls{gap:.5rem .8rem}.pipeline-ctrl-label{font-size:var(--font-sm)}.pipeline-ctrl-input,select.pipeline-ctrl-input{height:var(--touch-target);min-width:4rem;font-size:16px;padding:0 .6rem}.pipeline-ctrl-force{min-height:var(--touch-target);font-size:var(--font-sm)}.pipeline-ctrl-force input[type=checkbox]{width:18px;height:18px}.pipeline-topbar-actions{gap:.5rem}.pipeline-btn{height:var(--touch-target);font-size:var(--font-md);padding:0 var(--space-3)}.pipeline-btn--primary{flex:1 1 100%;justify-content:center}.pipeline-status-strip{flex-wrap:wrap;gap:.4rem .6rem;font-size:var(--font-sm);padding:.6rem var(--mobile-gutter)}.pipeline-active-strip{padding:.6rem var(--mobile-gutter)}.pipeline-active-steps,.pipeline-active-providers{flex-wrap:wrap;gap:.35rem}.pipeline-active-chip{min-height:2rem;padding:.3rem .55rem;font-size:var(--font-sm)}.pipeline-body,.pipeline-dashboard{padding:var(--mobile-gutter);gap:.75rem}.pipeline-config-row .pipeline-store-grid,.pipeline-store-grid{grid-template-columns:1fr}.pipeline-config-row .pipeline-store-item{border-right:none}.pipeline-config-row .pipeline-store-item,.pipeline-config-row .pipeline-provider-row,.pipeline-config-row .pipeline-step-item,.pipeline-store-item,.pipeline-provider-row,.pipeline-step-item{min-height:var(--touch-target);padding:.6rem .75rem}.pipeline-store-item input[type=checkbox],.pipeline-provider-label input[type=checkbox],.pipeline-step-item input[type=checkbox]{width:18px;height:18px}.pipeline-model-select{min-height:2.4rem;font-size:16px}.pipeline-card-action{min-height:var(--touch-target);min-width:var(--touch-target);padding:.3rem .7rem;font-size:var(--font-sm)}.pipeline-provider-label,.pipeline-step-item label{display:inline-flex;align-items:center;min-height:var(--touch-target)}.pipeline-card--history,.pipeline-card--hosted{max-height:none}.pipeline-hosted-run{min-height:var(--touch-target);padding:.6rem var(--mobile-gutter)}.pipeline-hosted-run-link{min-width:var(--touch-target);min-height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center}.job-modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:var(--mobile-gutter);padding-bottom:calc(var(--mobile-gutter) + var(--safe-area-bottom));justify-content:space-between;gap:0;overflow-y:hidden}.job-modal .pipeline-hosted-logs{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:0}.job-modal .pipeline-hosted-logs-list{flex:1;min-height:0;overflow-y:auto;max-height:unset}.job-modal .job-progress{padding:2.5rem 0}.job-modal-x{min-width:var(--touch-target);min-height:var(--touch-target);font-size:var(--font-md)}.job-modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--color-border);flex-direction:unset}.job-modal-meta-item{background:var(--color-bg);border-right:none;padding:.5rem .75rem}.job-modal-meta-item--wide{grid-column:1 / -1}.job-modal-meta-grid{display:flex;flex-wrap:wrap;gap:.15rem .5rem}.job-modal-providers{flex-direction:row;flex-wrap:wrap;gap:.25rem .75rem}.job-modal-provider-tag{flex-direction:row;gap:.25rem;align-items:baseline}.compare-legacy-shell{padding:0}.compare-legacy-shell .card{border-radius:0;border-left:none;border-right:none;margin-bottom:12px}.compare-legacy-shell table{font-size:.85rem}.compare-legacy-shell th{padding:8px 10px;font-size:9px}.compare-legacy-shell td{padding:10px}.compare-legacy-shell .source-loader{flex-wrap:wrap;gap:6px}.compare-legacy-shell .source-loader select,.compare-legacy-shell .source-loader input,.compare-legacy-shell .source-loader button{height:44px;font-size:16px}.compare-legacy-shell .source-loader select{flex:1 1 calc(50% - 3px);min-width:0}.compare-legacy-shell .source-loader input{width:80px}.compare-legacy-shell .source-loader button{flex:1 1 100%;padding:0 16px}.drag-overlay h2{font-size:1.5rem}.drag-overlay p{font-size:1rem}.pipeline-mobile{position:relative;display:flex;flex-direction:column;height:calc(100dvh - 52px - var(--safe-area-bottom, 0px));overflow:hidden;background:var(--color-bg);color:var(--color-text)}.pipeline-mobile-topbar{position:sticky;top:0;z-index:5;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:10px 14px 8px}.pipeline-mobile-topbar-title{display:flex;flex-direction:column;gap:2px}.pipeline-mobile-topbar-title strong{font-size:1rem;font-weight:700;color:var(--color-text)}.pipeline-mobile-topbar-title span{font-size:.78rem;color:var(--color-text-muted)}.pipeline-mobile-status{display:flex;gap:8px;flex-wrap:wrap;padding:8px 14px;font-size:.75rem;color:var(--color-text-muted);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pipeline-mobile-status span{white-space:nowrap}.pipeline-mobile-status strong{color:var(--color-text);font-weight:700}.pipeline-mobile-sections{flex:1;padding:4px 0 130px;overflow-y:auto;background:var(--color-bg)}.pipeline-mobile-section{border-bottom:1px solid var(--color-border);background:var(--color-surface-up)}.pipeline-mobile-section-header{width:100%;display:flex;align-items:center;background:var(--color-bg);color:var(--color-text);min-height:48px;transition:background .12s ease}.pipeline-mobile-section-toggle{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;min-height:inherit;font:inherit}.pipeline-mobile-section--open .pipeline-mobile-section-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.pipeline-mobile-section-toggle:active{background:var(--color-border)}.pipeline-mobile-section-chevron{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--color-text-muted);width:16px;height:16px;transition:transform .16s ease}.pipeline-mobile-section--open .pipeline-mobile-section-chevron{transform:rotate(0);color:var(--color-text)}.pipeline-mobile-section-title{font-weight:700;font-size:.95rem;color:var(--color-text);flex-shrink:0;letter-spacing:.01em}.pipeline-mobile-section-summary{color:var(--color-text-muted);font-size:.8rem;margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pipeline-mobile-section-header .pipeline-card-action{margin-left:auto;margin-right:14px}.pipeline-mobile-section-body{padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px;background:var(--color-surface-up)}.pipeline-mobile-inline-btn{align-self:flex-start}.pipeline-mobile-section .pipeline-store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:4px}.pipeline-mobile-section .pipeline-store-item{padding:.45rem .55rem;min-height:40px;font-size:.85rem}.pipeline-mobile-section .pipeline-store-item input[type=checkbox]{width:16px;height:16px}.pipeline-mobile-section .pipeline-store-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-mobile-section .pipeline-store-item{border-right:1px solid var(--color-border)}.pipeline-mobile-section .pipeline-store-item:nth-child(3n){border-right:1px solid var(--color-border)}.pipeline-mobile-section .pipeline-store-item:nth-child(2n){border-right:none}.pipeline-mobile-section .pipeline-provider-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:4px}.pipeline-mobile-section .pipeline-provider-row{padding:.45rem .55rem;min-height:40px;font-size:.85rem}.pipeline-mobile-section .pipeline-provider-row--checked{grid-column:1 / -1;flex-direction:row;align-items:center;gap:8px}.pipeline-mobile-section .pipeline-provider-row--checked .pipeline-model-select{flex:1;min-width:0}.pipeline-mobile-section .pipeline-step-list{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pipeline-mobile-section .pipeline-step-item{padding:.45rem .55rem;min-height:48px;font-size:.82rem;flex-direction:column;align-items:flex-start;gap:2px}.pipeline-mobile-section .pipeline-step-desc{font-size:.7rem;color:var(--color-text-muted);line-height:1.2}.pipeline-mobile-empty{padding:12px;font-size:.8rem;color:var(--color-text-muted);text-align:center}.pipeline-mobile-hosted-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.pipeline-mobile-hosted-list .pipeline-hosted-run{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;font-size:.8rem;color:var(--color-text);background:var(--color-surface)}.pipeline-mobile-actionbar{position:fixed;left:0;right:0;bottom:calc(52px + var(--safe-area-bottom, 0px));z-index:25;background:var(--color-surface);border-top:1px solid var(--color-border-strong);padding:8px 12px 10px;display:flex;flex-direction:column;gap:6px;box-shadow:0 -4px 16px #1716131a}.pipeline-mobile-actionbar--with-peek{display:none}.pipeline-mobile-actionbar-row{display:flex;gap:6px;align-items:center}.pipeline-mobile-actionbar-row--controls>*{flex:1 1 0;min-width:0}.pipeline-mobile-actionbar-row--controls .pipeline-ctrl-label{flex-direction:column;align-items:stretch;gap:2px;font-size:.7rem}.pipeline-mobile-actionbar-row--controls .pipeline-ctrl-input{width:100%;min-height:36px}.pipeline-mobile-actionbar-row--controls .pipeline-ctrl-force{flex-direction:row;justify-content:center;gap:4px}.pipeline-mobile-actionbar-row--btns .pipeline-btn{flex:1 1 0;min-height:44px;font-size:.92rem}.job-modal--mobile-confirm{max-width:calc(100vw - 24px);width:calc(100vw - 24px);max-height:80vh;overflow-y:auto}.pipeline-mobile-confirm-actions{display:flex;gap:8px;padding:12px 0 4px}.pipeline-mobile-confirm-actions .pipeline-btn{flex:1 1 0;min-height:44px}.pipeline-mobile-peek{display:flex;flex-direction:column;gap:6px;padding:0 14px 8px}.pipeline-mobile-peek-title{display:flex;align-items:center;gap:8px;font-size:.85rem}.pipeline-mobile-peek-title strong{font-weight:600}.pipeline-mobile-peek-title span{color:var(--color-text-muted, #9aa3ad)}.pipeline-mobile-peek-chips{display:flex;flex-wrap:wrap;gap:4px}.pipeline-mobile-peek-chips .pipeline-active-chip{font-size:.7rem;padding:2px 8px}.pipeline-mobile-sheet-half,.pipeline-mobile-sheet-full{padding:8px 14px 24px;display:flex;flex-direction:column;gap:12px}.pipeline-mobile-sheet-full .pipeline-log{max-height:40vh;overflow-y:auto}}.pipeline-status-strip{padding-top:.25rem;padding-bottom:.25rem}.mobile-adjust{display:none}@media (max-width: 768px){.mobile-adjust{display:flex;flex-direction:column;height:calc(100dvh - 52px - var(--safe-area-bottom));position:relative;overflow:hidden;background:var(--color-bg)}.mobile-adjust-stage{position:relative;flex:1;min-height:0;display:flex;overflow:hidden}.mobile-adjust[data-snap=closed]{--mobile-sheet-reserved: 32px}.mobile-adjust[data-snap=peek]{--mobile-sheet-reserved: 200px}.mobile-adjust-stage .page-shell{flex:1;height:100%;padding:.25rem}.mobile-adjust-stage .page-frame{height:100%}.mobile-adjust-stage .page-frame img{max-height:calc(100dvh - 52px - var(--safe-area-bottom, 0px) - var(--mobile-sheet-reserved, 0px) - 60px);transition:max-height .22s cubic-bezier(.2,.8,.2,1)}.mobile-adjust-stage .page-nav{display:none}.mobile-adjust-stage .resize{width:1.6rem;height:1.6rem;border-width:3px;background:#ffffffeb}.mobile-adjust-stage .resize-n{top:-.4rem}.mobile-adjust-stage .resize-s{bottom:-.4rem}.mobile-adjust-stage .resize-e{right:-.4rem}.mobile-adjust-stage .resize-w{left:-.4rem}.mobile-adjust-stage .resize-nw{top:-.4rem;left:-.4rem}.mobile-adjust-stage .resize-ne{top:-.4rem;right:-.4rem}.mobile-adjust-stage .resize-sw{bottom:-.4rem;left:-.4rem}.mobile-adjust-stage .resize-se{right:-.4rem;bottom:-.4rem}.mobile-adjust-peek{display:grid;gap:.55rem;min-width:0}.mobile-adjust-offer-nav{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:.35rem;position:relative;width:100%;align-items:center}.mobile-adjust-nav-button,.mobile-adjust-sheet-action{min-width:0;min-height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-up);color:var(--color-text);font:inherit;font-size:var(--font-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.mobile-adjust-nav-button{overflow:hidden;padding:0 .65rem;text-overflow:ellipsis;white-space:nowrap}.mobile-adjust-nav-button:disabled{color:var(--color-text-faint);cursor:not-allowed;background:var(--color-surface)}.mobile-adjust-offer-nav .rescrape-section{padding:0;min-width:0}.mobile-adjust-offer-nav .rescrape-controls{display:flex;gap:.25rem}.mobile-adjust-offer-nav .rescrape-btn{min-width:0;flex:1;padding:0 .5rem;font-size:var(--font-xs);height:var(--touch-target);border-radius:var(--radius-md)}.mobile-adjust-offer-nav .model-picker-btn{width:1.8rem;padding:0;font-size:0;height:var(--touch-target);border-radius:var(--radius-md);overflow:hidden}.mobile-adjust-offer-nav .model-picker-btn:before{content:"▼";font-size:.7rem}.mobile-adjust-offer-nav .model-picker-popover{left:auto;right:0;width:80vw}@media (max-width: 390px){.mobile-adjust-offer-nav{gap:.25rem}.mobile-adjust-nav-button{font-size:var(--font-xs);padding:0 .4rem}}.bottom-sheet{position:absolute;left:0;right:0;bottom:0;height:150px;background:var(--color-surface);border-top:1px solid var(--color-border-strong);border-radius:18px 18px 0 0;box-shadow:0 -8px 24px #1716131f;z-index:20;display:flex;flex-direction:column;overflow:hidden}.bottom-sheet.snap-closed{box-shadow:0 -2px 8px #1716130f}.sheet-grab{display:flex;align-items:center;justify-content:center;width:100%;height:28px;border:0;background:transparent;cursor:grab;flex-shrink:0;padding:0}.sheet-grab:active{cursor:grabbing}.sheet-grab-bar{display:block;width:44px;height:5px;border-radius:999px;background:var(--color-border-strong)}.sheet-content{flex:1;min-height:0;min-width:0;overflow:hidden}.sheet-content.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet-peek{min-width:0;padding:0 var(--mobile-gutter) 1rem}.mobile-adjust-peek{display:flex;flex-direction:column;gap:.75rem;min-width:0}.mobile-adjust-peek .field-grid{grid-template-columns:1fr 1fr;gap:.5rem;padding:0}.mobile-adjust-peek .field-grid input{height:var(--touch-target);font-size:16px}.mobile-adjust-peek .editor-actions{display:flex;align-items:center;gap:.5rem;padding:.25rem 0}.mobile-adjust-peek .editor-actions button{min-height:var(--touch-target);padding:0 .9rem}.editor-mobile-file-section{padding-top:.5rem;border-top:1px solid var(--color-border)}.editor-mobile-file-btn{width:100%;min-height:var(--touch-target);padding:0 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-up);color:var(--color-text-muted);font:inherit;font-size:var(--font-sm);font-weight:600;display:flex;align-items:center;gap:.5rem;cursor:pointer}.editor-mobile-file-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-editor-peek{display:flex;align-items:center;gap:12px;padding:2px 0;min-width:0}.row-editor-peek-main{flex:1;min-width:0}.row-editor-peek-title{font-size:15px;font-weight:500;color:var(--color-text);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-editor-peek-details{font-size:12px;color:var(--color-text-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-editor-peek-value{text-align:right;flex-shrink:0}.row-editor-peek-amount{font-size:18px;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.row-editor-peek-amount.small{font-size:14px}.row-editor-peek-unit{font-size:12px;color:var(--color-text-muted);margin-left:2px;font-weight:500}.row-editor-peek.empty{display:flex;flex-direction:column;gap:.35rem;padding:.5rem 0}.row-editor-peek.empty strong{color:var(--color-text-muted);font-size:var(--font-md)}.row-editor-peek.empty span{font-size:var(--font-sm);color:var(--color-text-faint)}.sheet-half{padding:.5rem var(--mobile-gutter) 0;display:flex;flex-direction:column;gap:.6rem}.sheet-half .field-grid{grid-template-columns:1fr 1fr;gap:.5rem;padding:0}.sheet-half .field-grid input{height:var(--touch-target);font-size:16px}.sheet-half .editor-actions{padding:.6rem 0;display:flex;align-items:center;gap:.5rem}.sheet-half .editor-actions button{min-height:var(--touch-target);padding:0 .9rem}.sheet-content .row-list{padding:0 var(--mobile-gutter);border:0;gap:.35rem}.mobile-search-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-bg);z-index:25;display:flex;flex-direction:column;animation:searchOverlayFade .16s ease-out}.mobile-search-overlay-header{display:flex;align-items:center;gap:.5rem;padding:calc(.5rem + var(--safe-area-top)) var(--mobile-gutter) .5rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.mobile-search-overlay-input{flex:1;min-width:0;height:var(--touch-target);padding:0 .75rem;font-size:16px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-up);color:var(--color-text)}.mobile-search-overlay-close{min-height:var(--touch-target);padding:0 .9rem;background:transparent;border:0;color:var(--color-text);font:inherit;font-weight:600;cursor:pointer}.mobile-search-overlay-filters{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem var(--mobile-gutter);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.mobile-search-overlay-list{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--color-bg)}.mobile-search-overlay-list .row-list{padding:var(--mobile-gutter);gap:.35rem}@keyframes searchOverlayFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.file-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1716136b;z-index:80;display:flex;animation:fileDrawerFade .16s ease-out}.file-drawer{position:relative;background:var(--color-surface);width:min(86vw,360px);max-width:100%;height:100dvh;display:flex;flex-direction:column;box-shadow:var(--shadow-md);animation:fileDrawerSlide .22s cubic-bezier(.2,.8,.2,1);padding-top:var(--safe-area-top)}.file-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem var(--mobile-gutter);border-bottom:1px solid var(--color-border)}.file-drawer-header h2{margin:0;font-size:var(--font-lg)}.file-drawer-close{width:var(--touch-target);height:var(--touch-target);background:transparent;border:0;color:var(--color-text);font-size:1.1rem;cursor:pointer}.file-drawer .csv-picker{position:static;top:auto;left:auto;width:auto;max-height:none;flex:1;min-height:0;display:flex;flex-direction:column;box-shadow:none;border:0;border-radius:0}.file-drawer .csv-picker-header{flex-shrink:0}.file-drawer .csv-picker-scroll{flex:1;min-height:0;overflow-y:auto}@keyframes fileDrawerSlide{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes fileDrawerFade{0%{opacity:0}to{opacity:1}}}
