:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#2196f3;text-decoration:inherit}a:hover{color:#1976d2}body{margin:0;min-width:320px;min-height:100vh;color:#333;background-color:#f5f5f5}h1,h2,h3,h4,h5,h6{color:#333}p{color:#666}label{color:#333}input,select,textarea{color:#333;background-color:#fff;border:1px solid #ddd}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .3s;min-height:44px;touch-action:manipulation}button:focus,button:focus-visible{outline:2px solid #2196F3;outline-offset:2px}input[type=text],input[type=number],input[type=email],input[type=password],input[type=file],select,textarea{font-size:16px;min-height:44px}button,.nav-link,.sidebar-item{-webkit-tap-highlight-color:rgba(0,0,0,.1);-webkit-user-select:none;user-select:none}html{scroll-behavior:smooth}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}body{font-size:16px}a,button{min-height:44px;display:inline-flex;align-items:center;justify-content:center}}.dialog-overlay{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;padding-bottom:25vh}.dialog-box{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.5rem 1.75rem;max-width:420px;width:100%;animation:dialog-in .15s ease-out}@keyframes dialog-in{0%{opacity:0;transform:scale(.96) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-message{margin:0 0 1.25rem;color:#1a1a1a;font-size:.95rem;line-height:1.6;white-space:pre-wrap}.dialog-actions{display:flex;gap:.75rem;justify-content:flex-end}.dialog-btn{padding:.6rem 1.25rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,transform .1s}.dialog-btn:active{transform:translateY(1px)}.dialog-btn-cancel{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.dialog-btn-cancel:hover{background:#e5e7eb}.dialog-btn-ok{background:var(--color-primary);color:#fff}.dialog-btn-ok:hover{background:var(--color-primary-dark)}.csel{position:relative;width:100%}.csel-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem .55rem .75rem;border:1.5px solid #d1d5db;border-radius:var(--radius);background:#fff;font-size:.9rem;font-family:inherit;color:#374151;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s;line-height:1.5}.csel-trigger:hover:not(:disabled){border-color:#9ca3af}.csel--open .csel-trigger{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f;border-bottom-left-radius:0;border-bottom-right-radius:0}.csel--disabled .csel-trigger{background:#f9fafb;color:#9ca3af;cursor:not-allowed;border-color:#e5e7eb}.csel-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-placeholder{flex:1;min-width:0;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-chevron{flex-shrink:0;color:#9ca3af;transition:transform .2s}.csel--open .csel-chevron{transform:rotate(180deg);color:var(--color-primary)}.csel-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1200;background:#fff;border:1.5px solid var(--color-primary);border-top:none;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);box-shadow:0 8px 24px #4a90e21a,0 2px 8px #00000014;list-style:none;margin:0;padding:.25rem 0;max-height:240px;overflow-y:auto;animation:csel-drop-in .12s ease}@keyframes csel-drop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.csel--up .csel-dropdown{top:auto;bottom:100%;border-top:1.5px solid var(--color-primary);border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;box-shadow:0 -8px 24px #4a90e21a,0 -2px 8px #00000014;animation:csel-drop-up-in .12s ease}.csel--up.csel--open .csel-trigger{border-radius:0 0 var(--radius) var(--radius)}@keyframes csel-drop-up-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.csel-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .85rem;font-size:.88rem;color:#374151;cursor:pointer;transition:background .1s,color .1s;-webkit-user-select:none;user-select:none}.csel-option:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.csel-option--selected{background:var(--color-primary-bg);color:var(--color-primary-dark);font-weight:600}.csel-option--selected:hover{background:#4a90e226}.csel-option-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-option-check{flex-shrink:0;color:var(--color-primary)}.csel-option--clear{border-bottom:1px solid #f3f4f6;margin-bottom:.2rem}.csel-option-label--placeholder{color:#9ca3af;font-style:italic}.csel-option--clear:hover .csel-option-label--placeholder{color:#6b7280}.mcsel-checkbox{flex-shrink:0;width:14px;height:14px;accent-color:var(--color-primary);cursor:pointer;pointer-events:none}.mcsel-icon{flex-shrink:0;display:flex;align-items:center;color:inherit}.mcsel-count{flex-shrink:0;font-size:.75rem;color:#9ca3af;font-weight:500}.csel-option--selected .mcsel-count{color:var(--color-primary)}.mcsel-divider{height:1px;background:var(--color-primary-bg);margin:4px 0}.mcsel-clear{color:#9ca3af;font-size:.82rem;justify-content:center}.mcsel-clear:hover{color:#ef4444;background:#fef2f2}.csel-dropdown::-webkit-scrollbar{width:4px}.csel-dropdown::-webkit-scrollbar-track{background:transparent}.csel-dropdown::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.csel-dropdown::-webkit-scrollbar-thumb:hover{background:#9ca3af}.form-select{appearance:none;-webkit-appearance:none;padding:.55rem 2.25rem .55rem .75rem;border:1.5px solid #d1d5db;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:15px;font-size:.9rem;font-family:inherit;color:#374151;cursor:pointer;width:100%;line-height:1.5;transition:border-color .15s,box-shadow .15s}.import-page{max-width:1100px;margin:0 auto;padding:1.5rem 2rem 2rem}.import-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.import-upload-panel{display:flex;flex-direction:column;gap:1rem}.import-drop-zone{border:2px dashed #d1d5db;border-radius:var(--radius-lg);padding:2.5rem 1.5rem;background:#fafafa;display:flex;flex-direction:column;align-items:center;gap:.5rem;cursor:pointer;transition:border-color .2s,background .2s;text-align:center;-webkit-user-select:none;user-select:none}.import-drop-zone:hover,.import-drop-zone--active{border-color:var(--color-primary);background:var(--color-primary-bg)}.import-drop-zone--filled{border-color:#4ade80;border-style:solid;background:var(--color-success-bg)}.import-drop-icon{color:#9ca3af;margin-bottom:.25rem;transition:color .2s}.import-drop-zone:hover .import-drop-icon,.import-drop-zone--active .import-drop-icon{color:var(--color-primary)}.import-drop-zone--filled .import-drop-icon{color:#16a34a}.import-drop-label{font-size:1rem;font-weight:600;color:#1a1a1a}.import-drop-filename{font-size:.95rem;font-weight:600;color:#16a34a;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-drop-hint{font-size:.82rem;color:#9ca3af}.import-pool-row{display:flex;flex-direction:column;gap:.35rem}.import-pool-label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.import-mode-block{display:flex;flex-direction:column;gap:.5rem}.import-mode-head{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.import-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.import-mode-card{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:var(--radius);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,background .15s}.import-mode-card:hover:not(:disabled),.import-mode-card--active{border-color:var(--color-primary);background:var(--color-primary-bg)}.import-mode-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.import-mode-icon{display:flex;color:#6b7280;margin-top:1px;flex-shrink:0}.import-mode-card--active .import-mode-icon{color:var(--color-primary)}.import-mode-text{display:flex;flex-direction:column;gap:1px;min-width:0}.import-mode-name{font-size:.875rem;font-weight:600;color:#111827;line-height:1.3}.import-mode-card--active .import-mode-name{color:var(--color-primary-dark)}.import-mode-sub{font-size:.76rem;color:#9ca3af;line-height:1.35}.import-mode-hint{display:flex;align-items:baseline;gap:5px;margin:0;font-size:.8rem;line-height:1.45;color:#9ca3af}.import-mode-hint--warn{color:#b45309;font-weight:500}.import-mode-hint--warn>svg{flex-shrink:0;align-self:center}.import-tip{position:relative;display:inline-flex;align-items:center;padding:0;background:none;border:none;color:#9ca3af;cursor:help;vertical-align:middle;border-radius:50%;outline-offset:2px}.import-tip:hover,.import-tip:focus-visible{color:var(--color-primary)}.import-tip-content{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:320px;max-width:78vw;padding:12px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 10px 30px #00000024;font-size:.8rem;font-weight:400;color:#374151;line-height:1.5;text-align:left;text-transform:none;letter-spacing:normal;cursor:default;opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}.import-tip:hover .import-tip-content,.import-tip:focus-visible .import-tip-content,.import-tip:focus-within .import-tip-content{opacity:1;visibility:visible;transform:translateY(0)}.import-tip-title{display:block;font-weight:600;margin-bottom:8px}.import-tip-lead{display:block;margin-bottom:8px;color:#4b5563}.import-tip-content ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.import-tip-content li{display:flex;gap:10px;align-items:baseline}.import-tip-key{flex-shrink:0;min-width:66px;font-weight:700;color:var(--color-primary)}.import-tip-note{display:block;margin-top:8px;color:#9ca3af;font-size:.75rem}.import-submit-btn{width:100%;padding:.875rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .15s}.import-submit-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.import-submit-btn:disabled{background:#d1d5db;cursor:not-allowed}.job-progress-container{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.job-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.875rem}.job-progress-header{display:flex;align-items:center;gap:.625rem}.import-spinner{color:var(--color-primary);display:flex;align-items:center;animation:import-spin 1s linear infinite}@keyframes import-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.job-progress-label{font-size:.9rem;color:#374151;font-weight:600}.job-progress-pct{font-size:.875rem;font-weight:700;color:var(--color-primary)}.job-progress-track{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.job-progress-bar{height:100%;background:var(--color-primary);border-radius:999px;transition:width .4s ease}.job-progress-step{margin:.5rem 0 0;color:#9ca3af;font-size:.875rem}.job-results-section{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.job-results-title{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;color:#16a34a}.job-results-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.625rem}.job-stat-card{background:#f8f9fa;border:1px solid #e5e7eb;padding:.75rem .875rem;border-radius:var(--radius);text-align:center}.job-stat-value{display:block;font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:.2rem}.job-stat-label{display:block;color:#6b7280;font-size:.78rem}.job-action-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.job-btn{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex;align-items:center;gap:.5rem}.job-btn:disabled{opacity:.5;cursor:not-allowed}.job-btn-primary{background:var(--color-primary);color:#fff}.job-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e240}.job-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.job-btn-secondary:hover:not(:disabled){background:#e5e7eb}.import-info-panel{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);overflow:hidden}.import-info-block{padding:1.25rem 1.5rem}.import-info-block-title{font-size:.875rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.625rem}.import-info-desc{font-size:.875rem;color:#6b7280;margin:0 0 .875rem;line-height:1.5}.import-info-divider{height:1px;background:#f3f4f6}.import-info-note{margin:.625rem 0 0;font-size:.78rem;color:#9ca3af;line-height:1.4}.import-sample-link{display:inline-flex;align-items:center;gap:.35rem;margin-top:.75rem;font-size:.82rem;font-weight:600;color:var(--color-primary);text-decoration:none}.import-sample-link:hover{text-decoration:underline}.import-cols-table{width:100%;border-collapse:collapse;font-size:.875rem}.import-cols-table td{padding:.35rem .5rem;color:#374151}.import-col-letter{font-family:Consolas,Monaco,monospace;font-weight:700;color:var(--color-primary-dark);width:52px;white-space:nowrap}.import-col-th{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af;padding:0 .5rem .5rem;text-align:left;border-bottom:1px solid #f3f4f6}.import-col-th--default{text-align:center}.import-col-field{white-space:nowrap;font-weight:600;color:#1a1a1a}.import-col-required{color:var(--color-danger);font-weight:700}.import-col-default{text-align:center;font-family:Consolas,Monaco,monospace;font-size:.8rem;color:#6b7280}@media(max-width:900px){.import-layout{grid-template-columns:1fr}}@media(max-width:600px){.import-page{padding:1rem}.job-action-buttons{flex-direction:column}.job-action-buttons .job-btn{width:100%;justify-content:center}.import-mode-grid{grid-template-columns:minmax(0,1fr)}}.offers-page{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.offers-header{flex-shrink:0;padding:1.5rem 2rem 0;background:transparent}.offers-header .page-header{margin-bottom:1rem}.offers-content{flex:1;overflow:hidden;padding:2rem;padding-top:0;background:#f5f5f5;display:flex;flex-direction:column;min-height:0}.offers-tabs-row{display:flex;align-items:center;gap:.75rem;margin:.75rem 0 1.5rem;flex-wrap:wrap}.offers-tabs-row .page-tabs{margin-bottom:0}.offers-tabs-divider{width:1px;align-self:stretch;min-height:24px;background:#e5e7eb;flex-shrink:0}.offers-search-wrap{position:relative;display:flex;align-items:center;width:280px}.offers-search-icon{position:absolute;left:.65rem;color:#9ca3af;pointer-events:none;flex-shrink:0}.offers-search-input{width:100%;padding:.5rem 2.25rem .5rem 2.1rem;border:1px solid #d1d5db;border-radius:var(--radius);font-size:.875rem;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;min-height:unset;height:36px;box-sizing:border-box}.offers-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.offers-search-clear{position:absolute;right:.4rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;min-height:unset;transition:color .15s}.offers-search-clear:hover{color:var(--color-danger)}.empty-state{background:#fff;border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center;box-shadow:var(--shadow)}.empty-state p{color:#666;font-size:1.1rem;margin:.5rem 0}.offers-list{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto;flex:1;min-height:0}.offers-table{width:100%;border-collapse:collapse;table-layout:auto}.offers-table thead{background:#f5f5f5}.offers-table thead th{position:sticky;top:0;z-index:2;background:#f5f5f5}.offers-table th{padding:.75rem .65rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.offers-table th:last-child{text-align:center}.offers-table td:last-child{text-align:center}.offers-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s}.offers-table th.sortable:hover{background-color:var(--color-primary-bg);color:var(--color-primary)}.offers-table th.sortable:active{background-color:#4a90e22e}.offers-table th.sortable.active-sort{background-color:var(--color-primary-bg);color:var(--color-primary-dark);font-weight:700}.offers-table th.sortable:hover .sort-icon,.offers-table th.sortable.active-sort .sort-icon{opacity:1}.offers-table th:nth-child(1){min-width:80px}.offers-table th:nth-child(2){min-width:140px}.offers-table th:nth-child(3){min-width:120px;white-space:nowrap}.offers-table th:nth-child(4){min-width:60px}.offers-table th:nth-child(5){min-width:120px}.offers-table th:nth-child(6){min-width:120px}.offers-table th:nth-child(7){min-width:90px}.offers-table th:nth-child(8){min-width:80px}.offers-table th:last-child{min-width:90px}.offers-table td{padding:.75rem .65rem;color:#555;box-sizing:border-box}.offers-table td:nth-child(1){white-space:nowrap}.offers-table td:nth-child(2){max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.offers-table td:nth-child(3){white-space:nowrap}.offers-table td:nth-child(7){white-space:nowrap}.offers-table td:last-child{min-width:90px;padding:.75rem .65rem;vertical-align:middle}.offers-table tbody tr{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background .1s}.offers-table tbody tr:hover{background:var(--color-primary-bg)}.no-value{color:#ccc}.kp-number-badge{display:inline-block;font-weight:700;color:var(--color-primary-dark);font-size:.8rem;letter-spacing:.01em;white-space:nowrap;background:var(--color-primary-bg);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:.15rem .5rem}.offer-number-cell{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.offer-origin-badge{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:5.5rem;padding:.1rem .4rem;border-radius:99px;font-size:.68rem;font-weight:700;line-height:1.4;white-space:nowrap;cursor:help}.offer-origin-badge.origin-upload{background:#fef3c7;border:1px solid #fcd34d;color:#92400e}.offer-origin-badge.origin-calculation{background:#f3f4f6;border:1px solid #e5e7eb;color:#6b7280}.match-progress-wrap{display:flex;flex-direction:column;gap:.25rem;min-width:90px}.match-progress-bar{height:5px;background:#e5e7eb;border-radius:99px;overflow:hidden}.match-progress-fill{height:100%;background:var(--color-success);border-radius:99px;transition:width .3s ease}.match-progress-counts{display:flex;justify-content:space-between;align-items:center;gap:.25rem}.match-progress-pct{font-size:.75rem;font-weight:700;color:#374151;white-space:nowrap}.match-progress-nums{font-size:.75rem;color:#9ca3af;white-space:nowrap}.pricing-info{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.pricing-info .markup{background:var(--color-success);color:#fff;padding:.2rem .45rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.pricing-info .discount{background:#ff9800;color:#fff;padding:.2rem .45rem;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.action-buttons{display:flex;gap:.5rem;flex-wrap:nowrap;justify-content:center;align-items:center}.action-buttons button{white-space:nowrap}.btn-view{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-view:hover{background:var(--color-primary-dark)}.btn-delete{padding:.5rem 1rem;background:var(--color-danger);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;min-width:40px}.btn-delete:hover:not(:disabled){background:var(--color-danger-dark)}.btn-delete:disabled{background:#ccc;cursor:not-allowed}.user-email-cell{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;color:#555}.offers-info{padding:1rem;text-align:center;color:#666;font-size:.9rem;border-top:1px solid #e0e0e0;background:#f9f9f9}.lazy-load-trigger{height:20px;width:100%}.load-more-container{display:flex;justify-content:center;padding:1.5rem;border-top:1px solid #e0e0e0}.btn-load-more{padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s,transform .1s;box-shadow:var(--shadow-sm)}.btn-load-more:hover{background:var(--color-primary-dark);box-shadow:var(--shadow);transform:translateY(-1px)}.btn-load-more:active{transform:translateY(0)}.match-badge{display:inline-block;padding:.25rem .65rem;border-radius:12px;color:#fff;font-size:.65rem;font-weight:500;white-space:nowrap;text-align:center}.badge-exact{background:var(--color-success)}.badge-similar{background:var(--color-primary)}.badge-analog{background:#ff9800}.badge-manual{background:var(--color-danger)}.badge-pending{background:#9e9e9e}.position-row.editing{background:#fffde7!important}.edit-input{width:100%;padding:.5rem;border:2px solid var(--color-primary);border-radius:4px;font-size:.9rem;font-family:inherit;box-sizing:border-box}.edit-input:focus{outline:none;border-color:var(--color-primary-dark);box-shadow:0 0 0 3px #4a90e21f}.edit-input-price{max-width:120px}.action-buttons-cell{white-space:nowrap}.btn-edit,.btn-save-edit,.btn-cancel-edit{background:none;border:none;font-size:1.3rem;cursor:pointer;transition:all .2s;padding:.2rem;margin:0 .1rem;line-height:1}.btn-edit{color:var(--color-primary)}.btn-edit:hover{transform:scale(1.2);filter:brightness(.8)}.btn-save-edit{color:var(--color-success)}.btn-save-edit:hover:not(:disabled){transform:scale(1.2);filter:brightness(.8)}.btn-save-edit:disabled{opacity:.3;cursor:not-allowed}.btn-cancel-edit{color:var(--color-danger)}.btn-cancel-edit:hover:not(:disabled){transform:scale(1.2);filter:brightness(.8)}.btn-cancel-edit:disabled{opacity:.3;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:9999}.modal-content.offer-details-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:min(1800px,calc(100vw - 3rem));max-height:calc(100vh - 3rem);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:0rem;border-bottom:2px solid #e0e0e0}.modal-offer-title{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:700;color:#111827;font-size:1rem}.modal-offer-kp-badge{display:inline-block;background:var(--color-primary-bg);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:.1rem .5rem;font-size:.78rem;font-weight:700;color:var(--color-primary-dark);white-space:nowrap}.modal-offer-filename{font-weight:600;color:#1a1a1a;word-break:break-all}.modal-offer-meta{font-size:.85rem;color:#6b7280}.offer-mode-badge{display:inline-block;padding:1px 7px;border-radius:10px;background:var(--color-primary-bg, #eef2ff);color:var(--color-primary, #4f46e5);font-size:.78rem;font-weight:500;white-space:nowrap}.offer-details-modal .modal-body{display:flex;flex-direction:row;flex:1;overflow:hidden;min-height:0}.modal-sidebar{width:350px;flex-shrink:0;background:#f8f9fa;border-right:1px solid #e0e0e0;overflow-y:auto;display:flex;flex-direction:column}.modal-content-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.filters-section,.pricing-section,.download-section{padding:1rem;background:#fff;margin:.75rem;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.filters-section{margin-bottom:0}.pricing-section{margin-top:.5rem}.filters-section h4,.pricing-section h4,.download-section h4{margin:0 0 .75rem;color:#333;font-size:.875rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.pricing-controls{display:flex;flex-direction:column;gap:.75rem}.pricing-input-group{display:flex;flex-direction:column;gap:.35rem}.pricing-input-group label{font-size:.8rem;font-weight:600;color:#555}.pricing-input{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:16px;width:100%;transition:border-color .15s;min-height:44px}.pricing-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21a}.btn-apply-pricing{display:inline-flex;align-items:center;gap:.4rem;justify-content:center;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-apply-pricing:hover:not(:disabled){background:var(--color-primary-dark)}.btn-apply-pricing:disabled{background:#ccc;cursor:not-allowed}.pricing-summary{margin-top:.75rem;padding:.75rem;background:var(--color-primary-bg);border-radius:4px;border-left:3px solid var(--color-primary)}.pricing-summary span{color:#333;font-size:.85rem}.pricing-summary strong{color:var(--color-primary-dark);font-size:1rem}.filters-controls{display:flex;flex-direction:column;gap:.75rem}.filter-group{display:flex;flex-direction:column;gap:.35rem}.filter-group label{font-size:.8rem;font-weight:600;color:#555}.filter-select{min-height:36px}.filter-input{padding:.45rem;border:1px solid #ddd;border-radius:4px;font-size:16px;width:100%;transition:border-color .15s;min-height:44px}.filter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21a}.filter-checkbox{flex-direction:row;align-items:center}.filter-checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.filter-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.btn-clear-filters{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .75rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-clear-filters:hover{background:#e5e7eb}.download-buttons{display:flex;flex-direction:column;gap:.5rem}.btn-download{padding:.5rem 1rem;background:transparent;color:#666;border:1px solid #e0e0e0;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.btn-download:hover{background:#f5f5f5;border-color:#ccc}.btn-download-modal{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;justify-content:flex-start}.btn-download-modal .btn-icon-img{width:18px;height:18px}.btn-icon-img{width:20px;height:20px;object-fit:contain}.btn-download-modal span{font-size:.9rem;font-weight:600}.close-button{background:none;border:none;font-size:2rem;color:#666;cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;transition:color .15s}.close-button:hover{color:var(--color-danger)}.positions-list{overflow-y:auto;padding:0;flex:1 1 auto;min-height:0}.positions-table{width:100%;border-collapse:collapse;table-layout:fixed}.positions-table thead{position:sticky;top:0;background:#f5f5f5;z-index:10}.positions-table th{padding:.75rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;font-size:.9rem}.positions-table th:nth-child(1){width:2.5%}.positions-table th:nth-child(2){width:2.5%}.positions-table th:nth-child(3){width:17%}.positions-table th:nth-child(4){width:24%}.positions-table th:nth-child(5){width:5%}.positions-table th:nth-child(6){width:6%}.positions-table th:nth-child(7){width:14%}.positions-table th:nth-child(8){width:9%}.positions-table th:nth-child(9){width:9%}.positions-table th:nth-child(10){width:4%}.positions-table th:nth-child(11){width:7%}.positions-table th:nth-child(7),.positions-table td:nth-child(7){padding-left:.4rem;padding-right:.4rem}.positions-table .match-badge{padding:.25rem .45rem;font-size:.62rem}.positions-table.positions-table-upload th:nth-child(1){width:3%}.positions-table.positions-table-upload th:nth-child(2){width:23%}.positions-table.positions-table-upload th:nth-child(3){width:32%}.positions-table.positions-table-upload th:nth-child(4){width:6%}.positions-table.positions-table-upload th:nth-child(5){width:7%}.positions-table.positions-table-upload th:nth-child(6){width:9%}.positions-table.positions-table-upload th:nth-child(7){width:9%}.positions-table.positions-table-upload th:nth-child(8){width:4%}.positions-table.positions-table-upload th:nth-child(9){width:7%}.positions-table.positions-table-upload th:nth-child(7),.positions-table.positions-table-upload td:nth-child(7){padding-left:.75rem;padding-right:.75rem}.positions-table td{padding:.75rem;color:#555;font-size:.9rem;vertical-align:middle}.positions-table tbody tr{border-bottom:1px solid #e0e0e0}.position-row.match-exact_match{background:#4caf500d}.position-row.match-similar_match{background:#4a90e20d}.position-row.match-analog_match{background:#ff98000d}.position-row.match-requires_manual{background:#f443360d}.normalized-name-cell{font-size:.85rem;color:#333;overflow:hidden;cursor:pointer;transition:all .25s ease}.normalized-name-cell:hover{background:#f0f4f8}.normalized-name-cell.expanded{background:#f9f9f9;padding:.5rem;border-radius:4px}.normalized-name-primary{font-weight:600;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normalized-name-secondary{font-size:.8rem;color:#999;margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normalized-name-cell.expanded .normalized-name-primary,.normalized-name-cell.expanded .normalized-name-secondary{white-space:normal;word-wrap:break-word;overflow:visible;text-overflow:unset}.matched-product-name{font-weight:600;color:var(--color-primary);margin-bottom:.25rem}.no-match{font-weight:600;color:#999;font-style:italic}.match-explanation{font-size:.8rem;color:#666;font-style:italic;margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;transition:all .25s ease;max-width:100%}.match-explanation:hover{background:#f0f0f0}.match-explanation.expanded{white-space:normal;word-wrap:break-word;background:#f9f9f9;padding:.5rem;border-radius:4px}.no-results{text-align:center;padding:3rem 2rem;color:#999;font-size:1rem;font-style:italic}.photo-th{text-align:center}.photo-cell{text-align:center;padding:.4rem .5rem}.product-thumb{width:40px;height:40px;object-fit:contain;border-radius:4px;border:1px solid #e0e0e0;cursor:zoom-in;display:block;margin:0 auto;transition:border-color .15s}.product-thumb:hover{border-color:var(--color-primary)}.no-photo{color:#ccc;font-size:.85rem}.image-hover-popup{position:fixed;z-index:9999;pointer-events:none;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 32px #0000002e;padding:6px;max-width:220px;max-height:220px}.image-hover-popup img{display:block;max-width:208px;max-height:208px;object-fit:contain;border-radius:4px}.product-url-detail{text-align:center}.url-link{display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;text-decoration:none;color:var(--color-primary);transition:transform .15s;min-height:2.4rem}.url-link:hover{transform:scale(1.3)}.no-url{color:#ccc}@keyframes offers-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.offer-details-modal .spin{animation:offers-spin .9s linear infinite}.offer-upload-note{flex-shrink:0;display:flex;align-items:center;gap:.45rem;padding:.6rem .75rem;border-bottom:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:.82rem;line-height:1.35}.offer-upload-note svg{flex-shrink:0}.offer-upload-note span{min-width:0;overflow-wrap:anywhere}.rematch-toolbar{flex-shrink:0;display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border-bottom:1px solid #e5e7eb;background:#fafafa;flex-wrap:wrap}.rematch-toolbar-label{font-size:.8rem;font-weight:600;color:#6b7280;margin-right:.15rem}.rematch-toolbar-spacer{flex:1}.rematch-toolbar-count{font-size:.8rem;font-weight:700;color:var(--color-primary-dark);white-space:nowrap}.btn-quick-select{padding:.25rem .6rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:99px;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;min-height:unset;transition:background .15s,border-color .15s,color .15s}.btn-quick-select:hover:not(:disabled){background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary-dark)}.btn-quick-select:disabled{opacity:.5;cursor:not-allowed}.positions-table th.select-th,.positions-table td.select-cell{text-align:center;padding-left:.35rem;padding-right:.35rem}.position-select-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary);margin:0}.position-select-checkbox:disabled{cursor:not-allowed;opacity:.5}.position-row.position-selected{background:#4a90e221!important}.position-row.rematch-queued{background:#fff8e1!important}.position-row.rematch-changed{background:#4caf5029!important;box-shadow:inset 3px 0 0 var(--color-success)}.position-row.rematch-noresult{background:#f3f4f6!important;box-shadow:inset 3px 0 #9ca3af}.rematch-comment-row>.rematch-comment-cell{background:#4a90e212;padding:.35rem .75rem .6rem 3rem;border-bottom:1px solid #e0e0e0}.rematch-comment-input{width:100%;box-sizing:border-box;padding:.45rem .6rem;border:1px solid var(--color-primary);border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;line-height:1.35;color:#333;background:#fff;resize:vertical;min-height:3.2rem}.rematch-comment-input::placeholder{color:#9ca3af;font-size:.8rem}.rematch-comment-input:focus{outline:none;border-color:var(--color-primary-dark);box-shadow:0 0 0 3px #4a90e21f}.rematch-comment-sent{display:flex;align-items:center;gap:.35rem;font-size:.82rem;color:#6b7280;font-style:italic}.rematch-note-badge{display:inline-flex;align-items:center;gap:.25rem;margin-bottom:.3rem;padding:.05rem .4rem;border-radius:99px;background:#ede9fe;color:#6d28d9;border:1px solid #ddd6fe;font-size:.68rem;font-weight:700;white-space:nowrap;cursor:help}.duplicate-badge{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;margin-top:.3rem;padding:.05rem .4rem;border-radius:99px;background:#ecfeff;color:#0e7490;border:1px solid #a5f3fc;font-size:.68rem;font-weight:700;cursor:help}.duplicate-badge svg{flex-shrink:0}.duplicate-badge-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.normalized-name-cell.expanded .duplicate-badge{align-items:flex-start;border-radius:8px}.normalized-name-cell.expanded .duplicate-badge svg{margin-top:.15rem}.normalized-name-cell.expanded .duplicate-badge-text{white-space:normal}.rematch-row-status{display:flex;align-items:center;gap:.3rem;margin-top:.3rem;font-size:.78rem;color:#b45309;font-weight:600}.rematch-diff{display:flex;align-items:baseline;gap:.3rem;min-width:0;margin-top:.35rem;padding:.25rem .45rem;border-radius:4px;background:#ffffffbf;border:1px dashed #bbf7d0;font-size:.78rem;color:#9ca3af;cursor:help}.rematch-diff-label{flex-shrink:0}.rematch-diff-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rematch-diff-price{flex-shrink:0;white-space:nowrap}.rematch-diff-arrow{margin-left:auto;flex-shrink:0;color:var(--color-success);align-self:center}.rematch-noresult-note{margin-top:.35rem;padding:.3rem .45rem;border-radius:4px;background:#ffffffbf;border:1px dashed #d1d5db;font-size:.78rem;color:#6b7280}.rematch-noresult-why{display:block;margin-top:.15rem;font-style:italic;color:#9ca3af}.rematch-old-price{font-size:.78rem;color:#9ca3af}.rematch-bar{flex-shrink:0;border-top:2px solid #e0e0e0;background:#fff;box-shadow:0 -4px 12px #0000000f}.rematch-progress{padding:.6rem 1rem}.rematch-progress-head{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#374151}.rematch-progress-head strong{color:var(--color-primary-dark)}.rematch-progress-counts{color:#6b7280}.rematch-progress-pct{margin-left:auto;font-weight:700;color:var(--color-primary-dark)}.rematch-progress-track{margin-top:.4rem;height:6px;background:#e5e7eb;border-radius:99px;overflow:hidden}.rematch-progress-fill{height:100%;background:var(--color-primary);border-radius:99px;transition:width .3s ease}.rematch-progress-step{margin-top:.3rem;font-size:.78rem;color:#6b7280}.rematch-progress-changed{color:var(--color-success);font-weight:600}.rematch-summary{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#4caf501f;border-bottom:1px solid #e5e7eb;color:#166534;font-size:.85rem;font-weight:600}.rematch-summary-failed{background:#f443361a;color:var(--color-danger-dark, #b91c1c)}.rematch-summary-close{margin-left:auto;background:none;border:none;color:inherit;opacity:.6;cursor:pointer;display:flex;align-items:center;padding:.15rem;min-height:unset}.rematch-summary-close:hover{opacity:1}.rematch-send{display:flex;flex-direction:column;gap:.5rem;padding:.6rem 1rem}.rematch-send-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rematch-send-info{display:flex;flex-direction:column;line-height:1.25;white-space:nowrap}.rematch-send-info strong{font-size:.9rem;color:#111827}.rematch-send-sub{font-size:.75rem;color:#6b7280}.rematch-send-duplicates{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;color:#0e7490;cursor:help}.rematch-send-mode{display:flex;align-items:center;gap:.45rem}.rematch-send-mode label{font-size:.8rem;font-weight:600;color:#555;white-space:nowrap}.rematch-mode-select{min-width:170px;min-height:36px}.rematch-send-hint{display:inline-flex;color:#9ca3af;cursor:help}.rematch-send-warning{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-sm);padding:.25rem .5rem}.rematch-send-warning-error{color:var(--color-danger-dark, #b91c1c);background:#fef2f2;border-color:#fecaca}.rematch-send-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.btn-rematch-send{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-rematch-send:hover:not(:disabled){background:var(--color-primary-dark)}.btn-rematch-send:disabled{background:#ccc;cursor:not-allowed}.btn-rematch-clear{padding:.55rem .9rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s}.btn-rematch-clear:hover:not(:disabled){background:#e5e7eb}.btn-rematch-clear:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.offers-table{font-size:.85rem}.offers-table th,.offers-table td{padding:.75rem .5rem}.offer-details-modal .modal-body{flex-direction:column}.modal-sidebar{width:100%;max-height:250px;border-right:none;border-bottom:1px solid #e0e0e0}.modal-content-area{flex:1}.offers-page{padding:0}.offers-list{border-radius:0;padding:.75rem;overflow-x:auto}.offers-table{min-width:800px;font-size:.8rem}.offers-table th,.offers-table td{padding:.6rem .4rem}.action-buttons{flex-direction:column;gap:.35rem;min-width:80px}.modal-overlay{padding:0}.modal-content.offer-details-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0}.modal-header{padding:1rem;position:sticky;top:0;background:#fff;z-index:100}.modal-sidebar{max-height:200px}.filters-section,.pricing-section{margin:.5rem;padding:.75rem}.positions-list{padding:0 .75rem .75rem}.positions-table{min-width:960px;font-size:.8rem}.rematch-comment-row>.rematch-comment-cell{padding-left:1rem}.positions-table th,.positions-table td{padding:.5rem .35rem}.match-badge{font-size:.7rem;padding:.2rem .45rem}.offers-search-wrap{max-width:100%}}@media(max-width:1024px){.modal-sidebar{width:280px}}.mjob-page{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.mjob-header{flex-shrink:0;padding:1.5rem 2rem 0}.mjob-header .page-header{margin-bottom:1rem}.mjob-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-bottom:1rem;border-bottom:1px solid #e5e7eb}.mjob-filter-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;background:transparent;border:1.5px solid #e5e7eb;border-radius:20px;font-size:.83rem;font-weight:500;color:#6b7280;cursor:pointer;transition:border-color .15s,background .15s,color .15s;white-space:nowrap}.mjob-filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-bg)}.mjob-filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.mjob-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:9px;font-size:.7rem;font-weight:700;background:#0000001a;line-height:1}.mjob-filter-btn.active .mjob-filter-count{background:#ffffff4d}.mjob-clear-btn{margin-left:auto;padding:.35rem .85rem;background:transparent;border:1.5px solid #fca5a5;border-radius:20px;color:#dc2626;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.mjob-clear-btn:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.mjob-clear-btn:disabled{opacity:.45;cursor:not-allowed}.mjob-content{flex:1;overflow-y:auto;padding:1.25rem 2rem 2rem}.mjob-list{display:flex;flex-direction:column;gap:.4rem}.mjob-card{background:#fff;border-radius:var(--radius-lg);border:1px solid #e5e7eb;border-left:3px solid #e5e7eb;overflow:hidden;transition:box-shadow .15s}.mjob-card:hover{box-shadow:var(--shadow)}.mjob-card--pending,.mjob-card--processing{border-left-color:var(--color-primary)}.mjob-card--completed{border-left-color:#16a34a}.mjob-card--failed{border-left-color:#dc2626}.mjob-card--cancelled{border-left-color:#d1d5db;opacity:.75}.mjob-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.mjob-card-header:hover{background:#fafafa}.mjob-card-left{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0}.mjob-expand-icon{display:inline-flex;align-items:center;color:#d1d5db;flex-shrink:0;transition:color .15s}.mjob-card-header:hover .mjob-expand-icon{color:#9ca3af}.mjob-type-badge{flex-shrink:0;padding:1px 7px;border-radius:10px;font-size:.68rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.mjob-type-import{background:var(--color-primary-bg);color:var(--color-primary)}.mjob-type-alternative{background:#f0fdfa;color:#0f766e}.mjob-kp-badge{flex-shrink:0;padding:1px 7px;border-radius:10px;font-size:.68rem;font-weight:700;background:#f0fdf4;color:#15803d;white-space:nowrap}.mjob-filename{font-size:.88rem;font-weight:500;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.mjob-card-right{display:flex;align-items:center;gap:.65rem;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.mjob-user,.mjob-time{font-size:.76rem;color:#9ca3af;white-space:nowrap}.mjob-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;white-space:nowrap}.mjob-badge--pending{background:#fff7ed;color:#c2410c}.mjob-badge--processing{background:#eff6ff;color:#1d4ed8}.mjob-badge--completed{background:#f0fdf4;color:#15803d}.mjob-badge--failed{background:#fef2f2;color:#dc2626}.mjob-badge--cancelled{background:#f9fafb;color:#6b7280}.mjob-cancel-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;background:transparent;border:1px solid #fca5a5;border-radius:var(--radius-sm);color:#dc2626;cursor:pointer;line-height:1;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.mjob-cancel-btn:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.mjob-cancel-btn:disabled{opacity:.45;cursor:not-allowed}.mjob-progress{padding:0 1rem .7rem}.mjob-progress-track{height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.mjob-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .4s ease-in-out}.mjob-progress-meta{display:flex;justify-content:space-between;align-items:center;margin-top:.3rem}.mjob-step{font-size:.73rem;color:#6b7280;font-style:italic}.mjob-pct{font-size:.7rem;font-weight:600;color:var(--color-primary)}.mjob-details{padding:.65rem 1rem;background:#fafafa;border-top:1px solid #f3f4f6;display:grid;gap:.35rem}.mjob-detail-row{display:flex;gap:.75rem;font-size:.8rem}.mjob-detail-label{color:#9ca3af;min-width:95px;flex-shrink:0}.mjob-detail-value{color:#374151;font-weight:500}.mjob-detail-error{color:#dc2626}.mjob-spin{display:inline-flex;align-items:center;animation:mjob-spin 1s linear infinite}@keyframes mjob-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mjob-load-more-row{display:flex;justify-content:center;padding:1rem 0}@media(max-width:768px){.mjob-header{padding:.75rem 1rem 0}.mjob-content{padding:1rem}.mjob-card-header{flex-wrap:wrap}.mjob-card-right{gap:.4rem}.mjob-user,.mjob-time{font-size:.72rem}}.sources-page{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#f6f7f9}.sources-page .page-header{padding:1.5rem 2rem 0;flex-shrink:0;margin-bottom:1rem;align-items:center!important}.sources-toolbar{flex-shrink:0;min-width:0;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sources-toolbar .page-tabs{margin-bottom:0;max-width:100%;overflow-x:auto;scrollbar-width:none}.sources-toolbar .page-tabs::-webkit-scrollbar{display:none}.sources-toolbar .page-tab-btn{min-width:0;padding:.45rem .85rem;flex-shrink:0}.sources-toolbar .page-tab-btn svg{flex-shrink:0}.sources-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sources-search{position:relative;display:flex;align-items:center;width:270px}.sources-search-icon{position:absolute;left:.7rem;color:#9ca3af;pointer-events:none}.sources-search .sources-search-input{width:100%;height:38px;min-height:38px;padding:0 2.2rem 0 2.15rem;border:1px solid #dfe3e8;border-radius:var(--radius);background:#fff;font-size:.875rem;font-family:inherit;color:#1f2937;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.sources-search .sources-search-input::placeholder{color:#9ca3af}.sources-search .sources-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.sources-search-clear{position:absolute;right:.4rem;min-height:0;display:flex;align-items:center;justify-content:center;padding:.2rem;border:none;border-radius:4px;background:none;color:#9ca3af;cursor:pointer;transition:color .15s,background .15s}.sources-search-clear:hover{background:#f3f4f6;color:var(--color-danger)}.sources-search-kbd{position:absolute;right:.5rem;min-width:18px;padding:1px 5px;border:1px solid #e5e7eb;border-bottom-width:2px;border-radius:4px;background:#f9fafb;color:#9ca3af;font-family:inherit;font-size:.7rem;font-weight:600;line-height:1.4;text-align:center;pointer-events:none}.sources-filter-select{width:165px}.sources-filter-select .csel-trigger{height:38px;min-height:38px;padding:0 .6rem 0 .75rem;border-width:1px;font-size:.85rem}.sources-filter-select--sort{width:185px}.sources-view-toggle{display:flex;gap:2px;padding:3px;border-radius:9px;background:#e9eaee}.sources-view-toggle button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:#6b7280;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.sources-view-toggle button:hover{color:#374151}.sources-view-toggle button.active{background:#fff;color:#111827;box-shadow:0 1px 3px #0000001f}.sources-meta{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 2rem .75rem;font-size:.82rem;color:#6b7280}.sources-meta-stats{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.sources-meta-stats b{color:#111827;font-weight:700}.sub-dot{color:#cbd5e1}.sources-reset{display:inline-flex;align-items:center;gap:.3rem;min-height:0;padding:.25rem .6rem;border:1px solid #e5e7eb;border-radius:999px;background:#fff;color:#6b7280;font-family:inherit;font-size:.78rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.sources-reset:hover{color:var(--color-danger);border-color:#fecaca}.sources-banner{flex-shrink:0;display:flex;align-items:center;gap:.65rem;margin:0 2rem .85rem;padding:.6rem .75rem;border-radius:var(--radius);border:1px solid transparent;font-size:.875rem;animation:sources-banner-in .16s ease}@keyframes sources-banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sources-banner--success{background:var(--color-success-bg);border-color:#bbf7d0;color:#15803d}.sources-banner--error{background:var(--color-danger-bg);border-color:#fecaca;color:#b91c1c}.sources-banner-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffffb3;flex-shrink:0}.sources-banner-text{flex:1;min-width:0}.sources-banner-close{display:inline-flex;align-items:center;min-height:0;padding:.2rem;border:none;border-radius:4px;background:none;color:inherit;opacity:.6;cursor:pointer;flex-shrink:0;transition:opacity .15s}.sources-banner-close:hover{opacity:1}.sources-banner .sources-banner-action{height:30px;min-height:30px;padding:0 .7rem;font-size:.8rem;flex-shrink:0}.sources-header-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sources-container{flex:1;overflow-y:auto;padding:0 2rem 2rem}.sources-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:38px;min-height:38px;padding:0 .95rem;border:1px solid transparent;border-radius:var(--radius);font-family:inherit;font-size:.875rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.sources-btn:disabled{opacity:.5;cursor:not-allowed}.sources-btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sources-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:0 2px 8px #4a90e24d}.sources-btn-secondary{background:#fff;border-color:#d8dce1;color:#374151}.sources-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#b9c0c8}.sources-btn-soft{background:#f2f4f7;border-color:transparent;color:#374151}.sources-btn-soft:hover:not(:disabled){background:#e6e9ee;color:#111827}.sources-menu{position:fixed;z-index:1200;display:flex;flex-direction:column;overflow-y:auto;padding:4px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;box-shadow:0 10px 28px #0f172a24,0 2px 6px #0f172a0f;animation:sources-menu-in .12s ease}@keyframes sources-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sources-menu-title{padding:.4rem .6rem .3rem;color:#9ca3af;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.sources-menu-item{display:flex;align-items:center;gap:.55rem;width:100%;min-height:0;padding:.5rem .6rem;border:none;border-radius:7px;background:transparent;color:#374151;font-family:inherit;font-size:.85rem;font-weight:500;text-align:left;text-decoration:none;cursor:pointer;transition:background .12s,color .12s}.sources-menu-item-text{flex:1;min-width:0}.sources-menu-item:hover:not(:disabled){background:#f3f4f6;color:#111827}.sources-menu-item:disabled{opacity:.45;cursor:not-allowed}.sources-menu-item--active{background:var(--color-primary-bg);color:var(--color-primary-dark)}.sources-menu-item--danger{color:#dc2626}.sources-menu-item--danger:hover:not(:disabled){background:var(--color-danger-bg);color:#b91c1c}.sources-menu-check{color:var(--color-primary);flex-shrink:0}.sources-menu-sep{height:1px;margin:4px 2px;background:#eceef1}.priority-chip,.priority-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;padding:0;border-radius:7px;border:1px solid transparent;font-family:inherit;font-size:.75rem;font-weight:800;line-height:1;flex-shrink:0}.priority-chip{cursor:pointer;transition:transform .15s,box-shadow .15s}.priority-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.priority-chip:focus-visible{outline:2px solid rgba(74,144,226,.6);outline-offset:1px}.priority-chip--a,.priority-dot--a{background:#fef3c7;border-color:#fcd34d;color:#92400e}.priority-chip--b,.priority-dot--b{background:#eef2f7;border-color:#cbd5e1;color:#475569}.priority-chip--c,.priority-dot--c{background:#fdeee2;border-color:#e8c3a3;color:#9a5b26}.sources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1rem}@media(max-width:1400px){.sources-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}}@media(max-width:768px){.sources-grid{grid-template-columns:1fr}}.source-card{display:flex;flex-direction:column;padding:.95rem 1rem .85rem;border:1px solid #e8eaee;border-radius:14px;background:#fff;box-shadow:0 1px 2px #1018280a;transition:box-shadow .18s,border-color .18s,transform .18s}.source-card:hover{border-color:#d7dce3;box-shadow:0 6px 20px #10182817;transform:translateY(-2px)}.source-card--off{background:#fbfbfc;border-style:dashed}.source-card--off .source-avatar,.source-card--off .source-stats{opacity:.62}.source-card-top{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.source-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;flex-shrink:0}.source-avatar--sm{width:26px;height:26px;border-radius:8px}.source-avatar--website{background:#eef4ff;color:#3b6fd4}.source-avatar--pricelist{background:#ecfdf3;color:#15803d}.source-avatar--offer{background:#fdf2f8;color:#be185d}.source-avatar--gsheet{background:#e6f6f4;color:#0f766e}.source-card-title{flex:1;min-width:0}.source-name-row{display:flex;align-items:center;gap:.3rem;min-width:0}.source-name-row h3{margin:0;color:#101828;font-size:.95rem;font-weight:700;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.source-name-edit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-height:22px;padding:0;border:none;border-radius:5px;background:transparent;color:#9ca3af;cursor:pointer;opacity:0;flex-shrink:0;transition:opacity .15s,background .15s,color .15s}.source-card:hover .source-name-edit,.sources-table tr:hover .source-name-edit,.source-name-edit:focus-visible{opacity:1}@media(hover:none){.source-name-edit{opacity:1}}.source-name-edit:hover{background:var(--color-primary-bg);color:var(--color-primary)}.source-card-sub{display:flex;align-items:center;gap:.35rem;margin-top:.15rem;color:#98a2b3;font-size:.78rem;min-width:0}.source-card-sub a{display:inline-flex;align-items:center;gap:.2rem;color:#98a2b3;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-card-sub a:hover{color:var(--color-primary);text-decoration:underline}.source-card-tools{display:flex;align-items:center;gap:.2rem;flex-shrink:0}.source-menu-trigger{width:26px;height:26px;min-height:26px}.source-rename{display:flex;align-items:center;gap:.25rem;min-width:0}.source-rename-input{flex:1;min-width:0;height:32px;min-height:32px;padding:0 .5rem;border:1.5px solid var(--color-primary);border-radius:6px;background:#fff;font-family:inherit;font-size:.9rem;font-weight:600;color:#101828;outline:none;box-shadow:0 0 0 3px #4a90e21f}.source-rename-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;min-height:26px;padding:0;border:none;border-radius:6px;background:#f3f4f6;color:#6b7280;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.source-rename-btn:hover:not(:disabled){background:#e5e7eb;color:#374151}.source-rename-btn--ok{background:var(--color-success-bg);color:#15803d}.source-rename-btn--ok:hover:not(:disabled){background:#dcfce7;color:#166534}.source-rename-btn:disabled{opacity:.5;cursor:not-allowed}.source-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin:.85rem 0 .75rem;padding:.6rem .25rem;border-radius:10px;background:#f8f9fb}.source-stat{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;padding:0 .35rem;border:none;border-right:1px solid #eceef2;background:transparent;font-family:inherit;text-align:center}.source-stat:last-child{border-right:none}.source-stat--action{min-height:0;border-radius:7px;cursor:pointer;transition:background .15s}.source-stat--action:hover{background:#eef1f6}.source-stat-value{color:#101828;font-size:.95rem;font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-stat-value--muted{color:#b0b7c3}.source-stat-value--time{font-size:.82rem;font-weight:600;color:#475467}.source-stat-label{color:#98a2b3;font-size:.7rem;font-weight:500;letter-spacing:.01em}.pricing-tone--markup{color:#c2410c}.pricing-tone--discount{color:#15803d}.pricing-tone--neutral{color:#98a2b3;font-size:.82rem;font-weight:600}.source-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto}.source-card-actions .sources-btn{height:34px;min-height:34px;font-size:.82rem}.source-switch-wrap{display:inline-flex;align-items:center;gap:.45rem;flex-shrink:0}.source-switch-label{color:#98a2b3;font-size:.76rem;font-weight:600}.source-switch-label--on{color:#15803d}.source-toggle{position:relative;width:38px;height:21px;min-width:38px;min-height:21px;max-height:21px;padding:0;border:none;border-radius:11px;background:#d1d5db;cursor:pointer;overflow:hidden;flex-shrink:0;transition:background .22s}.source-toggle--on{background:var(--color-success)}.source-toggle-thumb{display:block;position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:left .22s}.source-toggle--on .source-toggle-thumb{left:20px}.source-toggle:focus-visible{outline:2px solid rgba(74,144,226,.6);outline-offset:2px}.sources-container--table{overflow:hidden;padding-bottom:1.5rem}.sources-table-wrap{height:100%;border:1px solid #e8eaee;border-radius:14px;background:#fff;box-shadow:0 1px 2px #1018280a;overflow:auto}.sources-table{width:100%;border-collapse:collapse;font-size:.86rem}.sources-table th,.sources-table td{white-space:nowrap}.sources-table thead th{position:sticky;top:0;z-index:2;padding:.6rem .7rem;border-bottom:1px solid #eceef2;background:#fafbfc;color:#667085;font-size:.73rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;text-align:left;white-space:nowrap}.sources-table tbody td{padding:.5rem .7rem;border-bottom:1px solid #f2f4f7;vertical-align:middle}.sources-table tbody tr:last-child td{border-bottom:none}.sources-table tbody tr{transition:background .12s}.sources-table tbody tr:hover{background:#fafbfc}.source-row--off td{opacity:.58}.source-row--off .row-actions,.source-row--off .col-priority{opacity:1}.sources-table th.col-name{width:30%;min-width:190px}.sources-table td.col-name{width:30%;max-width:0}.sources-table .col-count{text-align:right}.row-name{display:flex;align-items:center;gap:.45rem;min-width:0}.row-name .source-rename{flex:1;min-width:240px}.row-name-text{color:#101828;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row-name-link{display:inline-flex;align-items:center;color:#b0b7c3;flex-shrink:0}.row-name-link:hover{color:var(--color-primary)}.row-type{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:#f2f4f7;color:#475467;font-size:.75rem;font-weight:600;white-space:nowrap}.row-count{display:block;color:#101828;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.row-count--muted{color:#b0b7c3;font-weight:500}.row-pricing{min-height:0;padding:.2rem .55rem;border:1px solid transparent;border-radius:999px;background:#f8f9fb;font-family:inherit;font-size:.78rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:border-color .15s,background .15s}.row-pricing:hover{background:#fff;border-color:#d8dce1}.row-indexed{color:#667085;font-size:.8rem;white-space:nowrap}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:.3rem}.sources-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:3.5rem 2rem;border:1px dashed #dfe3e8;border-radius:14px;background:#fff;text-align:center}.sources-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:.5rem;border-radius:14px;background:#f2f4f7;color:#98a2b3}.sources-empty-title{margin:0;color:#101828;font-size:1rem;font-weight:700}.sources-empty-hint{margin:0 0 .75rem;color:#98a2b3;font-size:.875rem}.pricing-slider-container{display:flex;flex-direction:column;gap:.6rem}.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;font-weight:600}.slider-label-discount{color:#15803d}.slider-label-center{color:#9ca3af}.slider-label-markup{color:#c2410c}.pricing-slider{width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,#22c55e,#e5e7eb,#f97316);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.pricing-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:0 2px 6px #0003;transition:transform .15s}.pricing-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.pricing-slider::-moz-range-thumb{width:18px;height:18px;border:none;border-radius:50%;background:var(--color-primary);cursor:pointer;box-shadow:0 2px 6px #0003}.pricing-slider:disabled{opacity:.55;cursor:not-allowed}.slider-value{padding:.4rem;border:1px solid #eceef2;border-radius:var(--radius-sm);background:#fff;font-size:.9rem;font-weight:700;text-align:center;cursor:pointer;transition:border-color .15s}.slider-value:hover{border-color:var(--color-primary)}.value-markup{color:#c2410c}.value-discount{color:#15803d}.value-neutral{color:#6b7280}.pricing-manual-wrap{display:flex;align-items:center;justify-content:center;gap:.35rem}.pricing-slider-container .pricing-manual-input{width:80px;min-height:0;padding:.25rem .4rem;border:2px solid var(--color-primary);border-radius:var(--radius-sm);font-family:inherit;font-size:.95rem;text-align:center;outline:none}.modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#00000080}.modal-content{width:100%;max-width:560px;max-height:calc(100vh - 3rem);padding:1.5rem;border-radius:var(--radius-lg);background:#fff;box-shadow:0 8px 32px #0003;overflow-y:auto}.modal-content h3{margin:0 0 1rem;color:#1e293b;font-size:1.125rem}.sources-modal{padding:1.25rem 1.35rem 1.35rem;border-radius:16px;box-shadow:0 24px 60px #1018283d;animation:sources-modal-in .16s ease}@keyframes sources-modal-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.sources-modal--sm{max-width:440px}.sources-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.sources-modal-head h3{margin:0;color:#101828;font-size:1.05rem;font-weight:700}.sources-modal-sub{margin:.2rem 0 0;color:#98a2b3;font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.sources-modal-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;border:none;border-radius:8px;background:transparent;color:#98a2b3;cursor:pointer;flex-shrink:0;transition:background .15s,color .15s}.sources-modal-close:hover:not(:disabled){background:#f3f4f6;color:#374151}.upload-form{display:flex;flex-direction:column;gap:.85rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-group label{color:#344054;font-size:.82rem;font-weight:600}.form-group input[type=text]{min-height:0;padding:.55rem .7rem;border:1px solid #d8dce1;border-radius:var(--radius);font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-group input[type=text]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:1.25rem 1rem;border:1.5px dashed #d8dce1;border-radius:12px;background:#fafbfc;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.file-drop:hover:not(.file-drop--disabled),.file-drop:focus-visible{border-color:var(--color-primary);background:var(--color-primary-bg);outline:none}.file-drop--over{border-color:var(--color-primary);background:var(--color-primary-bg)}.file-drop--filled{border-style:solid;border-color:#bbf7d0;background:var(--color-success-bg)}.file-drop--disabled{opacity:.6;cursor:not-allowed}.file-drop-icon{color:#98a2b3}.file-drop-icon--ok{color:#15803d}.file-drop-name{max-width:100%;color:#344054;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-drop-name b{color:var(--color-primary)}.file-drop-hint{color:#98a2b3;font-size:.76rem}.upload-price-modifier{padding:.8rem;border:1px solid #eceef2;border-radius:12px;background:#fafbfc}.upload-price-modifier-title{margin:0 0 .6rem;color:#344054;font-size:.82rem;font-weight:700}.form-info{padding:.7rem .85rem;border-radius:10px;border-left:3px solid var(--color-primary);background:var(--color-primary-bg)}.form-info p{margin:0 0 .3rem;color:var(--color-primary-dark);font-size:.82rem}.form-info ul{margin:.25rem 0 0;padding-left:1.15rem;color:#374151}.form-info li{margin:.1rem 0;font-size:.78rem;line-height:1.45}.form-info-hint{margin:0;color:#98a2b3;font-size:.78rem;line-height:1.5}.form-info .form-info-hint{margin-top:.35rem;color:#7b8794}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.25rem}.gsheet-modal{max-width:620px}.gsheet-url-row{display:flex;gap:.5rem}.gsheet-url-row input[type=text]{flex:1;min-width:0}.gsheet-error{display:flex;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;border:1px solid #fecaca;border-radius:10px;background:var(--color-danger-bg);color:#b91c1c;font-size:.84rem;line-height:1.45}.gsheet-error svg{flex-shrink:0;margin-top:1px}.gsheet-loading{display:flex;align-items:center;gap:.5rem;padding:.85rem;border-radius:10px;background:#fafbfc;color:#667085;font-size:.84rem}.gsheet-tabs{display:flex;flex-direction:column;max-height:290px;overflow-y:auto;border:1px solid #eceef2;border-radius:12px}.gsheet-tabs .gsheet-tab{display:flex;align-items:flex-start;gap:.6rem;padding:.6rem .75rem;border-bottom:1px solid #f0f2f5;color:#344054;font-size:.875rem;font-weight:400;cursor:pointer;transition:background .12s}.gsheet-tabs .gsheet-tab:last-child{border-bottom:none}.gsheet-tabs .gsheet-tab:hover{background:#fafbfc}.gsheet-tabs .gsheet-tab--on{background:var(--color-primary-bg)}.gsheet-tabs .gsheet-tab--on:hover{background:#e6f0fd}.gsheet-tabs .gsheet-tab--bad{cursor:default}.gsheet-tab input[type=checkbox]{width:16px;height:16px;margin:2px 0 0;flex-shrink:0;accent-color:var(--color-primary);cursor:inherit}.gsheet-tab-body{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.gsheet-tab-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;min-width:0}.gsheet-tab-name{font-weight:600;color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gsheet-tab--bad .gsheet-tab-name{color:#98a2b3}.gsheet-tab-count{color:#475467;font-size:.8rem;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.gsheet-tab-meta{color:#98a2b3;font-size:.76rem;line-height:1.4}.gsheet-tab--bad .gsheet-tab-meta{color:#b54708}.spin{display:inline-flex;align-items:center;animation:sources-spin .9s linear infinite}@keyframes sources-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1200px){.sources-toolbar{align-items:flex-start;flex-direction:column}.sources-controls{width:100%}.sources-search{flex:1;min-width:200px}}@media(max-width:900px){.sources-page .page-header{padding:1rem 1rem 0}.sources-toolbar{padding:0 1rem}.sources-meta{padding:.75rem 1rem .65rem}.sources-banner{margin:0 1rem .75rem}.sources-container{padding:0 1rem 1.5rem}}@media(max-width:768px){.sources-page .page-header{flex-direction:column;align-items:flex-start!important}.sources-grid,.sources-meta,.source-card{min-width:0}.source-name-row h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal}.sources-filter-select,.sources-filter-select--sort{width:calc(50% - .25rem)}.sources-search{width:100%;flex-basis:100%}.modal-content{padding:1rem}.modal-actions{flex-direction:column-reverse}.modal-actions .sources-btn,.sources-header-actions{width:100%}.sources-header-actions .sources-btn{flex:1}.sources-banner{flex-wrap:wrap}}.debug-search-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.debug-search-page .page-header{padding:1.5rem 2rem 1rem;flex-shrink:0}.debug-search-page .page-header p{margin:.25rem 0 0;font-size:.875rem;color:#6b7280}.ds-form-wrap{background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 8px #0000000f;flex-shrink:0}.ds-form{padding:1rem 2rem;display:flex;flex-direction:column;gap:.75rem}.ds-form-row{display:flex;align-items:flex-end;gap:1rem}.ds-field{flex:1;display:flex;flex-direction:column;gap:.35rem}.ds-field--narrow{flex:0 1 230px;min-width:180px}.ds-field label{font-size:.82rem;font-weight:600;color:#374151}.ds-optional{font-weight:400;color:#9ca3af;margin-left:.35rem}.ds-input,.ds-textarea{width:100%;padding:.6rem .85rem;border:1.5px solid #d1d5db;border-radius:8px;font-size:.9rem;font-family:inherit;color:#1a1a1a;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;height:40px}.ds-textarea{height:40px;resize:none;line-height:1.4}.ds-input:focus,.ds-textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ds-btn-search{display:inline-flex;align-items:center;gap:.4rem;padding:0 1.5rem;height:40px;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s}.ds-btn-search:hover:not(:disabled){background:#1d4ed8}.ds-btn-search:disabled{background:#9ca3af;cursor:not-allowed}.ds-btn-compare{display:inline-flex;align-items:center;gap:.4rem;padding:0 1.25rem;height:40px;background:#fff;color:#4338ca;border:1.5px solid #c7d2fe;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s}.ds-btn-compare:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc}.ds-btn-compare:disabled{color:#9ca3af;border-color:#e5e7eb;background:#f9fafb;cursor:not-allowed}.ds-hint{display:flex;align-items:flex-start;gap:.45rem;font-size:.78rem;line-height:1.5;color:#6b7280;background:#f8fafc;border:1px solid #e9ecef;border-radius:8px;padding:.55rem .75rem}.ds-hint svg{flex-shrink:0;margin-top:.15rem;color:#6366f1}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-spin{animation:ds-spin .8s linear infinite}.ds-results-wrap{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 2rem 2rem;display:flex;flex-direction:column;gap:1rem}.ds-status{display:flex;align-items:center;gap:.75rem}.ds-status-badge{display:inline-flex;align-items:center;padding:.3rem .75rem;border-radius:999px;font-size:.82rem;font-weight:700;color:#fff}.ds-status-count{font-size:.875rem;color:#6b7280}.ds-status-mode{font-size:.82rem;font-weight:600;color:#4338ca;background:#eef2ff;border-radius:999px;padding:.25rem .7rem}.ds-selected{background:#fff;border:1.5px solid #bbf7d0;border-radius:12px;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 2px 8px #16a34a14}.ds-selected-header{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:700;color:#16a34a;text-transform:uppercase;letter-spacing:.04em}.ds-selected-icon{color:#16a34a}.ds-selected-name{font-size:1.05rem;font-weight:700;color:#1e293b;line-height:1.4}.ds-selected-desc{font-size:.875rem;color:#6b7280;line-height:1.5}.ds-selected-explanation{font-size:.875rem;color:#374151;background:#f0fdf4;border-radius:6px;padding:.6rem .85rem;line-height:1.5}.ds-selected-footer{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-top:.25rem}.ds-selected-price{font-size:1rem;font-weight:700;color:#16a34a}.ds-selected-source{font-size:.875rem;color:#6b7280}.ds-selected-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.875rem;font-weight:600;color:#2563eb;text-decoration:none;margin-left:auto}.ds-selected-link:hover{text-decoration:underline}.ds-not-found{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2rem;background:#fef2f2;border:1.5px solid #fecaca;border-radius:12px;color:#dc2626;text-align:center}.ds-not-found p{margin:0;font-size:1rem;font-weight:700}.ds-not-found span{font-size:.875rem;color:#9ca3af}.ds-section{background:#fff;border:1px solid #e9ecef;border-radius:12px}.ds-section-summary{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;font-size:.875rem;font-weight:600;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.ds-section-summary::-webkit-details-marker{display:none}.ds-section-summary:after{content:"›";margin-left:auto;font-size:1.1rem;color:#9ca3af;transform:rotate(90deg);transition:transform .15s;display:inline-block}.ds-section[open]>.ds-section-summary:after{transform:rotate(270deg)}.ds-section[open]>.ds-section-summary{border-bottom:1px solid #f3f4f6}.ds-candidates-grid{padding:1rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.85rem}.ds-candidate{background:#fafafa;border:1.5px solid #e5e7eb;border-radius:10px;padding:1rem;position:relative;display:flex;flex-direction:column;gap:.4rem}.ds-candidate--selected{background:#fffbeb;border-color:#fbbf24;box-shadow:0 0 0 3px #fbbf2426}.ds-candidate-rank{position:absolute;top:.65rem;right:.65rem;background:#6b7280;color:#fff;font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px}.ds-candidate--selected .ds-candidate-rank{background:#d97706}.ds-candidate-name{font-size:.9rem;font-weight:600;color:#1e293b;padding-right:2.5rem;line-height:1.4}.ds-candidate-desc{font-size:.8rem;color:#6b7280;line-height:1.4}.ds-candidate-meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.8rem;margin-top:.2rem}.ds-candidate-price{font-weight:700;color:#16a34a}.ds-candidate-source{color:#6b7280}.ds-candidate-score{color:#d97706;font-weight:600;display:flex;align-items:center;gap:.2rem}.ds-candidate-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;color:#2563eb;text-decoration:none;margin-top:.2rem;width:fit-content}.ds-candidate-link:hover{text-decoration:underline}.ds-tech{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.ds-tech-row{display:flex;align-items:center;gap:1rem}.ds-tech-row--col{flex-direction:column;align-items:flex-start;gap:.4rem}.ds-tech-label{font-size:.82rem;font-weight:600;color:#6b7280;min-width:140px;flex-shrink:0}.ds-tech-value{font-size:.875rem;color:#1e293b;font-weight:600}.ds-keywords{display:flex;flex-wrap:wrap;gap:.4rem}.ds-keyword{background:#eff6ff;color:#2563eb;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:600}.ds-tsquery{display:block;background:#f8f8f8;border:1px solid #e5e7eb;border-radius:6px;padding:.65rem .85rem;font-family:Courier New,monospace;font-size:.82rem;color:#dc2626;overflow-x:auto;width:100%;box-sizing:border-box}.ds-cmp-progress{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;background:#fff;border:1.5px solid #c7d2fe;border-radius:12px;padding:1rem 1.25rem;color:#4338ca}.ds-cmp-progress-text{display:flex;flex-direction:column;gap:.15rem}.ds-cmp-progress-text strong{font-size:.9rem;color:#312e81}.ds-cmp-progress-text span{font-size:.8rem;color:#6b7280}.ds-cmp-progress-bar{flex:1;min-width:140px;height:4px;background:#eef2ff;border-radius:999px;overflow:hidden}.ds-cmp-progress-bar span{display:block;width:35%;height:100%;background:#6366f1;border-radius:999px;animation:ds-cmp-slide 1.4s ease-in-out infinite}@keyframes ds-cmp-slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.ds-cmp-summary{background:#fff;border:1.5px solid #e9ecef;border-radius:12px;padding:.9rem 1.25rem;display:flex;flex-direction:column;gap:.6rem}.ds-cmp-summary-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700;color:#1e293b}.ds-cmp-summary-head svg{color:#4338ca}.ds-cmp-summary-time{margin-left:auto;font-size:.8rem;font-weight:500;color:#9ca3af}.ds-cmp-summary-chips{display:flex;flex-wrap:wrap;gap:.4rem}.ds-cmp-chip{font-size:.8rem;font-weight:600;color:#4b5563;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:.25rem .7rem}.ds-cmp-chip--diff{color:#92400e;background:#fef3c7;border-color:#fcd34d}.ds-cmp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;align-items:start}.ds-cmp-card{background:#fff;border:1.5px solid #e9ecef;border-radius:12px;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.5rem;min-width:0}.ds-cmp-card--base{border-color:#c7d2fe;background:#fcfcff}.ds-cmp-head{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.ds-cmp-mode{font-size:.9rem;font-weight:700;color:#1e293b}.ds-cmp-hint{font-size:.75rem;color:#9ca3af;line-height:1.4;padding-bottom:.15rem;border-bottom:1px solid #f3f4f6}.ds-cmp-tag{display:inline-flex;align-items:center;gap:.2rem;font-size:.68rem;font-weight:700;border-radius:999px;padding:.1rem .45rem;white-space:nowrap}.ds-cmp-tag--base{color:#4338ca;background:#eef2ff}.ds-cmp-tag--cheap{color:#15803d;background:#dcfce7}.ds-cmp-tag--expensive{color:#b45309;background:#fef3c7}.ds-cmp-row{display:flex;align-items:center;gap:.4rem;border-radius:6px;padding:.2rem .3rem;margin:0 -.3rem}.ds-cmp-row--diff{background:#fffbeb;box-shadow:inset 2px 0 #f59e0b}.ds-cmp-label{font-size:.75rem;color:#6b7280;flex-shrink:0}.ds-cmp-value{font-size:.85rem;font-weight:700;color:#1e293b;margin-left:auto}.ds-cmp-badge{margin-left:auto;font-size:.72rem;font-weight:700;color:#fff;border-radius:999px;padding:.15rem .5rem;white-space:nowrap}.ds-cmp-diff-mark{font-size:.85rem;font-weight:700;color:#d97706;cursor:help}.ds-cmp-product{display:flex;flex-direction:column;gap:.25rem;background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:.6rem .7rem}.ds-cmp-product--diff{background:#fffbeb;border-color:#fcd34d}.ds-cmp-product--empty{flex-direction:row;align-items:center;gap:.4rem;color:#dc2626;background:#fef2f2;border-color:#fecaca;font-size:.82rem;font-weight:600}.ds-cmp-diff-label{font-size:.68rem;font-weight:700;color:#92400e;text-transform:uppercase;letter-spacing:.03em}.ds-cmp-product-name{font-size:.85rem;font-weight:600;color:#1e293b;line-height:1.35;overflow-wrap:anywhere}.ds-cmp-product-price{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.9rem;font-weight:700;color:#16a34a}.ds-cmp-product-price--diff{color:#b45309}.ds-cmp-product-source{font-size:.75rem;color:#6b7280}.ds-cmp-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:600;color:#2563eb;text-decoration:none;width:fit-content}.ds-cmp-link:hover{text-decoration:underline}.ds-cmp-expl{font-size:.78rem;line-height:1.5;color:#374151;background:#f8fafc;border-radius:6px;padding:.5rem .6rem}.ds-cmp-error{display:flex;align-items:flex-start;gap:.35rem;font-size:.78rem;line-height:1.4;color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.5rem .6rem;overflow-wrap:anywhere}.ds-cmp-cands>summary{font-size:.75rem;font-weight:600;color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none}.ds-cmp-cands-list{list-style:none;margin:.4rem 0 0;padding:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.2rem}.ds-cmp-cands-list li{display:flex;gap:.4rem;align-items:baseline;font-size:.72rem;color:#6b7280;line-height:1.35;border-bottom:1px dashed #f3f4f6;padding-bottom:.2rem}.ds-cmp-cand--picked{color:#1e293b;font-weight:700}.ds-cmp-cand-name{overflow-wrap:anywhere}.ds-cmp-cand-price{margin-left:auto;white-space:nowrap}.ds-cmp-foot{font-size:.72rem;color:#9ca3af;margin-top:auto;padding-top:.2rem}.ds-synonyms{background:#fff;border:1px solid #e0e7ff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:.85rem 1.1rem;display:flex;flex-direction:column;gap:.6rem}.ds-synonyms-head{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:.875rem;font-weight:700;color:#1e293b}.ds-synonyms-head svg{color:#6366f1;flex-shrink:0}.ds-synonyms-note{font-size:.8rem;font-weight:400;color:#9ca3af}.ds-synonyms-list{display:flex;flex-direction:column;gap:.35rem}.ds-synonym{display:flex;align-items:baseline;flex-wrap:wrap;gap:.3rem .75rem;font-size:.82rem}.ds-synonym-rule{font-weight:600;color:#4338ca;background:#eef2ff;border-radius:999px;padding:.15rem .6rem;white-space:nowrap}.ds-synonym-query{flex:1;min-width:12rem;color:#374151;overflow-wrap:anywhere}.ds-synonym-count{color:#9ca3af;white-space:nowrap}.ds-synonym-count--new{color:#16a34a;font-weight:600}.ds-candidate-synonym{display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;font-weight:600;color:#4338ca;background:#eef2ff;border-radius:999px;padding:.05rem .5rem}@media(max-width:1200px){.ds-cmp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.debug-search-page .page-header{padding:1rem 1rem .75rem}.ds-form{padding:.75rem 1rem}.ds-form-row{flex-direction:column;align-items:stretch}.ds-field--narrow{flex:1 1 auto;min-width:0}.ds-btn-search,.ds-btn-compare{width:100%;justify-content:center}.ds-results-wrap{padding:1rem 1rem 1.5rem}.ds-candidates-grid,.ds-cmp-grid{grid-template-columns:1fr}}.inv-edit-link{text-decoration:none;display:inline-flex}.inv-section-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.inv-create-panel{background:#f8faff;border:1px solid #dde8f8;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;animation:invSlideDown .18s ease}@keyframes invSlideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.inv-form-fields{display:flex;gap:1.5rem;flex-wrap:wrap;margin-bottom:1.25rem;align-items:flex-end}.inv-form-field{flex:1;min-width:180px;display:flex;flex-direction:column;gap:.35rem}.inv-form-label{display:flex;flex-direction:column;gap:.2rem;font-size:.875rem;font-weight:600;color:#444;min-height:2.6rem;justify-content:flex-end}.inv-form-hint{font-size:.78rem;color:#aaa;font-weight:400}.inv-form-input{padding:.6rem .9rem;border:2px solid #e0e7f0;border-radius:8px;font-size:.95rem;color:#1a1a1a;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;box-sizing:border-box;font-family:inherit}.inv-form-input:focus{border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21f}.inv-form-actions{display:flex;gap:.75rem;align-items:center}.inv-table{width:100%;border-collapse:collapse;font-size:.9rem}.inv-table th{padding:.55rem .85rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#aaa;border-bottom:2px solid #eef0f3;white-space:nowrap;background:#fafbfc}.inv-table td{padding:.75rem .85rem;color:#444;border-bottom:1px solid #f3f4f6;vertical-align:middle}.inv-table tbody tr:last-child td{border-bottom:none}.inv-table tbody tr:hover td{background:#fafcff}.inv-code-cell{display:flex;align-items:center;gap:.4rem}.inv-code{font-family:Courier New,Courier,monospace;font-size:.85rem;background:#f0f4f8;color:#1e3a5f;padding:.2rem .6rem;border-radius:6px;letter-spacing:.03em;white-space:nowrap}.inv-copy-btn{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;border-radius:5px;cursor:pointer;font-size:.85rem;color:#bbb;transition:background .15s,color .15s;padding:0;flex-shrink:0;line-height:1}.inv-copy-btn:hover{background:#e8f0fe;color:#4a90e2}.inv-copy-ok{font-size:.78rem;color:#16a34a;font-weight:600;white-space:nowrap}.inv-badge{display:inline-flex;align-items:center;padding:.22rem .7rem;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.inv-badge-active{background:#dcfce7;color:#16a34a}.inv-badge-used{background:#f3f4f6;color:#9ca3af}.inv-badge-inactive{background:#fef2f2;color:#dc2626}.inv-role{display:inline-block;padding:.22rem .7rem;border-radius:6px;font-size:.78rem;font-weight:600;white-space:nowrap}.inv-role-admin{background:#fff3e0;color:#e65100}.inv-role-catalog{background:#f3e5f5;color:#7b1fa2}.inv-role-coordinator{background:#e8f5e9;color:#2e7d32}.inv-role-estimator{background:#fff8e1;color:#b28704}.inv-role-user{background:#e3f2fd;color:#1565c0}.inv-role-select{padding:.35rem .65rem;border:1.5px solid #e0e7f0;border-radius:7px;font-size:.85rem;color:#333;background:#fff;cursor:pointer;outline:none;transition:border-color .2s;font-family:inherit}.inv-role-select:hover,.inv-role-select:focus{border-color:#4a90e2}.inv-confirm{display:flex;align-items:center;gap:.45rem;white-space:nowrap}.inv-confirm-label{font-size:.8rem;color:#c62828;font-weight:500}.inv-btn-sm{padding:.35rem .8rem!important;font-size:.82rem!important}.inv-muted{color:#888}.inv-nowrap{white-space:nowrap}.inv-verified{color:#16a34a;font-size:1rem}.inv-unverified{color:#d1d5db;font-size:1rem}.inv-user-name{font-weight:600;color:#1a1a1a;font-size:.9rem;line-height:1.3}.inv-user-email{font-size:.8rem;color:#999;line-height:1.3}.inv-empty{text-align:center;padding:2rem;color:#ccc;font-size:.9rem}.processing-page{padding:2rem;max-width:1100px;margin:0 auto}.processing-loading{color:#6c757d;padding:2rem 0}.pipeline{background:#fff;border:1px solid #e0e0e0;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.pipeline-header{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.75rem;background:#f8f9fa;border-bottom:2px solid #e0e0e0}.pipeline-col-num{width:28px;flex-shrink:0}.pipeline-col-info{flex:1;font-size:.72rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.pipeline-col-stats{width:360px;flex-shrink:0;font-size:.72rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px;text-align:center}.pipeline-col-action{width:220px;flex-shrink:0;font-size:.72rem;font-weight:600;color:#aaa;text-transform:uppercase;letter-spacing:.5px}.pipeline-step{display:flex;align-items:center;gap:1.5rem;padding:1.1rem 1.75rem;background:#fff;border-bottom:1px solid #f0f0f0;transition:background .15s}.pipeline-step:last-child{border-bottom:none}.pipeline-step:hover,.step-aux{background:#fafafa}.step-aux:hover{background:#f5f5f5}.step-num{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-num.aux{background:#e0e0e0;color:#aaa;font-size:1rem}.step-info{flex:1;min-width:0}.step-title{font-weight:600;color:#1a1a1a;font-size:.95rem;margin-bottom:.2rem}.step-desc{font-size:.8rem;color:#888}.step-progress{height:4px;background:#eee;border-radius:2px;overflow:hidden;margin-top:.5rem;max-width:340px}.step-progress-bar{height:100%;background:var(--color-primary);border-radius:2px;transition:width .4s ease}.step-progress.active .step-progress-bar{background:linear-gradient(90deg,var(--color-primary),#9ec9f5,var(--color-primary));background-size:200% 100%;animation:progress-shift 1.6s linear infinite}@keyframes progress-shift{0%{background-position:100% 0}to{background-position:-100% 0}}.step-hint{font-size:.72rem;color:#aaa;margin-top:.35rem}.sources-panel{margin-top:1.25rem;background:#fff;border:1px solid #e0e0e0;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.sources-toggle{display:flex;align-items:center;gap:.45rem;width:100%;padding:.85rem 1.5rem;background:none;border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:#333;text-align:left}.sources-toggle:hover{background:#fafafa}.sources-table-wrap{border-top:1px solid #f0f0f0;overflow-x:auto}.sources-table{width:100%;border-collapse:collapse;font-size:.82rem}.sources-table th{text-align:left;padding:.55rem 1rem;background:#f8f9fa;color:#aaa;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}.sources-table th.num,.sources-table td.num{text-align:right;white-space:nowrap}.sources-table td{padding:.5rem 1rem;border-top:1px solid #f4f4f4;color:#333}.sources-table tr:hover td{background:#fafafa}.sources-table tr.inactive td{opacity:.5}.src-name{font-weight:600}.src-key{margin-left:.5rem;color:#bbb;font-size:.72rem}.src-badge{margin-left:.5rem;padding:.05rem .4rem;border-radius:3px;background:#f0f0f0;color:#999;font-size:.68rem}.cov-value{font-variant-numeric:tabular-nums}.cov-pct{display:inline-block;min-width:38px;margin-left:.5rem;color:#bbb;font-size:.72rem;font-variant-numeric:tabular-nums}.cov-pct.low{color:var(--color-danger);font-weight:600}.cov-dash{color:#ddd}.sources-table td.bad .cov-value,.sources-table td.stale{color:var(--color-danger);font-weight:600}.sources-legend{padding:.6rem 1.5rem .9rem;font-size:.72rem;color:#aaa}.ollama-badge{font-size:.8rem;font-weight:600}.ollama-badge.online{color:var(--color-success)}.ollama-badge.offline{color:#f44336}.step-stats{display:grid;grid-template-columns:repeat(3,120px);flex-shrink:0;width:360px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:.1rem .75rem;border-left:1px solid #eeeeee}.stat-item:first-child{border-left:none}.stat-num{font-size:1.25rem;font-weight:700;color:#333;line-height:1.2}.stat-num.ok{color:var(--color-primary)}.stat-num.warn{color:var(--color-danger)}.stat-lbl{font-size:.7rem;color:#bbb;text-transform:uppercase;letter-spacing:.3px;margin-top:3px;text-align:center}.step-action,.step-action-pair{flex-shrink:0;width:220px;display:flex;flex-direction:column;align-items:stretch;gap:.4rem}.step-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1rem;border:none;border-radius:var(--radius);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;width:100%;white-space:nowrap;min-height:unset}.step-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.step-btn-primary{background:var(--color-primary);color:#fff}.step-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 3px 8px #4a90e259}.step-btn-warning{background:var(--color-danger);color:#fff}.step-btn-warning:hover:not(:disabled){background:var(--color-danger-dark);transform:translateY(-1px);box-shadow:0 3px 8px #f4433659}.step-btn-secondary{background:#f5f5f5;color:#555;border:1px solid #e0e0e0}.step-btn-secondary:hover:not(:disabled){background:#eee;border-color:#ccc}.step-running{display:flex;align-items:center;gap:.4rem;color:var(--color-primary);font-size:.875rem;font-weight:600}.step-running svg{animation:spin .9s linear infinite}.step-done{display:flex;align-items:center;gap:.4rem;color:var(--color-success);font-size:.875rem;font-weight:600}.spin{display:inline-block;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:700px){.processing-page{padding:1rem}.pipeline-header{display:none}.pipeline-step{flex-wrap:wrap;gap:.75rem;padding:1rem}.step-stats{order:3;width:100%;justify-content:flex-start;gap:1.5rem}.step-action,.step-action-pair{width:100%;order:4;flex-direction:row}.step-btn{flex:1}}.jobs-management-page{padding:2rem;max-width:1400px;margin:0 auto}.settings-section{margin-bottom:2rem}.settings-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.settings-header h3{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:#333}.settings-description{margin:0;color:#666;font-size:.9rem;line-height:1.4}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.3s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.toggle-slider{background-color:#4caf50}input:focus+.toggle-slider{box-shadow:0 0 1px #4caf50}input:checked+.toggle-slider:before{transform:translate(26px)}input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.settings-status{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.status-badge{display:inline-block;padding:.4rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.status-badge.enabled{background:#e8f5e9;color:#2e7d32}.status-badge.disabled{background:#ffebee;color:#c62828}.schedule-info{color:#666;font-size:.9rem}.jobs-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;margin-bottom:1.5rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.section-header h3{margin:0;font-size:1.3rem;font-weight:600;color:#333}.header-actions{display:flex;gap:.75rem}.btn-refresh{padding:.6rem 1.2rem;background:#2196f3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-refresh:hover:not(:disabled){background:#1976d2}.btn-danger{padding:.6rem 1.2rem;background:#f44336;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s}.btn-danger:hover:not(:disabled){background:#d32f2f}.btn-refresh:disabled,.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:.6rem 1.2rem;background:#fff;color:#555;border:1px solid #ccc;border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .2s,border-color .2s}.btn-secondary:hover:not(:disabled){background:#f5f5f5;border-color:#999}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-cancel-job{padding:.4rem .6rem;background:transparent;color:#f44336;border:1px solid #f44336;border-radius:6px;cursor:pointer;font-size:1rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-cancel-job:hover:not(:disabled){background:#f44336;color:#fff}.btn-cancel-job:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;padding:3rem 1rem;color:#666}.empty-state p{margin:0;font-size:1.1rem}.jobs-list{display:grid;gap:1rem}.jobs-task-card{background:#f8f9fa;border-radius:8px;padding:1rem;border-left:4px solid #2196f3}.jobs-task-card.state-processing{border-left-color:#4caf50}.jobs-task-card.state-enqueued{border-left-color:#ff9800}.jobs-task-card.state-scheduled{border-left-color:#9c27b0}.job-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.job-title{display:flex;align-items:center;gap:.5rem}.job-header-actions{display:flex;align-items:center;gap:.75rem}.job-emoji{font-size:1.2rem}.job-name{font-weight:600;color:#1a1a1a;font-size:1rem}.job-state{padding:.3rem .8rem;border-radius:12px;font-size:.85rem;font-weight:500}.job-state.state-processing{background:#e8f5e9;color:#2e7d32}.job-state.state-enqueued{background:#fff3e0;color:#e65100}.job-state.state-scheduled{background:#f3e5f5;color:#6a1b9a}.job-details{display:grid;gap:.5rem}.job-detail-item{display:flex;gap:.5rem;font-size:.9rem}.detail-label{color:#666;font-weight:500;min-width:120px}.detail-value{color:#1a1a1a;font-family:Courier New,monospace}.info-section{text-align:center;padding:1rem;color:#666;font-size:.9rem}.info-section a{color:#2196f3;text-decoration:none;font-weight:500}.info-section a:hover{text-decoration:underline}.recipients-panel{border-top:1px solid #eee;padding-top:.9rem;margin-top:.75rem;display:flex;flex-direction:column;gap:.6rem}.recipients-chips{display:flex;flex-wrap:wrap;gap:.4rem;min-height:1.8rem}.recipient-chip{display:inline-flex;align-items:center;gap:.3rem;background:#e8f4f8;color:#1a5276;border:1px solid #aed6f1;border-radius:14px;padding:.2rem .5rem .2rem .7rem;font-size:.82rem}.recipient-chip-remove{background:none;border:none;cursor:pointer;color:#7fb3d3;font-size:1rem;line-height:1;padding:0;transition:color .15s}.recipient-chip-remove:hover{color:#c0392b}.recipients-input-row{display:flex;gap:.5rem;flex-wrap:wrap}.recipients-input{flex:1;min-width:200px;padding:.4rem .7rem;border:1px solid #ccc;border-radius:6px;font-size:.9rem;outline:none}.recipients-input:focus{border-color:#3498db}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem}.alert-error{background:#ffebee;color:#c62828;border-left:4px solid #c62828}@media(max-width:768px){.jobs-management-page{padding:1rem}.settings-header{flex-direction:column;align-items:flex-start;gap:1rem}.section-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%;flex-direction:column}.btn-refresh,.btn-danger{width:100%}.detail-label{min-width:100px}}.page-header{margin-bottom:1.5rem}.page-header h1,.page-header h2,.page-header h3{margin:0 0 .35rem;color:#1a1a1a;font-weight:700;line-height:1.2}.page-header h1,.page-header h2{font-size:1.75rem}.page-header h3{font-size:1.4rem}.page-header p{margin:0;color:#6b7280;font-size:.95rem;line-height:1.5}.page-container{width:100%;height:100%;overflow-y:auto;padding:2rem;box-sizing:border-box}.page-container-compact{padding:1.5rem 2rem}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.875rem;padding:4rem 2rem;color:#6b7280;font-size:.95rem}.page-loading-spinner{width:32px;height:32px;border:2.5px solid #e5e7eb;border-top-color:var(--color-primary);border-radius:50%;animation:page-spin .7s linear infinite;flex-shrink:0}@keyframes page-spin{to{transform:rotate(360deg)}}.page-empty-state{text-align:center;padding:4rem 2rem;color:#999;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.page-empty-state p{margin:.5rem 0;font-size:1.1rem}.page-section{background:#fff;border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow)}.page-section-header{margin-bottom:1.5rem}.page-section-title{margin:0 0 .5rem;font-size:1.3rem;font-weight:600;color:#333}.page-section-description{margin:0;color:#666;font-size:.95rem;line-height:1.5}.page-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.page-btn:disabled{opacity:.5;cursor:not-allowed}.page-btn-primary{background:var(--color-primary);color:#fff}.page-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4a90e24d}.page-btn-success{background:var(--color-success);color:#fff}.page-btn-success:hover:not(:disabled){background:var(--color-success-dark);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.page-btn-secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.page-btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:var(--color-primary);color:var(--color-primary)}.page-btn-danger{background:var(--color-danger);color:#fff}.page-btn-danger:hover:not(:disabled){background:var(--color-danger-dark);transform:translateY(-1px);box-shadow:0 4px 12px #f443364d}.form-select{appearance:none;-webkit-appearance:none;padding:.55rem 2.25rem .55rem .75rem;border:1.5px solid #d1d5db;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:15px;font-size:.9rem;font-family:inherit;color:#374151;cursor:pointer;width:100%;line-height:1.5;transition:border-color .15s,box-shadow .15s}.form-select:hover:not(:disabled):not(:focus){border-color:#9ca3af}.form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.form-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.page-error{background:var(--color-danger-bg);border-left:3px solid var(--color-danger);border-radius:var(--radius);padding:.75rem 1rem;color:#b91c1c;font-weight:500;font-size:.9rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem}.page-success{background:var(--color-success-bg);border-left:3px solid var(--color-success);border-radius:var(--radius);padding:.75rem 1rem;color:#15803d;font-weight:500;font-size:.9rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem}.page-info{background:var(--color-primary-bg);border-left:3px solid var(--color-primary);border-radius:var(--radius);padding:.75rem 1rem;color:#1d4ed8;font-weight:500;font-size:.9rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem}.page-warning{background:var(--color-warning-bg, #fef9c3);border-left:3px solid var(--color-warning, #d97706);border-radius:var(--radius);padding:.75rem 1rem;color:#92400e;font-weight:500;font-size:.9rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem}@media(max-width:768px){.page-container{padding:1rem}.page-header h1,.page-header h2{font-size:1.4rem}.page-header h3{font-size:1.15rem}.page-section{padding:1.5rem}.page-btn{padding:.65rem 1.25rem;font-size:.95rem}}@media(max-width:480px){.page-container{padding:.75rem}.page-section{padding:1.25rem}}.page-tabs{display:flex;gap:3px;background:#ebebed;border-radius:10px;padding:3px;width:fit-content;margin-bottom:1.5rem}.page-tab-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem 1.1rem;min-width:9rem;background:transparent;border:none;border-radius:7px;font-size:.875rem;font-weight:600;color:#6b7280;cursor:pointer;transition:background .18s,color .18s,box-shadow .18s;white-space:nowrap;-webkit-user-select:none;user-select:none}.page-tab-btn:hover{color:#374151;background:#ffffff80}.page-tab-btn.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 4px #0000001f,0 0 0 .5px #0000000f}.page-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;background:#0000001a;border-radius:999px;font-size:.7rem;font-weight:700;color:inherit;transition:background .18s,color .18s}.page-tab-btn.active .page-tab-count{background:var(--color-primary);color:#fff}.page-btn-sm{padding:.45rem 1rem;font-size:.875rem}.btn-icon-action{width:30px;height:30px;min-height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#6b7280;transition:background .15s,color .15s;flex-shrink:0}.btn-icon-action:hover{background:#f3f4f6;color:#374151}.btn-icon-action.btn-icon-download:hover{background:#f0fdf4;color:#16a34a}.btn-icon-action.btn-icon-danger:hover{background:#fff5f5;color:#dc2626}.btn-icon-action.btn-icon-edit:hover{background:#eff6ff;color:#2563eb}.btn-icon-action:disabled{opacity:.35;cursor:not-allowed}.zakupki-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.zakupki-filters{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.zakupki-filter-toggle{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:#555;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.zakupki-filter-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#4caf50}.zakupki-search{padding:.5rem .85rem;border:1.5px solid #e0e0e0;border-radius:8px;font-size:.9rem;width:320px;transition:border-color .2s;background:#fff;color:#333}.zakupki-search:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.zakupki-toolbar-right{display:flex;align-items:center;gap:.75rem}.zakupki-count{font-size:.9rem;color:#888;white-space:nowrap}.zakupki-table-wrap{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow:hidden;margin-bottom:2rem}.zakupki-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.zakupki-table{width:100%;border-collapse:collapse;font-size:.9rem}.zakupki-table thead th{background:#f8f9fa;color:#555;padding:10px 14px;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-bottom:2px solid #e0e0e0}.zakupki-table thead th:first-child{width:40px}.zakupki-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .15s}.zakupki-table tbody tr:hover{background:#f0faf2}.zakupki-table tbody tr:last-child{border-bottom:none}.zakupki-row-irrelevant{opacity:.65}.zakupki-table td{padding:10px 14px;vertical-align:top;color:#333}.zakupki-num{text-align:center;color:#999;font-size:.82rem;white-space:nowrap}.zakupki-name{max-width:420px}.zakupki-name a{color:#2196f3;text-decoration:none;font-weight:500;line-height:1.4}.zakupki-name a:hover{text-decoration:underline;color:#1976d2}.zakupki-title-small{margin-top:4px;font-size:.78rem;color:#aaa;line-height:1.3}.zakupki-catalog-type{white-space:nowrap}.zakupki-tag{display:inline-block;background:#d5f5e3;color:#1e8449;padding:2px 8px;border-radius:4px;font-size:.82rem;font-weight:500}.zakupki-tag-empty{color:#ccc;font-size:.88rem}.zakupki-price{white-space:nowrap;font-size:.88rem;color:#555}.zakupki-customer{font-size:.85rem;color:#555;max-width:240px}.zakupki-date{white-space:nowrap;font-size:.82rem;color:#888}.zakupki-plans-page{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;box-sizing:border-box}.zakupki-plans-header{flex-shrink:0;padding:1.5rem 2rem 0;background:transparent}.zakupki-plans-header .page-header,.zakupki-plans-header .zakupki-toolbar{margin-bottom:1rem}.zakupki-plans-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 2rem 2rem;background:#f5f5f5}@media(max-width:900px){.zakupki-search{width:220px}.zakupki-name{max-width:260px}.zakupki-customer{max-width:140px}}@media(max-width:600px){.zakupki-toolbar{flex-direction:column;align-items:flex-start}.zakupki-search{width:100%}}.icd-page{display:flex;flex-direction:column;height:100vh;overflow:visible;background:#f8fafc}.icd-header{flex-shrink:0;background:#fff;border-bottom:1px solid #e2e8f0;padding:12px 24px 0}.icd-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:10px}.icd-header-left{display:flex;flex-direction:column;gap:4px;min-width:0}.icd-title{font-size:1.75rem;font-weight:700;color:#1a1a1a;margin:0;white-space:nowrap}.icd-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.icd-stat-chip{font-size:.73rem;padding:2px 7px;border-radius:10px;background:#f1f5f9;color:#475569;font-weight:500;white-space:nowrap}.icd-stat-chip.icd-stat-relevant{background:#dcfce7;color:#166534}.icd-run-time{font-size:.73rem;color:#94a3b8;white-space:nowrap}.icd-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.icd-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:7px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;text-decoration:none;border:1px solid transparent;white-space:nowrap;line-height:1;height:30px;box-sizing:border-box}.icd-btn:disabled{opacity:.5;cursor:not-allowed}.icd-btn-primary{background:#2563eb;color:#fff;border-color:#2563eb}.icd-btn-primary:hover:not(:disabled){background:#1d4ed8}.icd-btn-secondary{background:#f8fafc;color:#475569;border-color:#e2e8f0}.icd-btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.icd-btn-ghost{background:transparent;color:#64748b;border-color:#e2e8f0}.icd-btn-ghost:hover:not(:disabled){background:#f8fafc;color:#334155}.icd-error{background:#fee2e2;color:#991b1b;padding:6px 10px;border-radius:6px;font-size:.8rem;margin-bottom:8px}.icd-filterbar{display:flex;align-items:center;padding:8px 0 9px;border-top:1px solid #f1f5f9;overflow:visible;flex-wrap:wrap;gap:0;row-gap:6px}.icd-filterbar-group{display:flex;align-items:center;gap:5px;flex-shrink:0}.icd-filterbar-sep{width:1px;height:18px;background:#e2e8f0;margin:0 10px;flex-shrink:0;align-self:center}.icd-filterbar-icon{color:#b0bac4;flex-shrink:0}.icd-date-inputs{display:flex;align-items:center;gap:4px;flex-shrink:0}.icd-date-input{height:30px;box-sizing:border-box;padding:0 7px;border:1px solid #e2e8f0;border-radius:7px;font-size:.78rem;color:#334155;background:#f8fafc;cursor:pointer;outline:none;transition:border-color .15s;width:112px}.icd-date-input:focus{border-color:#93c5fd;background:#fff}.icd-date-dash{font-size:.75rem;color:#94a3b8;flex-shrink:0}.icd-pill{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 10px;border-radius:7px;font-size:.78rem;font-weight:500;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;box-sizing:border-box}.icd-filterbar .csel-trigger{height:30px;padding:0 8px 0 10px;font-size:.8rem;border-radius:7px;box-sizing:border-box}.icd-filterbar .csel--open .csel-trigger{border-bottom-left-radius:0;border-bottom-right-radius:0}.icd-record-count{margin-left:auto;font-size:.75rem;color:#94a3b8;white-space:nowrap;padding-right:2px}.icd-region-select{padding:4px 24px 4px 8px;border:1px solid #e2e8f0;border-radius:8px;font-size:.78rem;color:#334155;background:#f8fafc;cursor:pointer;outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;transition:border-color .15s;max-width:180px}.icd-region-select:focus{border-color:#93c5fd;background-color:#fff}.icd-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:.78rem;font-weight:500;border:1px solid #e2e8f0;background:#f8fafc;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}.icd-pill:hover{border-color:#cbd5e1;background:#f1f5f9}.icd-pill-active{background:#2563eb;color:#fff;border-color:#2563eb}.icd-pill-xs{padding:3px 9px;font-size:.74rem}.icd-pill-count{background:#ffffff4d;padding:0 5px;border-radius:10px;font-size:.7rem;font-weight:600}.icd-pill:not(.icd-pill-active) .icd-pill-count{background:#e2e8f0;color:#64748b}.icd-content{flex:1;overflow-y:auto;padding:20px 24px 32px}.icd-loading{text-align:center;padding:60px;color:#64748b;font-size:.9rem}.icd-empty{text-align:center;padding:80px 24px;color:#64748b}.icd-empty-icon{display:flex;justify-content:center;color:#cbd5e1;margin-bottom:12px}.icd-empty-sub{font-size:.82rem;color:#94a3b8;margin-top:4px}.icd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.icd-grid-dim{margin-top:12px;opacity:.65}.ic-card{background:#fff;border-radius:12px;border:1px solid #e2e8f0;border-left:4px solid var(--signal-color, #94a3b8);padding:16px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .15s,transform .15s}.ic-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-1px)}.ic-card-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ic-signal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:6px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.ic-region-badge{padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:600}.ic-type-badge{padding:2px 7px;border-radius:5px;font-size:.68rem;font-weight:600;background:#e8daef;color:#6c3483}.ic-date{margin-left:auto;font-size:.72rem;color:#94a3b8;font-weight:500;white-space:nowrap}.ic-card-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;font-weight:600;color:#0f172a;line-height:1.45;text-decoration:none}.ic-card-title:hover{color:#2563eb;text-decoration:underline}.ic-analysis{display:flex;gap:8px;background:#f8fafc;border-radius:8px;padding:10px 12px;border:1px solid #f1f5f9}.ic-analysis-icon{flex-shrink:0;margin-top:2px;color:#f59e0b}.ic-analysis span:last-child{font-size:.82rem;color:#334155;line-height:1.5}.ic-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:4px;border-top:1px solid #f1f5f9}.ic-source{font-size:.72rem;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.ic-open-link{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;color:#2563eb;text-decoration:none;flex-shrink:0;padding:3px 8px;border-radius:6px;transition:background .1s}.ic-open-link:hover{background:#eff6ff}.icd-section-divider{margin:24px 0 12px;display:flex;align-items:center;gap:12px}.icd-section-divider:before,.icd-section-divider:after{content:"";flex:1;height:1px;background:#e2e8f0}.icd-toggle-nonrelevant{font-size:.78rem;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:20px;padding:4px 14px;cursor:pointer;white-space:nowrap;transition:all .15s}.icd-toggle-nonrelevant:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin .8s linear infinite}.icd-search-input{padding:3px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:.82rem;color:#334155;background:#f8fafc;outline:none;transition:border-color .15s,background .15s;width:220px}.icd-search-input::placeholder{color:#94a3b8}.icd-search-input:focus{border-color:#93c5fd;background:#fff}.icd-checkbox-label{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#475569;cursor:pointer;white-space:nowrap;accent-color:#2563eb}.icd-toast{margin:6px 0 0;padding:8px 14px;border-radius:8px;font-size:.82rem;font-weight:500}.icd-toast-ok{background:#ecfdf5;color:#065f46;border:1px solid #6ee7b7}.icd-toast-err{background:#fef2f2;color:#b91c1c;border:1px solid #fca5a5}.zakupki-table-wrap:has(.ic-table) .zakupki-table-scroll{overflow-x:visible}.ic-table{table-layout:fixed;width:100%}.ic-table .zakupki-name,.ic-table .ic-analysis-cell{word-break:break-word;overflow-wrap:break-word}.ic-row-dim{opacity:.45}.ic-row-dim:hover{opacity:.75;transition:opacity .15s}.ic-table .ic-signal-badge{white-space:nowrap;display:inline-flex;flex-wrap:nowrap;font-size:.72rem;padding:3px 7px}.ic-region-cell{font-size:.78rem;color:#555;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ic-analysis-cell{font-size:.8rem;color:#444;max-width:280px;word-break:break-word}.ic-no-analysis{color:silver}.ic-source-sub{font-size:.72rem;color:#aaa;margin-top:2px}.ic-modal-save-err{font-size:.82rem;color:#b91c1c;margin-right:auto}.ic-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.ic-modal{background:#fff;border-radius:14px;box-shadow:0 24px 60px #0000002e;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.ic-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px 14px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.ic-modal-title{font-size:1rem;font-weight:700;color:#0f172a;display:flex;align-items:center;gap:8px;margin:0}.ic-modal-close{background:none;border:none;cursor:pointer;color:#94a3b8;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.ic-modal-close:hover{color:#334155;background:#f1f5f9}.ic-modal-body{overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:18px;flex:1}.ic-modal-error{background:#fef2f2;border:1px solid #fca5a5;color:#b91c1c;border-radius:8px;padding:10px 14px;font-size:.85rem}.ic-modal-field{display:flex;flex-direction:column;gap:5px}.ic-modal-field-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.ic-modal-label{font-size:.82rem;font-weight:600;color:#374151}.ic-modal-reset-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:2px 8px;font-size:.72rem;color:#64748b;cursor:pointer;transition:border-color .15s,color .15s}.ic-modal-reset-btn:hover{border-color:#94a3b8;color:#334155}.ic-modal-textarea{border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;font-size:.82rem;font-family:Courier New,Courier,monospace;color:#1e293b;background:#f8fafc;resize:vertical;outline:none;transition:border-color .15s,background .15s;line-height:1.5}.ic-modal-textarea:focus{border-color:#93c5fd;background:#fff}.ic-modal-hint{font-size:.74rem;color:#94a3b8;line-height:1.4}.ic-modal-textarea--error{border-color:#ef4444!important;outline-color:#ef4444}.ic-modal-field-error{font-size:.74rem;color:#ef4444;line-height:1.4}.ic-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px 24px 18px;border-top:1px solid #e2e8f0;flex-shrink:0}.ic-modal-save-msg{font-size:.82rem;color:#059669;margin-right:auto}@media(max-width:768px){.icd-header{padding:12px 16px 0}.icd-content{padding:16px}.icd-grid{grid-template-columns:1fr}.icd-header-top{flex-direction:column;gap:8px}.icd-actions{width:100%;justify-content:flex-end}}.alt-page{padding:24px;max-width:1560px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.alt-page .page-header{margin-bottom:0}.alt-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.alt-stage{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:18px 20px 20px;transition:border-color .15s}.alt-stage.is-done{border-color:#bbf7d0}.alt-stage-head{display:flex;align-items:flex-start;gap:10px;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid #f3f4f6}.alt-stage-num{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280;font-size:.8rem;font-weight:700;transition:background .15s,color .15s}.alt-stage.is-done .alt-stage-num{background:var(--color-success-bg);color:#16a34a;box-shadow:inset 0 0 0 1px #86efac}.alt-stage-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.alt-stage-title{font-size:.95rem;font-weight:600;color:#111827;line-height:1.25}.alt-stage-summary{font-size:.78rem;color:#9ca3af;line-height:1.35;overflow-wrap:anywhere}.alt-stage.is-done .alt-stage-summary{color:#15803d}.alt-stage.is-todo .alt-stage-num{background:var(--color-primary);color:#fff}.alt-stage.is-error{border-color:#fecaca}.alt-stage.is-error .alt-stage-num{background:#fef2f2;color:#dc2626;box-shadow:inset 0 0 0 1px #fca5a5}.alt-stage.is-error .alt-stage-summary{color:#b91c1c}.alt-stage-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}.alt-progress-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:20px 24px}.alt-progress-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.alt-progress-step{font-size:.9rem;color:#374151;font-weight:500}.alt-progress-pct{font-size:.875rem;font-weight:600;color:var(--color-primary)}.alt-progress-track{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.alt-progress-fill{height:100%;background:var(--color-primary);border-radius:999px;transition:width .4s ease}.alt-progress-actions{display:flex;justify-content:flex-end;margin-top:14px}.alt-success-card{background:var(--color-success-bg);border:1px solid #86efac;border-radius:var(--radius-lg);padding:20px 24px;display:flex;align-items:center;gap:16px}.alt-success-icon{color:#16a34a;flex-shrink:0}.alt-success-body{flex:1}.alt-success-body h3{margin:0 0 4px;font-size:1.05rem;font-weight:600;color:#166534}.alt-success-body p{margin:0;font-size:.875rem;color:#16a34a}.alt-success-actions{display:flex;gap:8px;flex-shrink:0}.alt-source-tabs{display:grid;gap:8px}.alt-source-tab{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;min-height:unset;background:#f9fafb;border:2px solid #e5e7eb;border-radius:var(--radius);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s,background .15s}.alt-source-tab:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg)}.alt-source-tab.active{border-color:var(--color-primary);background:var(--color-primary-bg)}.alt-source-tab:disabled{opacity:.55;cursor:not-allowed}.alt-tab-icon{display:flex;color:#6b7280;margin-top:1px;flex-shrink:0}.alt-source-tab.active .alt-tab-icon{color:var(--color-primary)}.alt-tab-text{display:flex;flex-direction:column;gap:1px;min-width:0}.alt-tab-label{font-size:.875rem;font-weight:600;color:#111827;line-height:1.3}.alt-source-tab.active .alt-tab-label{color:var(--color-primary-dark)}.alt-tab-sub{font-size:.76rem;font-weight:400;color:#9ca3af;line-height:1.35}.alt-field-group{display:flex;flex-direction:column;gap:8px;min-width:0}.alt-label{font-size:.875rem;font-weight:500;line-height:1.4;color:#374151}.alt-label>svg{vertical-align:-2px;margin-right:4px}.alt-label-row{display:flex;align-items:flex-start;gap:6px}.alt-label-row>.alt-label{min-width:0}.alt-label-row>.alt-help{margin-top:1px}.alt-label-optional{font-weight:400;color:#9ca3af;font-size:.85em}.alt-nested{margin-left:28px;display:flex;flex-direction:column;gap:6px}.alt-subpanel{gap:12px;padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-left:3px solid var(--color-primary);border-radius:var(--radius)}.alt-subpanel-title{font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.alt-locked-value{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;padding:9px 12px;background:#f9fafb;border:1px dashed #d1d5db;border-radius:var(--radius);font-size:.85rem;color:#6b7280}.alt-help{position:relative;display:inline-flex;flex-shrink:0}.alt-help-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:0;margin:-3px;padding:0;border:none;border-radius:50%;background:none;color:#9ca3af;cursor:help;transition:color .15s}.alt-help-btn:hover,.alt-help.is-open .alt-help-btn{color:var(--color-primary)}.alt-help-btn:focus:not(:focus-visible){outline:none}.alt-help-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px}.alt-help-tip{position:absolute;top:calc(100% + 8px);left:0;z-index:60;width:max-content;max-width:min(320px,calc(100vw - 32px));padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 10px 30px #00000024;font-size:.8rem;font-weight:400;line-height:1.5;color:#374151;text-align:left;white-space:normal;cursor:default;animation:alt-help-in .12s ease-out}.alt-help-tip[hidden]{display:none}.alt-help-tip.is-above{top:auto;bottom:calc(100% + 8px)}.alt-help-tip:before{content:"";position:absolute;left:0;right:0;top:-9px;height:9px}.alt-help-tip.is-above:before{top:auto;bottom:-9px}@keyframes alt-help-in{0%{opacity:0}}.alt-help-tip p{margin:0}.alt-help-tip p+p,.alt-help-tip ul+p,.alt-help-tip p+ul{margin-top:6px}.alt-help-tip code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#f3f4f6;color:#4b5563;padding:1px 4px;border-radius:4px}.alt-help-title{display:block;font-weight:600;margin-bottom:6px;color:#111827}.alt-help-tip ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.alt-help-tip li{display:flex;gap:10px;align-items:baseline}.alt-help-col{flex-shrink:0;min-width:26px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;color:var(--color-primary)}.alt-help-note{display:block;margin-top:8px;color:#6b7280;font-size:.75rem}.alt-search-wrap{position:relative}.alt-input{width:100%;padding:10px 36px 10px 12px;border:1px solid #d1d5db;border-radius:var(--radius);font-size:.9rem;outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.alt-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.alt-input:disabled{background:#f9fafb;cursor:not-allowed}.alt-input.is-invalid{border-color:#f87171;background:#fff5f5}.alt-input.is-invalid:focus{box-shadow:0 0 0 3px #f871712e}.alt-input-narrow{max-width:170px;padding-right:12px}.alt-search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:#9ca3af;cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;min-height:unset;min-width:unset;line-height:1}.alt-search-clear:hover{color:#6b7280}.alt-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:0;list-style:none;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;max-height:280px;overflow-y:auto;z-index:55}.alt-dropdown-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f3f4f6;transition:background .12s}.alt-dropdown-item:last-child{border-bottom:none}.alt-dropdown-item:hover,.alt-dropdown-item.is-active{background:var(--color-primary-bg)}.alt-dropdown-name{font-size:.9rem;font-weight:500;color:#111827;margin-bottom:2px;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;overflow-wrap:anywhere}.alt-dropdown-kpnum{font-size:.75rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-bg);padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}.alt-dropdown-meta{font-size:.8rem;color:#9ca3af}.alt-selected-badge{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--color-success-bg);border:1px solid #86efac;border-radius:var(--radius-sm);font-size:.825rem;color:#15803d}.alt-selected-badge>svg{flex-shrink:0}.alt-restored{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;padding:6px 10px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-sm);font-size:.8rem;color:#1e40af}.alt-restored>svg{flex-shrink:0}.alt-restored-text{flex:1;min-width:0}.alt-restored-reset{min-height:0;padding:2px 8px;border:1px solid #93c5fd;border-radius:var(--radius-sm);background:#fff;color:#1d4ed8;font-size:.78rem;font-weight:500;cursor:pointer}.alt-restored-reset:hover:not(:disabled){background:#dbeafe}.alt-restored-reset:disabled{opacity:.5;cursor:not-allowed}.alt-file-hidden{display:none}.alt-file-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px 14px;border:2px dashed #d1d5db;border-radius:var(--radius);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.alt-file-drop:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.alt-file-drop.dragging{border-color:var(--color-primary);background:var(--color-primary-bg);border-style:solid}.alt-file-drop.has-file{border-color:#86efac;background:var(--color-success-bg);border-style:solid}.alt-file-drop.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.alt-file-drop-icon{color:#9ca3af}.alt-file-drop.dragging .alt-file-drop-icon,.alt-file-drop:hover .alt-file-drop-icon{color:var(--color-primary)}.alt-file-drop.has-file .alt-file-drop-icon{color:#16a34a}.alt-file-drop-name{font-size:.9rem;font-weight:500;color:#374151;max-width:100%;overflow-wrap:anywhere}.alt-file-drop.has-file .alt-file-drop-name{color:#15803d}.alt-file-drop-hint{font-size:.8rem;color:#9ca3af}.alt-count-row{display:flex;flex-wrap:wrap;gap:6px}.alt-count-btn{width:42px;height:42px;min-height:42px;padding:0;border:1.5px solid #d1d5db;border-radius:var(--radius);background:#fff;font-size:.95rem;font-weight:600;color:#374151;cursor:pointer;transition:border-color .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alt-count-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary)}.alt-count-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.alt-count-btn:disabled{opacity:.45;cursor:not-allowed}.alt-count-hint{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;font-size:.8rem;line-height:1.45;color:#9ca3af;margin:0}.alt-count-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:#f3f4f6;color:#6b7280;padding:1px 5px;border-radius:4px}.alt-hint-danger{color:#b91c1c;font-weight:500}.alt-hint-danger>svg{flex-shrink:0;align-self:center}.alt-checkbox-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.alt-checkbox-row:has(input:disabled){cursor:not-allowed}.alt-checkbox-row input[type=checkbox]{width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.alt-checkbox-row input[type=checkbox]:disabled{cursor:not-allowed}.alt-checkbox-title{min-width:0;font-size:.875rem;font-weight:500;line-height:1.4;color:#374151}.alt-option{display:flex;align-items:flex-start;gap:6px}.alt-option>.alt-help{margin-top:2px}.alt-no-templates{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:var(--radius);font-size:.85rem;line-height:1.45;color:#92400e}.alt-no-templates>svg{flex-shrink:0}.alt-variants-list{display:grid;gap:10px}.alt-variant-item{display:flex;flex-direction:column;gap:5px;min-width:0}.alt-variant-controls{display:flex;align-items:center;gap:8px;min-width:0}.alt-variant-num{font-size:.8rem;font-weight:500;color:#6b7280}.alt-variant-item--original{background:#fefce8;border:1px dashed #fbbf24;border-radius:var(--radius);padding:8px 10px;align-items:flex-start}.alt-variant-original-badge{color:#92400e;font-weight:600;font-size:.75rem;background:#fef3c7;border:1px solid #fbbf24;border-radius:var(--radius-sm);padding:1px 8px;white-space:nowrap}.alt-variant-item--original .alt-variant-controls{width:100%}.alt-select{flex:1;min-width:0}.alt-markup{position:relative;flex-shrink:0;display:inline-flex;align-items:center}.alt-markup-input{width:92px;padding:10px 24px 10px 10px;text-align:left}.alt-markup-suffix{position:absolute;right:9px;font-size:.85rem;color:#9ca3af;pointer-events:none}.alt-launch{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:16px 20px}.alt-launch-summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.alt-launch-chip{display:inline-flex;align-items:center;padding:4px 10px;background:#f3f4f6;border-radius:999px;font-size:.78rem;font-weight:500;color:#4b5563;white-space:nowrap}.alt-launch-chip.is-danger{background:#fef2f2;color:#b91c1c}.alt-launch-action{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:0}.alt-launch-hint{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;line-height:1.4;color:#9ca3af;text-align:right}.alt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 18px;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;border:none;font-family:inherit;transition:background .15s,opacity .15s,transform .1s;white-space:nowrap}.alt-btn:disabled{opacity:.45;cursor:not-allowed}.alt-btn-primary{background:var(--color-primary);color:#fff}.alt-btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.alt-btn-primary:active:not(:disabled){transform:scale(.98)}.alt-btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.alt-btn-secondary:hover:not(:disabled){background:#e5e7eb}.alt-btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.alt-btn-danger:hover:not(:disabled){background:#fee2e2}.alt-btn-danger:active:not(:disabled){transform:scale(.98)}.alt-btn-lg{padding:12px 26px;font-size:.98rem}.alt-sets-link-card{display:flex;align-items:center;gap:16px;width:100%;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:16px 20px;cursor:pointer;text-align:left;font-family:inherit;transition:box-shadow .15s,border-color .15s}.alt-sets-link-card:hover{border-color:var(--color-primary);box-shadow:0 2px 12px #4a90e21a}.alt-sets-link-icon{display:flex;color:var(--color-primary);flex-shrink:0}.alt-sets-link-text{display:flex;flex-direction:column;gap:2px;min-width:0}.alt-sets-link-title{font-size:.95rem;font-weight:600;color:#111827}.alt-sets-link-sub{font-size:.825rem;font-weight:400;color:#6b7280}.alt-sets-link-arrow{margin-left:auto;font-size:1.2rem;color:#9ca3af;flex-shrink:0}.alt-format-row{display:flex;flex-wrap:wrap;gap:8px}.alt-format-btn{min-width:78px;height:42px;min-height:42px;padding:0 12px;border:1.5px solid #d1d5db;border-radius:var(--radius);background:#fff;font-size:.875rem;font-weight:600;font-family:inherit;letter-spacing:.03em;color:#374151;cursor:pointer;transition:border-color .15s,background .15s,color .15s;display:flex;align-items:center;justify-content:center}.alt-format-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary)}.alt-format-btn.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.alt-format-btn:disabled{opacity:.45;cursor:not-allowed}.alt-checkbox-row input[type=checkbox]:focus-visible,.alt-input:focus-visible,.alt-file-drop:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:1400px){.alt-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.alt-stages{grid-template-columns:minmax(0,1fr);gap:16px}.alt-launch{flex-direction:column;align-items:stretch}.alt-launch-action{align-items:stretch}.alt-launch-hint{text-align:left}.alt-launch-action .alt-btn{width:100%}}@media(max-width:600px){.alt-page,.alt-stage{padding:16px}.alt-success-card{flex-direction:column;text-align:center}.alt-success-actions{justify-content:center}.alt-nested{margin-left:14px}.alt-variant-controls{flex-wrap:wrap}.alt-markup-input{width:100px}}.alternative-sets-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.sets-header{flex-shrink:0;padding:1.5rem 2rem 0;background:transparent}.sets-header .page-header{margin-bottom:1rem}.sets-content{flex:1;overflow:hidden;padding:2rem;padding-top:0;background:#f5f5f5;display:flex;flex-direction:column;min-height:0}.sets-tabs-row{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;flex-wrap:wrap}.sets-tabs-row .page-tabs{margin-bottom:0}.sets-search-wrap{position:relative;display:flex;align-items:center;width:280px}.sets-search-icon{position:absolute;left:.65rem;color:#9ca3af;pointer-events:none;flex-shrink:0}.sets-search-input{width:100%;padding:.5rem 2.25rem .5rem 2.1rem;border:1px solid #d1d5db;border-radius:var(--radius);font-size:.875rem;font-family:inherit;background:#fff;transition:border-color .15s,box-shadow .15s;min-height:unset;height:36px;box-sizing:border-box}.sets-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.sets-search-clear{position:absolute;right:.4rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;min-height:unset;transition:color .15s}.sets-search-clear:hover{color:var(--color-danger)}.loading{text-align:center;padding:3rem;color:#9ca3af;font-size:.95rem}.empty-state{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:.875rem}.empty-icon-svg{color:#d1d5db;margin-bottom:.25rem}.empty-state p{color:#6b7280;font-size:.95rem;margin:0}.sets-list{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto;flex:1;min-height:0}.sets-table{width:100%;border-collapse:collapse}.sets-table thead{background:#f5f5f5}.sets-table thead th{position:sticky;top:0;z-index:2;background:#f5f5f5}.sets-table th{padding:.75rem .875rem;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.sets-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s}.sets-table th.sortable:hover{background-color:var(--color-primary-bg);color:var(--color-primary)}.sets-table th.sortable:active{background-color:#4a90e22e}.sets-table th.sortable.active-sort{background-color:var(--color-primary-bg);color:var(--color-primary-dark);font-weight:700}.sort-icon{display:inline-flex;align-items:center;vertical-align:middle;margin-left:.3rem;opacity:.55;transition:opacity .15s}.sets-table th.sortable:hover .sort-icon,.sets-table th.sortable.active-sort .sort-icon{opacity:1}.sets-table th:last-child{text-align:center}.sets-table td{padding:.75rem .875rem;color:#555;vertical-align:middle}.sets-table td:last-child{text-align:center}.sets-table tbody tr{border-bottom:1px solid #e0e0e0;cursor:pointer;transition:background .1s}.sets-table tbody tr:last-child{border-bottom:none}.sets-table tbody tr:hover{background:var(--color-primary-bg)}.set-row--processing{background:#fffbeb}.set-row--processing:hover{background:#fef9e7}.set-row--failed{background:#fef2f2}.set-row--failed:hover{background:#fee2e2}.sets-filename-cell{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;color:#374151}.sets-date-cell{white-space:nowrap;font-size:.82rem;color:#9ca3af}.sets-author-cell{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;color:#6b7280}.no-value{color:#d1d5db}.sets-progress-inline{display:flex;align-items:center;gap:.5rem;min-width:90px}.sets-progress-bar{flex:1;height:5px;background:#f3f4f6;border-radius:3px;overflow:hidden}.sets-progress-fill{height:100%;background:linear-gradient(90deg,#ff9800,#ffb300);border-radius:3px;transition:width .5s ease}.sets-progress-pct{font-size:.75rem;font-weight:700;color:#c2410c;white-space:nowrap}.sets-processing-text{font-size:.82rem;color:#c2410c}.sets-failed-text{font-size:.82rem;color:var(--color-danger-dark);font-weight:600}.set-kp-cell{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.set-split-badge{display:inline-flex;align-items:center;gap:3px;font-size:.68rem;font-weight:700;letter-spacing:.01em;white-space:nowrap;color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe;border-radius:var(--radius-sm);padding:.1rem .4rem}.set-split-badge svg{flex-shrink:0}.set-kp-badge{display:inline-block;font-weight:700;color:var(--color-primary-dark);font-size:.72rem;letter-spacing:.01em;white-space:nowrap;background:var(--color-primary-bg);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:.1rem .45rem;width:fit-content}.action-buttons{display:flex;align-items:center;justify-content:center;gap:4px}.btn-icon-action{width:30px;height:30px;min-height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:var(--radius-sm);cursor:pointer;color:#6b7280;transition:all .15s}.btn-icon-download:hover{background:var(--color-primary-bg);color:var(--color-primary)}.btn-icon-danger:hover{background:var(--color-danger-bg);color:var(--color-danger)}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px 3px 7px;border-radius:20px;font-size:.775rem;font-weight:600;white-space:nowrap;flex-shrink:0}.status-processing{background:#fff7ed;color:#c2410c}.status-completed{background:var(--color-success-bg);color:#15803d}.status-failed{background:var(--color-danger-bg);color:var(--color-danger-dark)}.status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-processing .status-dot{animation:statusPulse 1.5s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.25}}.modal-content.set-details-modal{background:#fff;border-radius:var(--radius-lg);width:95%;max-width:1400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;animation:modalSlideIn .2s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-body{padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem}.set-modal-title{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-weight:700;font-size:1rem;color:#111827}.modal-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.metric-card{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:var(--radius);padding:.875rem 1rem}.metric-label{font-size:.72rem;color:#9ca3af;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.375rem}.metric-value{font-size:1rem;font-weight:600;color:#111827;display:flex;align-items:center}.metric-value--sm{font-size:.875rem;font-weight:500;color:#374151}.metric-value--large{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.metric-card--download{background:var(--color-success-bg);border-color:#bbf7d0;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.75rem;text-align:left;padding:.875rem 1rem}.metric-card--download:hover{background:#dcfce7;border-color:#4ade80;transform:translateY(-1px);box-shadow:0 2px 8px #4caf5026}.metric-card--download .download-icon-wrap{color:#16a34a;flex-shrink:0}.metric-card--download .metric-label{color:#15803d}.metric-label-sub{font-size:.82rem;font-weight:600;color:#16a34a}.variants-table-wrapper{overflow-x:auto;border:1px solid #e5e7eb;border-radius:var(--radius)}.variants-table{width:100%;border-collapse:collapse;font-size:.875rem}.variants-table thead tr{background:#f8f9fa;border-bottom:2px solid #e5e7eb}.variants-table th{padding:.625rem .875rem;text-align:left;font-weight:600;color:#9ca3af;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.variants-table tbody tr{border-bottom:1px solid #f3f4f6;transition:background .15s}.variants-table tbody tr:last-child{border-bottom:none}.variants-table tbody tr:hover{background:#f9fafb}.variants-table td{padding:.7rem .875rem;vertical-align:middle;color:#374151}.variants-table tbody tr.original-row{background:#fffbeb}.variants-table tbody tr.original-row td{border-bottom-color:#fef3c7}.variants-table tbody tr.original-row:hover{background:#fef9e7}.original-badge{display:inline-block;background:#fef3c7;color:#92400e;border:1px solid #fde68a;border-radius:4px;padding:1px 6px;font-size:.7rem;font-weight:700;white-space:nowrap;letter-spacing:.03em}.kp-number-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.kp-number{font-weight:700;color:var(--color-primary-dark);font-size:.875rem}.filename-cell{font-size:.8rem;color:#6b7280;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.amount-cell{font-weight:600;color:#111827;white-space:nowrap}.increase-cell{color:#16a34a;font-weight:600}.decrease-cell{color:#ea580c;font-weight:600}.template-name{display:inline-flex;align-items:center;gap:4px;font-size:.82rem;color:#374151}.no-template,.original-dash{color:#d1d5db}.btn-action{width:28px;height:28px;min-height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;border:none;border-radius:var(--radius-sm);cursor:pointer;color:#6b7280;transition:all .15s}.btn-action:hover{background:var(--color-primary-bg);color:var(--color-primary)}.variant-download-btns{display:inline-flex;gap:6px;flex-wrap:wrap}.btn-action--format{width:auto;padding:0 9px;gap:4px;font-size:.72rem;font-weight:600;letter-spacing:.02em}.positions-section{display:flex;flex-direction:column;gap:6px}.positions-toolbar{position:sticky;top:-1.5rem;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-top:-1.5rem;margin-bottom:2px;padding:calc(1.5rem + 6px) 0 8px;background:#fff;border-bottom:1px solid #eef0f3}.positions-toolbar-info{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:#6b7280}.positions-toolbar-info svg{color:#9ca3af;flex-shrink:0}.positions-toolbar-info b{color:#111827;font-weight:700}.positions-toolbar-actions{display:inline-flex;gap:6px}.positions-toolbar-btn{padding:4px 10px;min-height:unset;font-size:.78rem;font-weight:600;color:#374151;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}.positions-toolbar-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.position-group{border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden;background:#fff}.position-group.is-expanded{border-color:#d1d5db;box-shadow:0 1px 3px #0000000d}.position-group-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;padding:8px 12px;min-height:unset;background:#fbfbfc;border:none;cursor:pointer;text-align:left;transition:background .15s}.position-group-header:hover{background:var(--color-primary-bg)}.position-group.is-expanded .position-group-header{background:#f3f4f6;border-bottom:1px solid #e5e7eb}.position-group-chevron{flex-shrink:0;color:#9ca3af;transition:transform .18s ease;transform:rotate(-90deg)}.position-group.is-expanded .position-group-chevron{transform:rotate(0)}.position-group-index{flex-shrink:0;min-width:24px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-primary-bg);color:var(--color-primary-dark);font-size:.72rem;font-weight:700;text-align:center}.position-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600;color:#111827}.position-group-summary{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.position-group-chip{padding:1px 7px;border-radius:999px;font-size:.71rem;font-weight:600;white-space:nowrap;color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb}.position-group-chip--original{color:#92400e;background:#fffbeb;border-color:#fde68a}.position-group-chip--variants{color:#374151;background:#fff}.position-group-body{background:#fff}.variants-table-wrapper--flush{border:none;border-radius:0}.variants-table-wrapper--flush .variant-download-btns{flex-wrap:nowrap}.variants-table-wrapper--flush .variants-table td:last-child{white-space:nowrap;text-align:right}.variants-table-wrapper--flush .variants-table th,.variants-table-wrapper--flush .variants-table td{padding-left:.6rem;padding-right:.6rem}.variants-table-wrapper--flush .filename-cell{max-width:150px}.variants-table-wrapper--flush .template-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.positions-ungrouped{margin-top:10px}.positions-ungrouped-title{font-size:.78rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.nmck-section{margin-top:18px;padding-top:16px;border-top:1px solid #eef0f3}.nmck-regenerate-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.nmck-regenerate-option{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none}.nmck-regenerate-option input{cursor:pointer}.nmck-section-title{display:flex;align-items:center;gap:6px;width:100%;font-size:.85rem;font-weight:600;color:#374151;background:none;border:none;padding:4px 0;cursor:pointer;text-align:left;transition:color .15s}.nmck-section-title:hover{color:var(--color-primary)}.nmck-section-chevron{flex-shrink:0;color:#9ca3af;transition:transform .18s ease;transform:rotate(-90deg)}.nmck-section.is-expanded .nmck-section-chevron{transform:rotate(0)}.nmck-section-title:hover .nmck-section-chevron{color:var(--color-primary)}.nmck-section-count{font-size:.72rem;font-weight:600;color:var(--color-primary);background:var(--color-primary-bg);border-radius:999px;padding:1px 8px}.nmck-section-hint{margin-left:auto;font-size:.72rem;font-weight:500;color:#9ca3af}.nmck-files-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px;margin-top:10px;max-height:260px;overflow-y:auto;padding-right:2px}.nmck-file-btn{display:flex;align-items:center;gap:7px;min-width:0;padding:7px 10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:var(--radius-sm);cursor:pointer;color:#374151;font-size:.8rem;text-align:left;transition:background .15s,border-color .15s}.nmck-file-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary);color:var(--color-primary)}.nmck-file-btn svg{flex-shrink:0}.nmck-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.sets-header{padding:1rem 1rem 0}.sets-content{padding:1rem;padding-top:0;gap:.75rem}.sets-tabs-row{flex-wrap:wrap}.sets-search-wrap{width:100%}.modal-content.set-details-modal{width:100%;max-width:100%;max-height:100dvh;border-radius:0}.modal-metrics{grid-template-columns:1fr 1fr}.position-group-header{flex-wrap:wrap;row-gap:6px}.position-group-name{flex:1 1 100%;order:3;white-space:normal}.position-group-summary{flex:1 1 100%;order:4;justify-content:flex-start}.positions-toolbar{align-items:flex-start}}.kp-templates-page{display:flex;flex-direction:column;height:100%;padding:1.5rem 2rem;max-width:960px;box-sizing:border-box}.kp-templates-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-shrink:0}.kp-templates-page .page-header h2{margin:0 0 .35rem}.kp-templates-page .page-header p{margin:0}.upload-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:14px 16px 12px;margin-bottom:12px;flex-shrink:0}.upload-hint{color:#6b7280;font-size:.8rem;margin-bottom:12px;line-height:1.45}.upload-hint code{background:#e5e7eb;padding:1px 5px;border-radius:4px;font-family:monospace;font-size:.8em}.upload-fields{display:flex;flex-direction:column;gap:8px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.8rem;font-weight:500;color:#374151}.form-input{width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-size:.875rem;outline:none;transition:border-color .15s;box-sizing:border-box}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a90e226}.file-input{display:none}.file-label{display:flex;align-items:center;gap:6px;padding:7px 10px;background:#fff;border:1px dashed #d1d5db;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;color:#6b7280;transition:border-color .15s,background .15s,color .15s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.file-label:hover{border-color:var(--color-primary);background:var(--color-primary-bg);color:var(--color-primary)}.file-label-sm{font-size:.8rem;padding:5px 10px}.upload-actions{display:flex;gap:10px;margin-top:12px}.templates-list-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px}.templates-list-area::-webkit-scrollbar{width:5px}.templates-list-area::-webkit-scrollbar-track{background:transparent}.templates-list-area::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.templates-list-area::-webkit-scrollbar-thumb:hover{background:#9ca3af}.loading{text-align:center;padding:60px 0;color:#6b7280;font-size:.9rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:180px;color:#9ca3af;gap:10px}.empty-icon{font-size:2.5rem}.empty-state p{font-size:.9rem;margin:0}.templates-grid{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.template-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);transition:box-shadow .15s,border-color .15s;overflow:hidden}.template-card:not(.editing){display:flex;align-items:center;gap:12px;padding:12px 14px}.template-card:not(.editing):hover{box-shadow:var(--shadow);border-color:#d1d5db}.template-card.editing{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a90e21f}.template-icon{font-size:1.5rem;flex-shrink:0;line-height:1}.template-info{flex:1;min-width:0}.template-name{font-weight:600;font-size:.95rem;color:#111827;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-company{font-size:.8rem;color:var(--color-primary);margin-bottom:2px}.template-description{font-size:.8rem;color:#6b7280;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.template-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#9ca3af}.template-format{background:var(--color-primary-bg);color:var(--color-primary);padding:1px 5px;border-radius:4px;font-weight:500;flex-shrink:0}.template-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic;min-width:0}.template-date{flex-shrink:0}.template-actions{display:flex;gap:6px;flex-shrink:0}.templates-order-hint{margin:0 0 10px;font-size:.8rem;color:#6b7280}.templates-order-hint svg{vertical-align:-2px}.template-drag-handle{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:36px;min-height:0;padding:0;margin:0 -4px 0 -6px;border:none;border-radius:var(--radius-sm);background:none;color:#9ca3af;cursor:grab;touch-action:none}.template-drag-handle:hover:not([aria-disabled=true]){background:#f3f4f6;color:#4b5563}.template-drag-handle:active:not([aria-disabled=true]){cursor:grabbing}.template-drag-handle:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.template-drag-handle[aria-disabled=true]{opacity:.5;cursor:progress}.templates-grid .template-card.dragging{opacity:.45}.templates-grid .template-card.drop-before{box-shadow:0 -3px 0 var(--color-primary)}.templates-grid .template-card.drop-after{box-shadow:0 3px 0 var(--color-primary)}.templates-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.template-default-badge{display:inline-block;margin-left:8px;padding:1px 7px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.7rem;font-weight:500;vertical-align:middle}.template-edit-form{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.edit-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.edit-row-full{grid-template-columns:1fr}.form-group-full{grid-column:1 / -1}.form-hint{display:block;margin-top:4px;font-size:.78rem;color:#9ca3af;line-height:1.4}.form-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#f3f4f6;color:#6b7280;padding:1px 5px;border-radius:4px}.template-mask{margin-top:6px;font-size:.78rem;color:#9ca3af}.template-mask code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;background:#f3f4f6;color:#6b7280;padding:1px 5px;border-radius:4px}.edit-file-wrap{min-width:0}.edit-actions{display:flex;gap:8px;justify-content:flex-end}.managers-page{display:flex;flex-direction:column;height:100%;padding:1.5rem 2rem;max-width:960px;box-sizing:border-box}.managers-page .page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;flex-shrink:0}.managers-page .page-header h2{margin:0 0 .35rem}.managers-page .page-header p{margin:0}.manager-create-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:var(--radius-lg);padding:14px 16px 12px;margin-bottom:12px;flex-shrink:0}.manager-create-hint{color:#6b7280;font-size:.8rem;margin-bottom:12px;line-height:1.45}.manager-create-hint code{background:#e5e7eb;padding:1px 5px;border-radius:4px;font-family:monospace;font-size:.8em}.manager-create-actions{display:flex;gap:10px;margin-top:12px}.managers-page .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.managers-page .form-group{display:flex;flex-direction:column;gap:4px}.managers-page .form-group label{font-size:.8rem;font-weight:500;color:#374151}.managers-page .form-input{width:100%;padding:7px 10px;border:1px solid #d1d5db;border-radius:var(--radius-sm);font-size:.875rem;outline:none;transition:border-color .15s;box-sizing:border-box}.managers-page .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a90e226}.managers-page .edit-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.managers-page .edit-actions{display:flex;gap:8px;justify-content:flex-end}.managers-list-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px}.managers-list-area::-webkit-scrollbar{width:5px}.managers-list-area::-webkit-scrollbar-track{background:transparent}.managers-list-area::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.managers-list-area::-webkit-scrollbar-thumb:hover{background:#9ca3af}.managers-grid{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.manager-card{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);transition:box-shadow .15s,border-color .15s;overflow:hidden}.manager-card:not(.editing){display:flex;align-items:center;gap:12px;padding:12px 14px}.manager-card:not(.editing):hover{box-shadow:var(--shadow);border-color:#d1d5db}.manager-card.editing{border-color:var(--color-primary);box-shadow:0 0 0 2px #4a90e21f}.manager-icon{flex-shrink:0;line-height:1;color:#6b7280}.manager-info{flex:1;min-width:0}.manager-name{font-weight:600;font-size:.95rem;color:#111827;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manager-contact{display:flex;align-items:center;gap:5px;font-size:.8rem;color:var(--color-primary);margin-bottom:2px}.manager-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;color:#9ca3af}.manager-actions{display:flex;gap:6px;flex-shrink:0}.manager-edit-form{padding:12px 14px;display:flex;flex-direction:column;gap:8px}.spool-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.spool-page .page-header{padding:1.5rem 2rem 1rem;flex-shrink:0}.spool-page .page-header p{margin:.3rem 0 0;font-size:.88rem;color:#6b7280;line-height:1.5}.spool-columns{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:0 2rem 2rem;overflow:hidden;min-height:0}@media(max-width:900px){.spool-columns{grid-template-columns:1fr;overflow-y:auto}}.spool-panel{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #e9ecef;display:flex;flex-direction:column;overflow:hidden;min-height:0}.spool-panel-header{display:flex;align-items:center;gap:.5rem;padding:.9rem 1.1rem;border-bottom:1px solid #f3f4f6;flex-shrink:0;background:#fafafa}.spool-panel-icon{color:#6b7280;flex-shrink:0}.spool-panel-icon--pool{color:var(--color-primary)}.spool-panel-title{font-size:.95rem;font-weight:700;color:#1e293b}.spool-panel-count{font-size:.78rem;font-weight:600;color:#9ca3af;background:#f3f4f6;border-radius:999px;padding:.1rem .45rem;flex-shrink:0}.spool-panel-header .page-btn{margin-left:auto}.spool-panel-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.spool-panel-loading{padding:2rem;text-align:center;color:#9ca3af;font-size:.875rem}.spool-panel-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:2.5rem 1.5rem;color:#9ca3af;text-align:center}.spool-panel-empty p{margin:0;font-size:.95rem;font-weight:600;color:#6b7280}.spool-panel-empty span{font-size:.82rem;line-height:1.5}.spool-panel-hint{padding:1.25rem 1.5rem;font-size:.85rem;color:#9ca3af;line-height:1.5;text-align:center}.spool-item{display:flex;align-items:center;gap:.6rem;padding:.65rem 1.1rem;border-bottom:1px solid #f9fafb;transition:background .12s;cursor:pointer}.spool-item:last-child{border-bottom:none}.spool-item:hover{background:#f9fafb}.spool-item:hover .spool-item-actions{opacity:1}.spool-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.spool-item-name{font-size:.875rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spool-item-sub{font-size:.78rem;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spool-item-tags{display:flex;flex-wrap:wrap;gap:.3rem}.spool-tag{display:inline-block;padding:.1rem .4rem;background:var(--color-primary-bg);color:var(--color-primary);border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap}.spool-item-pill{display:inline-flex;align-items:center;padding:.15rem .5rem;background:#f3f4f6;border-radius:999px;font-size:.72rem;font-weight:600;color:#6b7280;flex-shrink:0;white-space:nowrap}.spool-item-pill--blue{background:var(--color-primary-bg);color:var(--color-primary)}.spool-item-actions{display:flex;gap:.2rem;opacity:0;transition:opacity .12s;flex-shrink:0}.spool-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.spool-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.spool-modal--sm{max-width:400px}.spool-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.spool-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#1a1a1a}.spool-modal-close{background:transparent;border:none;cursor:pointer;color:#9ca3af;border-radius:var(--radius-sm);padding:.2rem;display:flex;align-items:center;transition:color .15s,background .15s}.spool-modal-close:hover{color:#374151;background:#f3f4f6}.spool-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem}.spool-modal-body p{margin:0;color:#374151;font-size:.95rem;line-height:1.6}.spool-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f3f4f6;flex-shrink:0}.spool-form-group{display:flex;flex-direction:column;gap:.4rem}.spool-form-group label{font-size:.875rem;font-weight:600;color:#374151;display:flex;align-items:center;justify-content:space-between}.spool-required{color:#dc2626}.spool-count-hint{font-size:.78rem;font-weight:500;color:var(--color-primary);margin-left:auto}.spool-input{width:100%;padding:.55rem .75rem;border:1.5px solid #d1d5db;border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:#1a1a1a;transition:border-color .15s,box-shadow .15s;box-sizing:border-box}.spool-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.spool-textarea{width:100%;padding:.55rem .75rem;border:1.5px solid #d1d5db;border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:#1a1a1a;resize:vertical;transition:border-color .15s;box-sizing:border-box}.spool-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.spool-checklist{border:1.5px solid #e5e7eb;border-radius:var(--radius);overflow:hidden}.spool-checklist-search{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid #f3f4f6;background:#fafafa}.spool-checklist-search svg:first-child{color:#9ca3af;flex-shrink:0}.spool-checklist-search input{flex:1;border:none;background:transparent;font-size:.85rem;font-family:inherit;color:#374151;outline:none}.spool-checklist-search input::placeholder{color:#9ca3af}.spool-checklist-search button{background:transparent;border:none;cursor:pointer;color:#9ca3af;display:flex;align-items:center;padding:.1rem;border-radius:4px}.spool-checklist-search button:hover{color:#374151}.spool-checklist-items{max-height:220px;overflow-y:auto}.spool-checklist-empty{padding:.75rem 1rem;color:#9ca3af;font-size:.85rem;text-align:center}.spool-checklist-empty--padded{padding:1rem}.spool-checklist-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;cursor:pointer;transition:background .12s;border-bottom:1px solid #f9fafb}.spool-checklist-row:last-child{border-bottom:none}.spool-checklist-row:hover{background:#f9fafb}.spool-checklist-row.checked{background:var(--color-primary-bg)}.spool-checklist-row.checked:hover{background:#4a90e21f}.spool-checkbox{width:16px;height:16px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.spool-checkbox--on{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.spool-hidden-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.spool-checklist-primary{flex:1;font-size:.875rem;color:#1a1a1a;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spool-checklist-secondary{font-size:.75rem;color:#9ca3af;white-space:nowrap;flex-shrink:0}.spool-badge{font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:4px;background:#f3f4f6;color:#6b7280;flex-shrink:0;white-space:nowrap}@media(max-width:900px){.spool-page .page-header{padding:1rem 1rem .75rem}.spool-columns{padding:0 1rem 1.5rem;gap:1rem}.spool-modal{max-width:100%;max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0;align-self:flex-end}.spool-modal-overlay{align-items:flex-end;padding:0}.spool-item-actions{opacity:1}}.syn-page{display:flex;flex-direction:column;height:100%;padding:1.5rem 2rem;max-width:1240px;box-sizing:border-box}.syn-page .page-header{margin-bottom:1rem;flex-shrink:0;flex-wrap:wrap}.syn-page .page-header>div:first-child{flex:1 1 320px;min-width:0}.syn-page .page-header p{max-width:720px}.syn-page .page-header .page-btn{flex-shrink:0;white-space:nowrap}.syn-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1.25rem;align-items:start}.syn-main{display:flex;flex-direction:column;height:100%;min-height:0;min-width:0}.syn-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-shrink:0}.syn-search{position:relative;flex:1;max-width:360px;display:flex;align-items:center}.syn-search>svg{position:absolute;left:.7rem;color:#9ca3af;pointer-events:none}.syn-page .syn-search-input,.syn-page .syn-input{width:100%;min-height:38px;height:38px;padding:0 2rem 0 .75rem;border:1.5px solid #d1d5db;border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:#1a1a1a;background:#fff;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.syn-page .syn-search-input{padding-left:2.1rem}.syn-page .syn-search-input:focus,.syn-page .syn-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.syn-page .syn-input-clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:24px;height:24px;min-height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:#9ca3af;cursor:pointer}.syn-page .syn-input-clear:hover{color:#374151;background:#f3f4f6}.syn-stats{margin-left:auto;font-size:.8rem;color:#9ca3af;white-space:nowrap}.syn-list-area{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px}.syn-list-area::-webkit-scrollbar{width:5px}.syn-list-area::-webkit-scrollbar-track{background:transparent}.syn-list-area::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.syn-list-area::-webkit-scrollbar-thumb:hover{background:#9ca3af}.syn-list{display:flex;flex-direction:column;gap:8px;padding-bottom:8px}.syn-group{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);transition:box-shadow .15s,border-color .15s}.syn-group:hover{box-shadow:var(--shadow);border-color:#d1d5db}.syn-group-info{flex:1;min-width:0;cursor:pointer}.syn-group-terms{display:flex;flex-wrap:wrap;align-items:center;gap:6px 0}.syn-group-term{display:inline-flex;align-items:center}.syn-equals{margin:0 7px;color:#9ca3af;font-weight:600;font-size:.85rem;-webkit-user-select:none;user-select:none}.syn-group-comment{margin-top:6px;font-size:.8rem;line-height:1.4;color:#6b7280;overflow-wrap:anywhere}.syn-group--off{background:#fafafa}.syn-group--off .syn-chip{background:#f3f4f6;color:#9ca3af}.syn-group--off .syn-group-comment{color:#9ca3af}.syn-group-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.syn-group-actions .syn-toggle{margin-right:6px}.syn-chip{display:inline-flex;align-items:center;gap:4px;padding:.2rem .6rem;background:var(--color-primary-bg);color:#1d4ed8;border-radius:999px;font-size:.85rem;font-weight:500;line-height:1.35;overflow-wrap:anywhere}.syn-chip--editable{padding-right:.3rem}.syn-chip--matched{background:var(--color-primary);color:#fff}.syn-chip .syn-chip-remove{width:16px;height:16px;min-height:16px;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border:none;border-radius:50%;color:inherit;opacity:.55;cursor:pointer}.syn-chip .syn-chip-remove:hover:not(:disabled){opacity:1;background:#1d4ed81f}.syn-toggle{position:relative;width:38px;height:21px;min-width:38px;min-height:21px;max-height:21px;padding:0;border:none;border-radius:11px;background:#d1d5db;cursor:pointer;overflow:hidden;flex-shrink:0;transition:background .22s}.syn-toggle--on{background:var(--color-success)}.syn-toggle:disabled{cursor:default;opacity:.6}.syn-toggle-thumb{display:block;position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:left .22s}.syn-toggle--on .syn-toggle-thumb{left:20px}.syn-toggle:focus-visible{outline:2px solid rgba(74,144,226,.6);outline-offset:2px}.syn-empty{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:3rem 1.5rem;text-align:center;color:#9ca3af;background:#fff;border:1px dashed #d1d5db;border-radius:var(--radius-lg)}.syn-empty p{margin:.25rem 0 0;font-size:1rem;font-weight:600;color:#6b7280}.syn-empty span{max-width:460px;font-size:.85rem;line-height:1.5}.syn-preview{display:flex;flex-direction:column;gap:.75rem;max-height:100%;overflow-y:auto;padding:1rem 1.1rem 1.1rem;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box}.syn-preview-title{display:flex;align-items:center;gap:.45rem;font-size:.95rem;font-weight:700;color:#1e293b}.syn-preview-title svg{color:var(--color-primary)}.syn-preview-hint{margin:0;font-size:.8rem;line-height:1.45;color:#6b7280}.syn-preview-field{position:relative}.syn-preview-note{padding:.6rem .75rem;background:#f9fafb;border-radius:var(--radius);font-size:.82rem;line-height:1.45;color:#6b7280}.syn-preview-note--warn{background:#fffbeb;color:#92400e}.syn-preview-result{display:flex;flex-direction:column;gap:.5rem;transition:opacity .15s}.syn-preview-result--stale{opacity:.55}.syn-preview-label{margin-top:.25rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af}.syn-preview-match{display:flex;flex-wrap:wrap;gap:5px}.syn-preview-variants{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.syn-preview-variants li{display:flex;flex-direction:column;gap:2px;padding:.5rem .7rem;background:#f9fafb;border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.syn-preview-variant-text{font-size:.875rem;font-weight:500;color:#111827;overflow-wrap:anywhere}.syn-preview-variant-rule{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:.75rem;color:#9ca3af}.syn-modal-overlay{position:fixed;inset:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.syn-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.syn-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem 1rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.syn-modal-header h3{margin:0;font-size:1.1rem;font-weight:700;color:#1a1a1a}.syn-modal .syn-modal-close{min-height:0;padding:.2rem;display:flex;align-items:center;background:transparent;border:none;border-radius:var(--radius-sm);color:#9ca3af;cursor:pointer;transition:color .15s,background .15s}.syn-modal .syn-modal-close:hover:not(:disabled){color:#374151;background:#f3f4f6}.syn-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1.1rem}.syn-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #f3f4f6;flex-shrink:0}.syn-form-group{display:flex;flex-direction:column;gap:.4rem}.syn-form-group label{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:600;color:#374151}.syn-count-hint{font-size:.78rem;font-weight:500;color:#9ca3af}.syn-field-hint{font-size:.78rem;line-height:1.45;color:#6b7280}.syn-terms-box{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 8px;border:1.5px solid #d1d5db;border-radius:var(--radius);background:#fff;box-sizing:border-box;cursor:text;transition:border-color .15s,box-shadow .15s}.syn-terms-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.syn-terms-box--disabled{background:#f9fafb}.syn-terms-box .syn-terms-draft{flex:1;min-width:140px;min-height:28px;height:28px;padding:0 4px;border:none;background:transparent;font-size:.9rem;font-family:inherit;color:#1a1a1a;outline:none}.syn-modal .syn-textarea{width:100%;min-height:60px;padding:.55rem .75rem;border:1.5px solid #d1d5db;border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:#1a1a1a;resize:vertical;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.syn-modal .syn-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.syn-switch-row{display:flex;align-items:flex-start;gap:.75rem}.syn-switch-row .syn-toggle{margin-top:2px}.syn-switch-title{font-size:.875rem;font-weight:600;color:#374151}@media(max-width:1100px){.syn-body{flex:0 0 auto;grid-template-columns:minmax(0,1fr)}.syn-preview{order:-1;max-height:none;overflow:visible}.syn-main{height:auto}.syn-list-area{flex:none;overflow:visible}}@media(max-width:768px){.syn-page{padding:1rem}.syn-toolbar{flex-wrap:wrap;gap:.5rem}.syn-search{max-width:none;flex-basis:100%}.syn-stats{margin-left:0}.syn-group{flex-wrap:wrap}.syn-group-info{flex-basis:100%}.syn-group-actions{margin-left:auto}.syn-modal-overlay{align-items:flex-end;padding:0}.syn-modal{max-width:100%;max-height:95vh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}}.sysset-page{display:flex;flex-direction:column;height:100%;overflow:hidden}.sysset-header{flex-shrink:0;padding:1.5rem 2rem 0}.sysset-header .page-header{margin-bottom:1rem}.sysset-content{flex:1;overflow:hidden;padding:1.5rem 2rem 2rem;background:#f5f5f5;display:flex;flex-direction:column;min-height:0}.sysset-list{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:auto;flex:1;min-height:0}.sysset-table{width:100%;border-collapse:collapse}.sysset-table thead{background:#f5f5f5}.sysset-table thead th{position:sticky;top:0;z-index:2;background:#f5f5f5}.sysset-table th{padding:.75rem 1rem;text-align:left;font-weight:600;font-size:.85rem;color:#333;border-bottom:2px solid #e0e0e0;white-space:nowrap}.sysset-row{cursor:pointer;transition:background-color .12s;border-bottom:1px solid #f0f0f0}.sysset-row:hover{background-color:var(--color-primary-bg, #f0f7ff)}.sysset-row td{padding:.9rem 1rem;vertical-align:middle}.sysset-name-cell{font-weight:600;color:#1a1a1a;font-size:.95rem;white-space:nowrap}.sysset-value-cell{white-space:nowrap}.sysset-value-badge{display:inline-block;padding:.25rem .65rem;background:#f0f7ff;border:1px solid #bdd6f5;border-radius:6px;font-family:monospace;font-size:.95rem;font-weight:700;color:#1e40af;letter-spacing:.04em}.sysset-desc-cell{color:#6b7280;font-size:.875rem}.sysset-group-first td{border-top:2px solid #e8eaed}.sysset-table tbody tr:first-child td{border-top:none}.sysset-value-mono{font-family:monospace;letter-spacing:.04em}.sysset-number-row{display:flex;align-items:center;gap:.5rem}.sysset-unit{font-size:.9rem;color:#6b7280;white-space:nowrap}.sysset-modal-body{display:flex;flex-direction:column;gap:1.5rem;padding:.25rem 0}.ss-fields{display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-start}.ss-field{display:flex;flex-direction:column;gap:.4rem;flex:1;min-width:150px}.ss-label{display:flex;flex-direction:column;gap:.2rem;font-size:.95rem;font-weight:600;color:#333}.ss-hint{font-size:.8rem;font-weight:400;color:#888;line-height:1.4}.ss-input{padding:.6rem .9rem;border:2px solid #e0e7f0;border-radius:8px;font-size:1rem;color:#1a1a1a;background:#fff;transition:border-color .2s,box-shadow .2s;outline:none;width:100%;box-sizing:border-box}.ss-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #4a90e21f}.ss-input-sm{max-width:120px}.ss-preview-row{margin-top:.25rem}.ss-preview-box{display:inline-flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;background:#f0f7ff;border:1px solid #bdd6f5;border-radius:8px}.ss-preview-label{font-size:.9rem;color:#555}.ss-preview-value{font-size:1.15rem;font-weight:700;color:#1e40af;letter-spacing:.04em;font-family:monospace}.ss-actions{display:flex;gap:1rem;align-items:center}.profile-info-row{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid #f0f0f0}.profile-info-label{min-width:80px;font-size:.9rem;color:#888;font-weight:500}.profile-info-value{font-size:.95rem;color:#333}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-form .ss-label{min-height:2.8rem;justify-content:flex-end}.profile-preview{font-size:.9rem;color:#555;background:#f0f7ff;border:1px solid #bdd6f5;border-radius:8px;padding:.6rem 1rem}.aup-breadcrumb{margin-bottom:1rem}.aup-back-btn{background:none;border:none;color:#4a90e2;font-size:.9rem;font-weight:500;cursor:pointer;padding:0;transition:color .15s}.aup-back-btn:hover{color:#2868a8}.aup-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.aup-header-row h2{margin:0 0 .25rem}.aup-header-row p{margin:0}.aup-role-badge{display:inline-block;padding:.3rem .9rem;border-radius:8px;font-size:.82rem;font-weight:700;white-space:nowrap;flex-shrink:0;margin-top:.5rem}.aup-role-admin{background:#fff3e0;color:#e65100}.aup-role-catalog{background:#f3e5f5;color:#7b1fa2}.aup-role-coordinator{background:#e8f5e9;color:#2e7d32}.aup-role-estimator{background:#fff8e1;color:#b28704}.aup-role-user{background:#e3f2fd;color:#1565c0}.aup-role-field{display:flex;flex-direction:column;gap:.4rem;max-width:320px}.aup-role-select{cursor:pointer}.aup-label{min-height:auto!important;justify-content:flex-start!important}:root{--color-primary: #4a90e2;--color-primary-dark: #357abd;--color-primary-bg: #eff6ff;--color-success: #4caf50;--color-success-dark: #45a049;--color-success-bg: #f0fdf4;--color-danger: #f44336;--color-danger-dark: #d32f2f;--color-danger-bg: #fff5f5;--radius-sm: 6px;--radius: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow: 0 2px 8px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased}.app{height:100vh;width:100vw;display:flex;flex-direction:column;background:#f5f5f5;overflow:hidden}.sidebar{position:fixed;top:0;left:0;width:220px;height:100vh;background:#fff;box-shadow:2px 0 8px #00000014;display:flex;flex-direction:column;z-index:90;transition:transform .3s ease}.sidebar.modal-open{transform:translate(-100%)}.sidebar-brand{padding-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0}.brand-row{display:flex;align-items:center;gap:.75rem}.brand-logo{height:36px;width:auto}.brand-title{font-size:1.2rem;font-weight:700;color:#333}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.nav-section{margin-bottom:.25rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;color:#666;transition:all .2s;border-left:3px solid transparent;background:none;border-top:none;border-right:none;border-bottom:none;width:100%;text-align:left;cursor:pointer;font-family:inherit;position:relative}.sidebar-link:hover{background:#f5f5f5;color:var(--color-primary)}.sidebar-link.active{background:var(--color-primary-bg);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.sidebar-link.parent{font-weight:600;color:#333}.sidebar-link.parent:hover{background:#f0f0f0;color:var(--color-primary)}.sidebar-link.parent.active{background:transparent;color:var(--color-primary);border-left-color:transparent;font-weight:700}.sidebar-icon{font-size:1.3rem;min-width:28px;text-align:center;flex-shrink:0}.sidebar-text{font-size:.95rem;white-space:nowrap;flex:1}.expand-icon{font-size:.7rem;color:#999;margin-left:auto;transition:transform .2s}.sidebar-link.subitem{font-size:.9rem;color:#666;font-weight:400;padding-left:1rem}.sidebar-link.subitem .sidebar-icon{font-size:1.1rem;opacity:.7}.sidebar-link.subitem .sidebar-text{font-size:.88rem}.sidebar-link.subitem:hover{background:#f5f5f5;color:var(--color-primary)}.sidebar-link.subitem.active{background:var(--color-primary-bg);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:600}.sidebar-footer{margin-top:auto;border-top:1px solid #e0e0e0;padding:.85rem;flex-shrink:0;display:flex;flex-direction:column;gap:.65rem;background:#fafafa}.user-block{display:flex;flex-direction:column;gap:.5rem}.user-profile-link{display:block;text-decoration:none;color:inherit;border-radius:6px;transition:background .15s;padding:.2rem .35rem;margin:-.2rem -.35rem}.user-profile-link:hover{background:#2196f312}.user-display-name{font-size:.88rem;font-weight:600;color:#1a1a1a;text-align:center;line-height:1.3;word-break:break-word}.user-email{font-size:.82rem;color:#333;font-weight:500;line-height:1.3;word-break:break-word;text-align:center}.user-bottom{display:flex;align-items:center;gap:.5rem}.admin-badge{background:#ff9800;color:#fff;padding:.35rem .85rem;border-radius:6px;font-size:.75rem;font-weight:600;line-height:1;flex-shrink:0}.logout-btn{display:flex;align-items:center;justify-content:center;padding:.35rem .75rem;background:#fff;border:1px solid #e0e0e0;border-radius:6px;color:#666;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;line-height:1;margin-left:auto}.logout-btn:hover{background:#f44336;color:#fff;border-color:#f44336;transform:translateY(-1px);box-shadow:0 2px 6px #f443364d}.logout-btn:active{transform:translateY(0)}.version-info{font-size:.7rem;color:#999}.import-progress-bar{position:fixed;bottom:0;left:220px;right:0;height:40px;background:#fff;border-top:1px solid #e0e0e0;z-index:95;display:flex;align-items:center;padding:0 1.5rem;gap:1rem}.import-progress-fill{flex:1;height:8px;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success-dark) 100%);transition:width .5s ease-in-out;border-radius:4px}.import-progress-text{font-size:.85rem;color:var(--color-success);font-weight:600;min-width:45px;text-align:right}.main-content{position:fixed;inset:0;overflow:hidden;display:flex;justify-content:center;transition:left .3s ease}.main-content.with-sidebar{left:220px}.main-content>*{width:100%;height:100%;overflow-y:auto;overflow-x:hidden}.page-wrapper{max-width:1400px;margin:0 auto;padding:1rem 2rem 2rem;width:100%}.login-container,.register-container{max-width:400px;margin:2rem auto;padding:2rem}@media(max-width:768px){.login-container,.register-container{margin:1rem auto;padding:1.5rem 1rem}}.mobile-header,.mobile-overlay{display:none}@media(max-width:768px){.mobile-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e0e0e0;position:fixed;top:0;left:0;right:0;z-index:100;height:56px}.mobile-menu-btn{background:none;border:none;font-size:1.5rem;color:#333;cursor:pointer;padding:.25rem .5rem;display:flex;align-items:center;justify-content:center}.mobile-brand{display:flex;align-items:center;gap:.5rem;flex:1}.mobile-logo{height:32px;width:auto}.mobile-brand-name{font-size:1.1rem;font-weight:700;color:#333}.mobile-overlay{display:block;position:fixed;inset:0;background:#00000080;z-index:98}.sidebar{transform:translate(-100%);transition:transform .3s ease;width:280px;top:56px;height:calc(100vh - 56px);z-index:99;display:flex;flex-direction:column}.sidebar.mobile-open{transform:translate(0)}.sidebar-nav{display:flex;flex-direction:column}.nav-section{display:block;width:100%}.subitems{display:flex;flex-direction:column}.main-content{top:56px;bottom:0}.main-content.with-sidebar{left:0}.import-progress-bar{left:0;bottom:0}.page-wrapper,.offers-header,.jobs-header,.sources-page-header,.offers-content,.jobs-content,.sources-container{padding:1rem}button,.btn-view,.btn-download,.btn-delete,.btn-edit,.btn-icon{min-height:44px;min-width:44px}input,select,textarea{min-height:44px;font-size:16px!important}}
