:root{color:#17202a;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;padding:20px}.panel{max-width:520px;margin:0 auto}h1{margin:0 0 24px;color:#111827;font-size:24px;font-weight:700;line-height:1.2}.field-display{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid #d9dde5}.field-label{color:#5b6472;font-size:13px;font-weight:650}.table-picker{display:grid;gap:8px;margin-bottom:12px}.mapping-grid{display:grid;gap:12px;margin:16px 0 8px}.field-picker{display:grid;gap:7px}select{width:100%;min-height:40px;border:1px solid #c6ccd6;border-radius:6px;background:#fff;color:#111827;padding:0 10px}select:disabled{background:#eef1f5;color:#7a8494}.field-value{min-height:24px;overflow-wrap:anywhere;color:#111827;font-size:16px;line-height:1.5}.field-value.empty,.muted{color:#7a8494;font-weight:500}.required{color:#bd1e2d;font-size:12px;font-weight:600}button{width:100%;min-height:44px;margin-top:22px;border:0;border-radius:6px;background:#1463ff;color:#fff;cursor:pointer;font-weight:700}button:disabled{background:#a8b2c3;cursor:not-allowed}.secondary-button{width:auto;min-height:36px;margin-top:0;border:1px solid #cbd5e1;background:#fff;color:#1f2937;padding:0 12px;font-weight:650}.secondary-button:disabled{background:#eef1f5;color:#8a94a6}.compact-button{min-height:32px;padding:0 10px;font-size:13px}.message{min-height:24px;margin:18px 0 0;overflow-wrap:anywhere;color:#4b5563;font-size:14px;line-height:1.5}.message-success{color:#087443;font-weight:650}.message-error{color:#bd1e2d;font-weight:650}.auth-shell{display:grid;gap:16px;align-content:start;min-height:320px}.auth-bar{display:flex;gap:12px;align-items:center;justify-content:flex-end;padding:8px 24px;border-bottom:1px solid #e5e7eb;background:#f8fafc;color:#475569;font-size:13px}.auth-bar button{width:auto;min-height:32px;margin-top:0;padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:transparent;color:#334155;cursor:pointer;font-weight:650}.workspace-shell{padding:18px}.workspace-header{display:flex;gap:16px;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto 16px}.workspace-tabs{display:flex;gap:6px;max-width:1180px;margin:0 auto 16px;overflow-x:auto;border-bottom:1px solid #d9dde5}.workspace-tabs button{width:auto;min-height:44px;margin-top:0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:#5b6472;padding:0 12px;white-space:nowrap;font-weight:700}.workspace-tabs button.is-active{border-bottom-color:#1463ff;color:#111827}.workspace-tabs button:disabled{background:transparent;color:#a8b2c3}.eyebrow{margin:0 0 4px;color:#667085;font-size:12px;font-weight:750;letter-spacing:0;text-transform:uppercase}.workspace-main{display:grid;gap:14px;max-width:1180px;margin:0 auto;min-width:0}.workspace-single{max-width:960px}.workspace-section,.action-panel{border:1px solid #d9dde5;border-radius:8px;background:#fff;padding:16px}.action-panel{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(260px,1fr) minmax(260px,1fr) minmax(220px,.9fr);gap:14px;align-items:center}h2{margin:0;color:#111827;font-size:16px;font-weight:750;line-height:1.3}.section-heading{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.section-note{margin:4px 0 0;color:#667085;font-size:13px;line-height:1.4}.campaign-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}input{width:100%;min-height:40px;border:1px solid #c6ccd6;border-radius:6px;background:#fff;color:#111827;padding:0 10px}input:disabled{background:#eef1f5;color:#7a8494}.field-combobox,.column-chooser{position:relative}.field-trigger{display:flex;width:100%;min-height:40px;margin-top:0;align-items:center;justify-content:space-between;border:1px solid #c6ccd6;border-radius:6px;background:#fff;color:#111827;padding:0 10px;text-align:left;font-weight:500}.field-trigger.is-empty{color:#7a8494}.field-trigger:disabled{background:#eef1f5;color:#7a8494}.field-popover{position:absolute;z-index:20;top:calc(100% + 6px);left:0;width:min(360px,100vw - 40px);max-height:320px;overflow:hidden;border:1px solid #d5dbe5;border-radius:8px;background:#fff;box-shadow:0 18px 40px #0f172a24}.column-popover{right:0;left:auto}.popover-search{min-height:42px;border:0;border-bottom:1px solid #e5e7eb;border-radius:0}.popover-list{max-height:268px;overflow-y:auto;padding:4px}.popover-option{display:grid;grid-template-columns:24px minmax(0,1fr) auto;width:100%;min-height:36px;margin-top:0;align-items:center;gap:8px;border:0;border-radius:6px;background:transparent;color:#1f2937;padding:0 8px;text-align:left;font-weight:500}.popover-option:hover,.popover-option:focus-visible{background:#f1f5f9;outline:none}.popover-option.is-selected{background:#eef5ff;color:#1457d9}.field-type-mark{display:inline-grid;width:20px;height:20px;place-items:center;border-radius:4px;background:#f1f5f9;color:#516070;font-size:12px;font-weight:750}.selected-word{color:#1457d9;font-size:12px;font-weight:700}.popover-empty{margin:8px;color:#7a8494;font-size:13px}.filter-list{display:grid;gap:10px}.filter-preset-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #edf0f5}.preset-commands{display:flex;gap:8px}.preset-commands button,.preset-delete-confirm button{min-height:40px}.preset-delete-confirm{display:flex;align-items:center;gap:8px;color:#475569;font-size:12px}.danger-command:not(:disabled){color:#b42318}.filter-row{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(150px,1fr) minmax(160px,1.2fr) 38px;gap:10px;align-items:end}.operator-picker select{min-height:40px}.icon-button{width:38px;min-height:40px;margin-top:0;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:18px}.selection-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.results-table-wrap{overflow-x:auto;border:1px solid #e3e7ee;border-radius:8px}.results-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff;font-size:13px}.results-table th,.results-table td{max-width:240px;padding:10px 12px;border-bottom:1px solid #e5e7eb;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.results-table th{background:#f8fafc;color:#475569;font-weight:750}.table-sort-button{display:inline-flex;width:100%;min-height:24px;margin-top:0;align-items:center;justify-content:space-between;gap:8px;border:0;border-radius:4px;background:transparent;color:inherit;padding:0;text-align:left;font-size:13px;font-weight:750}.table-sort-button:hover,.table-sort-button:focus-visible{color:#1457d9;outline:none}.table-sort-button:disabled{background:transparent;color:#8a94a6}.sort-indicator{min-width:32px;color:#1457d9;font-size:11px;font-weight:750;text-align:right}.results-table tr:last-child td{border-bottom:0}.results-table input[type=checkbox]{width:16px;min-height:16px;padding:0}.empty-results{color:#7a8494;text-align:center}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-metric{display:grid;gap:4px;min-width:0;border:1px solid #e3e7ee;border-radius:8px;padding:10px;background:#f8fafc}.preview-metric span{color:#667085;font-size:12px;font-weight:650}.preview-metric strong{color:#111827;font-size:20px;line-height:1}.action-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-footer{display:grid;gap:8px}.action-footer .message{min-height:0;margin:0}.action-footer button{margin-top:0}.reset-columns-button{justify-self:end}.logs-section{display:grid;gap:14px}.empty-state{border:1px dashed #cbd5e1;border-radius:8px;padding:22px;background:#f8fafc}.empty-state h3,.log-row h3{margin:0;color:#111827;font-size:14px;line-height:1.3}.empty-state p,.log-row p{margin:5px 0 0;color:#667085;font-size:13px;line-height:1.45}.logs-list{display:grid;gap:10px}.log-row{display:grid;gap:12px;border:1px solid #e3e7ee;border-radius:8px;padding:14px;background:#fff}.log-row-main{display:flex;gap:12px;align-items:flex-start}.status-pill{display:inline-flex;min-height:26px;align-items:center;border-radius:999px;padding:0 9px;font-size:12px;font-weight:750}.status-success{background:#e8f7ef;color:#087443}.status-failed{background:#ffecee;color:#b42318}.status-partial{background:#fff4db;color:#8a4b00}.status-started{background:#eef5ff;color:#1457d9}.log-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.log-details div{min-width:0;border:1px solid #edf0f5;border-radius:6px;padding:8px;background:#f8fafc}.log-details dt{color:#667085;font-size:11px;font-weight:750;text-transform:uppercase}.log-details dd{margin:3px 0 0;overflow:hidden;color:#111827;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.log-message{overflow-wrap:anywhere}.logs-workspace{display:grid;gap:14px}.loading-label,.inline-note,.error-code{color:#667085;font-size:12px;line-height:1.5}.logs-error,.row-error,.dialog-error{min-height:0;margin:0}.job-list,.legacy-log-list{display:grid;gap:8px}.job-row{border:1px solid #dfe4ec;border-radius:8px;background:#fff}.job-row>summary{display:grid;grid-template-columns:minmax(112px,auto) minmax(220px,1fr) minmax(86px,auto) 24px;min-height:68px;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.job-row>summary::-webkit-details-marker{display:none}.job-row>summary:focus-visible{outline:3px solid rgba(20,99,255,.28);outline-offset:2px}.job-summary-main,.job-progress-label{display:grid;min-width:0;gap:3px}.job-summary-main strong{color:#111827;font-size:14px}.job-summary-main span,.job-progress-label span{overflow:hidden;color:#667085;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.job-progress-label{justify-items:end;font-variant-numeric:tabular-nums}.job-progress-label strong{color:#111827;font-size:15px}.details-chevron{color:#667085;font-size:20px;transform:rotate(0);transition:transform .18s ease}.job-row[open] .details-chevron{transform:rotate(180deg)}.job-expanded{display:grid;gap:14px;padding:0 14px 16px;border-top:1px solid #edf0f5}.progress-track{height:4px;margin:0 -14px;overflow:hidden;background:#e7ebf1}.progress-track span{display:block;height:100%;background:#1463ff;transition:width .2s ease-out}.job-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;margin:0}.job-metadata div{min-width:0}.job-metadata dt,.sync-summary dt{color:#667085;font-size:11px;font-weight:750;text-transform:uppercase}.job-metadata dd,.sync-summary dd{margin:3px 0 0;overflow-wrap:anywhere;color:#111827;font-size:13px;line-height:1.4}.job-metadata .request-id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.job-message-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.job-message-row p,.error-code,.inline-note{margin:0}.job-result-area{display:grid;gap:10px;padding-top:2px}.result-toolbar{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(190px,1fr) auto;gap:10px;align-items:end}.result-toolbar label{display:grid;gap:6px}.result-toolbar .sync-button{min-height:40px;margin:0}.job-results-table-wrap{overflow-x:auto;border:1px solid #e3e7ee;border-radius:6px}.job-results-table{width:100%;min-width:680px;border-collapse:collapse;font-size:12px}.job-results-table th,.job-results-table td{max-width:360px;padding:9px 10px;border-bottom:1px solid #edf0f5;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.job-results-table th{background:#f8fafc;color:#475569;font-weight:750}.job-results-table tr:last-child td{border-bottom:0}.result-success{color:#087443;font-weight:700}.result-failed{color:#b42318;font-weight:700}.result-load-more,.load-more-jobs{justify-self:start}.status-queued,.status-running{background:#eef5ff;color:#1457d9}.status-attention{background:#fff4db;color:#7a4300}.legacy-logs{display:grid;gap:4px}.legacy-log-row{display:grid;grid-template-columns:auto minmax(180px,.7fr) minmax(240px,1fr);gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid #edf0f5;color:#475569;font-size:12px}.legacy-log-row:last-child{border-bottom:0}.legacy-log-row div{display:grid;gap:2px}.legacy-log-row strong{color:#111827;font-size:13px}.sync-dialog,.preset-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #cbd5e1;border-radius:8px;color:#17202a;box-shadow:0 24px 70px #0f172a3d}.sync-dialog::backdrop,.preset-dialog::backdrop{background:#0f172a75}.sync-dialog form,.preset-dialog form{display:grid;gap:18px;padding:20px}.sync-dialog header p,.preset-dialog header p{margin:6px 0 0;color:#667085;font-size:13px;line-height:1.5}.sync-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:12px 0;border-top:1px solid #edf0f5;border-bottom:1px solid #edf0f5}.sync-dialog footer,.preset-dialog footer{display:flex;justify-content:flex-end;gap:10px}.sync-dialog footer button,.preset-dialog footer button{width:auto;min-width:120px;min-height:40px;margin:0;padding:0 14px}@media(max-width:900px){.action-panel,.campaign-mapping-grid,.filter-row,.action-control-grid,.log-details,.job-metadata,.result-toolbar{grid-template-columns:1fr}.job-row>summary{grid-template-columns:auto minmax(0,1fr) 24px}.job-progress-label{display:none}.job-message-row,.sync-dialog footer,.preset-dialog footer{align-items:stretch;flex-direction:column}.job-message-row .secondary-button,.sync-dialog footer button,.preset-dialog footer button{width:100%}.legacy-log-row{grid-template-columns:auto minmax(0,1fr)}.legacy-log-row>span:last-child{grid-column:1 / -1}.icon-button{width:100%}}@media(max-width:700px){.filter-preset-toolbar{grid-template-columns:1fr}.preset-commands{display:grid;grid-template-columns:1fr 1fr 1fr}.preset-delete-confirm{display:grid;grid-template-columns:1fr 1fr}.preset-delete-confirm span{grid-column:1 / -1}.preset-commands button,.preset-delete-confirm button{width:100%}}
