:root{font-family:system-ui,Segoe UI,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#0f172a;background-color:#f5f7fb;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#2563eb;text-decoration:inherit}a:hover{color:#1d4ed8}body{margin:0;min-width:320px;min-height:100vh;background:#f5f7fb}h1{font-size:2rem;line-height:1.3}.kreator-page{max-width:1200px;margin:0 auto;padding:32px 24px 64px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#111}.kreator-page h1{margin:0 0 8px;font-size:28px;color:#1a2744}.kreator-page .subhead{margin:0 0 32px;color:#4b5563;font-size:14px}.kreator-steps{display:flex;gap:0;margin-bottom:32px;border-bottom:2px solid #e5e7eb}.kreator-step{padding:12px 24px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;-webkit-user-select:none;user-select:none}.kreator-step:hover{color:#1a2744}.kreator-step.active{color:#1a2744;border-bottom-color:#1a2744}.kreator-step.disabled{opacity:.4;cursor:not-allowed}.kreator-form{display:grid;gap:32px}.form-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:24px}.form-section h2{margin:0 0 16px;font-size:16px;color:#1a2744;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid.single-col{grid-template-columns:1fr}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:13px;font-weight:600;color:#374151}.form-field input,.form-field select{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:#1a2744;box-shadow:0 0 0 2px #1a27441a}.form-field input:disabled{background:#f3f0ff;color:#5b21b6;font-weight:600;border-color:#c4b5fd;cursor:not-allowed}.form-field .auto-value{padding:8px 12px;background:#f3f0ff;color:#5b21b6;font-weight:600;border:1px solid #c4b5fd;border-radius:6px;font-size:14px}.validation-ok{padding:6px 12px;background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;border-radius:6px;font-size:13px;font-weight:600}.validation-error{padding:6px 12px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;font-size:13px;font-weight:600}.validation-warn{padding:6px 12px;background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:6px;font-size:13px;font-weight:600}.form-note{font-size:12px;color:#6b7280;margin-top:2px}.schedule-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:10px}.schedule-checkbox{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;font-size:14px;transition:all .15s;-webkit-user-select:none;user-select:none}.schedule-checkbox:hover{border-color:#1a2744;background:#f9fafb}.schedule-checkbox.selected{border-color:#1a2744;background:#eef2ff}.schedule-checkbox input[type=checkbox]{accent-color:#1a2744;width:16px;height:16px}.kreator-actions{display:flex;gap:12px;margin-top:24px}.btn{padding:10px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.btn-primary{background:#1a2744;color:#fff}.btn-primary:hover{background:#253558}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb}.btn-success{background:#059669;color:#fff}.btn-success:hover{background:#047857}.btn-success:disabled{background:#9ca3af;cursor:not-allowed}.preview-container{display:flex;flex-direction:column;gap:40px}.schedule-preview{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:32px;page-break-after:always}.schedule-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.schedule-header-left{flex:1}.schedule-brand-name{font-size:20px;font-weight:700;color:#1a2744}.schedule-brand-contact{font-size:12px;color:#6b7280;margin-top:4px}.schedule-separator{height:4px;background:#1a2744;margin:12px 0;border-radius:2px}.schedule-title{font-size:16px;font-weight:700;color:#fff;background:#1a2744;padding:8px 16px;border-radius:4px;display:inline-block}.schedule-logo{width:200px;height:auto;aspect-ratio:2000 / 1414;object-fit:contain}.schedule-info{margin-bottom:24px}.info-table{border-collapse:collapse;font-size:13px}.info-table td{padding:3px 12px 3px 0}.info-label{color:#6b7280;font-weight:500;white-space:nowrap}.info-value{font-weight:600;color:#111}.schedule-table{width:100%;border-collapse:collapse;font-size:13px}.schedule-table th{background:#1a2744;color:#fff;padding:8px 12px;text-align:center;font-weight:600;font-size:12px;white-space:nowrap}.schedule-table td{padding:6px 12px;border-bottom:1px solid #e5e7eb}.cell-center{text-align:center}.cell-right{text-align:right;font-variant-numeric:tabular-nums}.cell-bold{font-weight:700}.cell-uwaga{font-size:11px;color:#6b7280;font-style:italic}.schedule-totals{background:#f0fdf4!important}.schedule-totals td{border-top:2px solid #1a2744;border-bottom:none;padding:10px 12px}.save-status{margin-top:24px;padding:16px;border-radius:8px;font-size:14px}.save-status.saving{background:#eff6ff;color:#1d4ed8;border:1px solid #93c5fd}.save-status.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.save-status.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.select-all-row{display:flex;gap:12px;margin-bottom:10px}.select-all-row button{background:none;border:none;color:#1a2744;font-size:13px;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}.select-all-row button:hover{color:#253558}@media(max-width:768px){.form-grid,.schedule-checkboxes{grid-template-columns:1fr}.schedule-header{flex-direction:column}.schedule-logo{width:150px;margin-top:12px}}.sr-page{max-width:1200px}.sr-page .mono{font-family:Cascadia Code,Fira Code,JetBrains Mono,ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-variant-ligatures:none}.sr-header-card{background:linear-gradient(135deg,#f8fafc,#eef2ff);border:1px solid #e0e7ff;border-radius:16px;padding:28px 32px;margin-bottom:24px}.sr-header-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.sr-header-card h1{font-size:24px;font-weight:700;letter-spacing:-.3px}.sr-accent{color:#6366f1}.sr-header-sub{color:#6b7280;font-size:13px;margin-top:4px}.sr-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:8px;font-size:13px;font-weight:600;flex-shrink:0}.sr-badge-jdg{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.sr-badge-spolka{background:#f3e8ff;color:#7c3aed;border:1px solid #c4b5fd}.sr-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.sr-meta-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px}.sr-meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#9ca3af;margin-bottom:4px}.sr-meta-value{font-size:15px;font-weight:600;color:#111827}.sr-score-banner{display:grid;grid-template-columns:240px 1fr;gap:20px;margin-bottom:24px}.sr-score-circle{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:28px;display:flex;flex-direction:column;align-items:center;justify-content:center}.sr-score-ring{width:160px;height:160px;position:relative;margin-bottom:12px}.sr-score-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:700}.sr-score-label{font-size:14px;color:#4b5563;text-align:center}.sr-flags-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:20px 24px;overflow-y:auto;max-height:340px}.sr-flags-panel h3{font-size:14px;font-weight:600;margin-bottom:12px;color:#6b7280}.sr-flag{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;margin-bottom:6px;font-size:13px;line-height:1.5}.sr-flag-red{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.sr-flag-yellow{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.sr-flag-green{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.sr-flag-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:5px}.sr-flag-red .sr-flag-dot{background:#ef4444}.sr-flag-yellow .sr-flag-dot{background:#eab308}.sr-flag-green .sr-flag-dot{background:#22c55e}.sr-reco{border-radius:16px;padding:20px 28px;margin-bottom:28px;display:flex;align-items:center;gap:20px}.sr-reco-green{background:#f0fdf4;border:2px solid #86efac}.sr-reco-yellow{background:#fffbeb;border:2px solid #fde68a}.sr-reco-red{background:#fef2f2;border:2px solid #fecaca}.sr-reco-icon{font-size:36px;flex-shrink:0}.sr-reco h2{font-size:18px;margin-bottom:4px}.sr-reco-green h2{color:#16a34a}.sr-reco-yellow h2{color:#ca8a04}.sr-reco-red h2{color:#dc2626}.sr-reco p{color:#4b5563;font-size:13px;line-height:1.6}.sr-layer-title{font-size:16px;color:#6b7280;margin:28px 0 14px;font-weight:600}.sr-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:12px;overflow:hidden}.sr-section-header{padding:14px 20px;border-bottom:1px solid #f3f4f6;display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.sr-section-header:hover{background:#f9fafb}.sr-section-header h3{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px;margin:0}.sr-src{font-size:11px;color:#9ca3af;font-weight:400;padding:2px 8px;background:#f3f4f6;border-radius:4px}.sr-section-status{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px}.sr-status-ok{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.sr-status-warn{background:#fffbeb;color:#ca8a04;border:1px solid #fde68a}.sr-status-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.sr-status-skipped{background:#f3f4f6;color:#9ca3af;border:1px solid #e5e7eb}.sr-section-body{padding:16px 20px}.sr-dtable{width:100%;border-collapse:collapse}.sr-dtable tr{border-bottom:1px solid #f3f4f6}.sr-dtable tr:last-child{border-bottom:none}.sr-dtable td{padding:8px 0;vertical-align:top;font-size:13px}.sr-dtable td:first-child{width:240px;color:#9ca3af;padding-right:16px}.sr-dtable td:nth-child(2){font-weight:500;color:#111827}.sr-toolbar{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px;padding-top:16px;border-top:1px solid #e0e7ff}.sr-toolbar-group{display:flex;flex-direction:column;gap:4px}.sr-toolbar-label{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#9ca3af;font-weight:600}.sr-toolbar-select{padding:7px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:13px;background:#fff;min-width:220px}.sr-toolbar-select:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.sr-toolbar-btn{padding:7px 16px;border-radius:8px;border:1px solid #6366f1;background:#6366f1;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s}.sr-toolbar-btn:hover:not(:disabled){background:#4f46e5}.sr-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.sr-compare-scores{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;position:relative}.sr-compare-col{background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center}.sr-compare-col:first-child{border-color:#6366f1}.sr-compare-ref{opacity:.75}.sr-compare-label{font-size:12px;font-weight:600;color:#6b7280;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.sr-compare-delta{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border:2px solid #e5e7eb;border-radius:50%;width:72px;height:72px;display:flex;align-items:center;justify-content:center;z-index:1;box-shadow:0 2px 8px #00000014}.sr-dtable-compare th{font-weight:600;padding:6px 0;border-bottom:2px solid #e5e7eb;text-align:left}.sr-diff-row td{background:#fffbeb}.sr-diff-row td:nth-child(2){font-weight:700;color:#b45309}@media(max-width:900px){.sr-score-banner,.sr-meta-grid,.sr-compare-scores{grid-template-columns:1fr}.sr-header-top{flex-direction:column;gap:12px}.sr-toolbar{flex-direction:column;align-items:stretch}.sr-toolbar-select{min-width:0;width:100%}.sr-compare-delta{position:static;transform:none;margin:-10px auto}}.sr-live-toggle{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid #d1d5db;background:#f9fafb;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.sr-live-toggle:hover{border-color:#9ca3af}.sr-live-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db;transition:background .15s,box-shadow .15s}.sr-live-dot.sr-live-on{background:#22c55e;box-shadow:0 0 6px #22c55e80}.kw-tag-container{display:flex;flex-wrap:wrap;gap:6px;padding:6px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;min-height:40px;align-items:center;cursor:text}.kw-tag-container:focus-within{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.kw-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 10px;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;font-size:13px;font-family:Cascadia Code,Fira Code,ui-monospace,SFMono-Regular,Consolas,monospace;color:#3730a3;line-height:1.4}.kw-tag-text{white-space:nowrap}.kw-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:#6366f1;font-size:15px;cursor:pointer;border-radius:4px;padding:0;line-height:1}.kw-tag-remove:hover{background:#c7d2fe;color:#312e81}.kw-tag-input{border:none;outline:none;font-size:14px;flex:1;min-width:140px;padding:2px 0;background:transparent}.kw-tag-error{color:#dc2626;font-size:12px;margin-top:4px}.page{max-width:1100px;margin:0 auto;padding:32px 24px 64px;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#111}.header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.control-group{display:flex;align-items:flex-end;gap:12px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:12px;color:#6b7280;margin:0 0 4px}h1{margin:0;font-size:28px}.subhead{margin:8px 0 0;color:#4b5563}.view-toggle{display:inline-flex;align-items:center;gap:14px;margin-top:10px}.view-toggle label{display:inline-flex;align-items:center;gap:6px;font-weight:700}.view-toggle input[type=radio]{accent-color:#2563eb}.control{display:flex;flex-direction:column;gap:6px}.actions{display:flex;align-items:flex-end;height:100%;gap:8px}.create-date{margin-top:6px;align-self:flex-start}label{font-weight:600;color:#374151}select{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;min-width:200px;background:#fff;font-size:14px}.table-wrapper{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 8px 24px #0000000d}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:12px 14px;text-align:center;border-bottom:1px solid #f3f4f6}th:first-child,td:first-child{text-align:left}tr.kw-processing{background-color:#fed7aa20}tr.kw-processing:hover{background-color:#fed7aa40}tr.kw-failed{background-color:#fef08a20}tr.kw-failed:hover{background-color:#fef08a40}tr.kw-pending{background-color:#f4f4f520}tr.kw-pending:hover{background-color:#f4f4f540}tr.kw-completed{background-color:#d1fae520}tr.kw-completed:hover{background-color:#d1fae540}thead th{background:#f9fafb;font-weight:700;color:#1f2937}.cell{display:inline-flex;align-items:center;gap:6px}.badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;font-weight:700;font-size:13px}.badge-btn{border:none;background:transparent;padding:0;cursor:pointer}.badge-btn:disabled{cursor:not-allowed}.badge.ok{background:#ecfdf3;color:#0f766e;border:1px solid #a7f3d0}.badge.missing{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.missing-row td:first-child{color:#b91c1c;font-weight:700}.kw-cell{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:none;cursor:pointer;transition:all .2s ease}.status-badge:disabled{cursor:default}.status-badge.pending{color:#3f3f46;background:#e4e4e7}.status-badge.processing{color:#9a3412;background:#fed7aa}.status-badge.completed{color:#166534;background:#d1fae5}.status-badge.failed{color:#854d0e;background:#fef08a;cursor:pointer}.status-badge.failed:hover{background:#fde047;transform:scale(1.05)}.diff-indicator{border:1px solid #d1d5db;background:#f9fafb;color:#111827;border-radius:6px;padding:4px 6px;font-size:12px;cursor:pointer;transition:background .12s ease,border .12s ease}input[type=text]{padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;background:#fff;font-size:14px}.diff-indicator.changed{border-color:#4ade80;background:#ecfdf3;color:#166534}.kw-search{margin-top:12px;display:flex;flex-direction:column;gap:6px}.diff-indicator.disabled,.diff-indicator:disabled{border-color:#e5e7eb;background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.diff-indicator:hover{background:#e5e7eb}.fetch-btn{padding:8px 12px;border-radius:8px;border:1px solid #2563eb;background:#2563eb;color:#fff;font-weight:600;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease}.fetch-btn:hover{transform:translateY(-1px);box-shadow:0 8px 16px #2563eb33}.fetch-btn.fetch-all{background:#111827;border-color:#111827}.fetch-btn.fetch-all:hover{box-shadow:0 8px 16px #11182729}.fetch-btn.secondary{background:#fff;color:#111827;border-color:#d1d5db}.fetch-btn.secondary:hover{background:#f3f4f6}.fetch-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.error{margin:12px 0;padding:12px 14px;border-radius:8px;border:1px solid #fecdd3;background:#fff1f2;color:#9f1239}.bulk-progress{margin:12px 0;padding:10px 12px;border-radius:10px;border:1px solid #e5e7eb;background:#f9fafb}.progress-meter{width:100%;height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden}.progress-meter span{display:block;height:100%;background:linear-gradient(90deg,#60a5fa,#2563eb);transition:width .16s ease}.progress-text{margin-top:6px;color:#374151;font-size:13px}.footer{margin-top:16px;color:#6b7280;font-size:13px}.footer .kw-progress{display:block;margin-top:4px;color:#4b5563}.modal-backdrop{position:fixed;inset:0;background:#1118277a;display:flex;align-items:center;justify-content:center;z-index:20}.modal{background:#fff;border-radius:12px;width:min(960px,90vw);max-height:90vh;box-shadow:0 20px 40px #0000002e;overflow:hidden;display:flex;flex-direction:column}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px;border-bottom:1px solid #e5e7eb}.modal h2{margin:4px 0 0}.close{border:none;background:transparent;font-size:22px;cursor:pointer}.diff-body{padding:16px 18px;overflow:auto;background:#f8fafc;font-family:Consolas,SFMono-Regular,ui-monospace,monospace;font-size:13px}.diff-body .add{background:#ecfdf3;color:#065f46}.spinner{padding:20px}.diff-preview{margin-top:8px}.page-nav{padding:12px 24px 0}.page-nav .link-button{font-size:13px;margin-top:0}.link-button{display:inline-block;margin-top:10px;padding:6px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;color:#111827;text-decoration:none;font-weight:600}.link-button:hover{background:#e5e7eb}.diff-card{margin-top:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 30px #00000014;overflow:hidden}.diff-card__head{padding:16px 18px 10px;border-bottom:1px solid #e5e7eb}.diff-title{font-size:18px;font-weight:700}.diff-sub{color:#6b7280;margin-top:4px}.diff-card__body{padding:14px 18px;background:#f8fafc;overflow:auto}.diff-card__body table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}.diff-card__body th,.diff-card__body td{border:1px solid #e5e7eb;padding:8px 10px;text-align:left}.diff-card__body tr:nth-child(2n) td{background:#f9fafb}.diff-card__body td.changed{background:#fff7ed;color:#9a3412}.diff-card__body td.added{background:#ecfdf3;color:#166534}.report-preview{margin-top:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px #0000000f;overflow:hidden}.report-preview__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e5e7eb;background:#f9fafb;font-weight:600}.report-no-changes{color:#b91c1c;font-size:12px;letter-spacing:.06em}.report-preview__body{padding:16px 18px 22px;overflow:auto}.worker-panel{margin:20px 0;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb}.worker-toggle{width:100%;padding:12px 16px;background:#f9fafb;border:none;border-radius:8px;text-align:left;font-size:14px;font-weight:600;color:#111;cursor:pointer;display:flex;align-items:center;gap:8px}.worker-toggle:hover{background:#f3f4f6}.worker-summary{font-weight:400;color:#6b7280;font-size:13px}.worker-details{padding:16px;border-top:1px solid #e5e7eb}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:20px}.stat-card{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:6px}.stat-card h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em}.stat-card p{margin:6px 0;font-size:14px;color:#374151}.stat-card strong{font-size:24px;font-weight:700;color:#111}.worker-list,.job-queue{margin-top:20px}.worker-list h4,.job-queue h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#374151}.worker-list table,.job-queue table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden;font-size:13px}.worker-list thead th,.job-queue thead th{background:#f3f4f6;color:#6b7280;font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid #e5e7eb}.worker-list tbody td,.job-queue tbody td{padding:10px 12px;border-bottom:1px solid #f3f4f6}.worker-list tbody td:nth-child(2),.worker-list tbody td:nth-child(4),.worker-list tbody td:nth-child(5),.worker-list tbody td:nth-child(6){text-align:center}.job-queue tbody td:nth-child(1),.job-queue tbody td:nth-child(3),.job-queue tbody td:nth-child(4),.job-queue tbody td:nth-child(5),.job-queue tbody td:nth-child(6){text-align:center}.worker-list tbody tr:hover,.job-queue tbody tr:hover{background:#f9fafb}.worker-list tbody tr.offline td{opacity:.5}.worker-list tbody tr.blocked{background-color:#fee2e220}.worker-list tbody tr.blocked:hover{background-color:#fee2e240}.status-indicator{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-indicator.online{color:#059669;background:#d1fae5}.status-indicator.offline{color:#6b7280;background:#f3f4f6}.status-indicator.blocked{color:#dc2626;background:#fee2e2}.worker-action-btn{padding:4px 12px;border-radius:4px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.worker-actions-inline{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.worker-action-btn.block{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.worker-action-btn.block:hover{background:#fee2e2;transform:scale(1.05)}.worker-action-btn.unblock{background:#dbeafe;color:#1d4ed8;border:1px solid #93c5fd}.worker-action-btn.unblock:hover{background:#bfdbfe;transform:scale(1.05)}.worker-action-btn.reset{background:#f3f4f6;color:#111827;border:1px solid #e5e7eb}.worker-action-btn.reset:hover{background:#e5e7eb;transform:scale(1.03)}.job-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:none;background:none;cursor:default;transition:all .2s ease}.job-status-badge:disabled{cursor:default}.job-status-badge.pending{color:#3f3f46;background:#e4e4e7}.job-status-badge.processing{color:#9a3412;background:#fed7aa}.job-status-badge.completed{color:#166534;background:#d1fae5}.job-status-badge.failed{color:#854d0e;background:#fef08a;cursor:pointer}.job-status-badge.failed:hover{background:#fde047;transform:scale(1.05)}.admin-progress-bar{margin-bottom:16px;padding:12px 16px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.admin-progress-label{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.admin-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.ue-dropzone{margin-top:16px;border:2px dashed #d1d5db;border-radius:12px;padding:64px 24px;text-align:center;background:#f9fafb;transition:border-color .15s ease,background .15s ease}.ue-dropzone--active{border-color:#2563eb;background:#eff6ff}.ue-dropzone__icon{font-size:48px;margin-bottom:12px}.ue-dropzone__text{font-size:16px;font-weight:600;color:#374151;margin:0}.ue-dropzone__or{color:#9ca3af;margin:12px 0}.ue-dropzone__btn{cursor:pointer}.ue-page{max-width:1400px}.ue-section{margin-top:24px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;box-shadow:0 8px 24px #0000000d}.ue-section h2{margin:0 0 16px;font-size:18px}.ue-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.ue-section-header h2{margin-bottom:0}.ue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.ue-field{display:flex;flex-direction:column;gap:4px}.ue-field label{font-size:12px;font-weight:600;color:#6b7280}.ue-field input{padding:8px 10px;border-radius:6px;border:1px solid #d1d5db;font-size:14px;background:#fff;transition:border-color .12s ease}.ue-field input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.ue-table-wrap{overflow-x:auto}.ue-table{width:100%;border-collapse:collapse;font-size:13px;min-width:1100px}.ue-table th{background:#f9fafb;font-weight:600;color:#6b7280;text-align:left;padding:10px 8px;border-bottom:1px solid #e5e7eb;white-space:nowrap;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.ue-table td{padding:4px;border-bottom:1px solid #f3f4f6;text-align:left}.ue-table td input{width:100%;box-sizing:border-box;padding:6px 8px;border-radius:4px;border:1px solid transparent;font-size:13px;background:transparent;transition:border-color .12s ease,background .12s ease}.ue-table td input:hover{border-color:#e5e7eb;background:#f9fafb}.ue-table td input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 2px #2563eb14}.ue-table tbody tr:hover{background:#f9fafb}.ue-row-num{color:#9ca3af;font-weight:600;text-align:center!important;width:32px}.ue-remove-btn{border:none;background:transparent;color:#d1d5db;font-size:14px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:color .12s ease,background .12s ease}.ue-remove-btn:hover{color:#ef4444;background:#fef2f2}.ue-empty{text-align:center!important;color:#9ca3af;padding:24px!important}.ue-success{margin:12px 0;padding:12px 14px;border-radius:8px;border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46}.ue-mode-toggle{display:inline-flex;gap:0;margin:16px 0 0;border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background:#f3f4f6}.ue-mode-toggle label{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-weight:600;font-size:14px;color:#6b7280;cursor:pointer;transition:background .12s ease,color .12s ease;border-right:1px solid #d1d5db;-webkit-user-select:none;user-select:none}.ue-mode-toggle label:last-child{border-right:none}.ue-mode-toggle label.active{background:#fff;color:#111827;box-shadow:0 1px 3px #00000014}.ue-mode-toggle label:hover:not(.active){background:#e5e7eb}.ue-mode-toggle input[type=radio]{accent-color:#2563eb}.ue-extracting{margin-top:16px;padding:64px 24px;text-align:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px}.ue-extracting__spinner{width:40px;height:40px;margin:0 auto 20px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:ue-spin .8s linear infinite}@keyframes ue-spin{to{transform:rotate(360deg)}}.ue-extracting__text{font-size:16px;font-weight:600;color:#374151;margin:0}.ue-extracting__sub{color:#9ca3af;margin:8px 0 0;font-size:14px}.ca-page{max-width:900px}.ca-page h1{margin:0 0 4px;font-size:24px}.ca-subtitle{color:#6b7280;margin:0 0 24px;font-size:14px}.ca-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:16px;box-shadow:0 8px 24px #0000000d}.ca-section h2{margin:0 0 12px;font-size:16px}.ca-status-row{display:flex;align-items:center;gap:12px}.ca-status-label{font-weight:600;font-size:14px;color:#374151}.ca-badge{display:inline-flex;align-items:center;padding:4px 14px;border-radius:20px;font-size:13px;font-weight:600}.ca-badge--ok{background:#dcfce7;color:#166534}.ca-badge--error{background:#fee2e2;color:#991b1b}.ca-badge--loading{background:#f3f4f6;color:#6b7280}.ca-error-detail{margin:12px 0 0;padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:12px;color:#991b1b;white-space:pre-wrap;word-break:break-all;max-height:120px;overflow-y:auto}.ca-actions{display:flex;gap:10px;flex-wrap:wrap}.ca-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;border:none;cursor:pointer;transition:background .12s ease,opacity .12s ease}.ca-btn:disabled{opacity:.5;cursor:not-allowed}.ca-btn--primary{background:#2563eb;color:#fff}.ca-btn--primary:hover:not(:disabled){background:#1d4ed8}.ca-btn--secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.ca-btn--secondary:hover:not(:disabled){background:#e5e7eb}.ca-btn--danger{background:#ef4444;color:#fff}.ca-btn--danger:hover:not(:disabled){background:#dc2626}.ca-hint{color:#6b7280;font-size:13px;margin:0 0 10px}.ca-log{background:#111827;color:#e5e7eb;border-radius:8px;padding:16px;font-family:Cascadia Code,Fira Code,JetBrains Mono,monospace;font-size:13px;line-height:1.6;max-height:400px;overflow-y:auto}.ca-log a{color:#60a5fa;text-decoration:underline;word-break:break-all}.ca-log a:hover{color:#93bbfc}.ca-log-line{white-space:pre-wrap;word-break:break-all}.ca-log-line--error{color:#fca5a5}.ca-log-line--exit{color:#9ca3af;font-style:italic;margin-top:8px}.ca-log-line--spinner{color:#9ca3af;display:flex;align-items:center;gap:8px;margin-top:8px}.ca-spinner{display:inline-block;width:14px;height:14px;border:2px solid #4b5563;border-top-color:#60a5fa;border-radius:50%;animation:ue-spin .8s linear infinite}
