:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--bg: #06080f;--panel: #101523;--muted: #8d99ae;--text: #edf2f4;--line: #25314a;--accent: #6ea8fe;--success: #31d0aa}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#0f1b33,var(--bg));color:var(--text)}.shell{max-width:1200px;margin:0 auto;padding:24px}header{display:flex;justify-content:space-between;align-items:end;gap:12px}h1{margin:0;font-size:28px}p{margin:6px 0 0;color:var(--muted)}.headerPills{display:flex;align-items:center;gap:10px}.headerPills .statusPill{text-decoration:none}.headerPills button.statusPill{cursor:pointer;font:inherit;appearance:none;color:var(--accent);text-decoration:none;border-radius:999px;padding:6px 12px;font-size:12px;margin:0;line-height:inherit}.headerTitle{color:inherit;text-decoration:none}.headerTitle:hover{color:var(--accent)}.jobsTableWrap{overflow-x:auto;margin-top:12px}.jobsTable{width:100%;border-collapse:collapse;font-size:13px}.jobsTable th,.jobsTable td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.jobsTable th{color:var(--muted);font-weight:600}.jobId{word-break:break-all;font-size:12px}.jobsError{color:#f85149}.jobDetailCard h2{margin:0 0 8px}.jobDetailCard h3{margin:16px 0 8px;font-size:14px}.jobDetailList{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;margin:12px 0}.jobDetailList dt{color:var(--muted);font-size:13px}.jobDetailList dd{margin:0}.jobDetailRow{margin:12px 0}.jobError{color:#f85149}.jobEvents{margin:0;padding-left:20px;font-size:13px}.jobEvents li{margin-bottom:4px}.loginScreen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.loginCard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:32px;max-width:380px;width:100%}.loginCard h1{margin:0 0 8px;font-size:22px}.loginSub{color:var(--muted);margin:0 0 24px;font-size:14px}.loginCard form label{display:block;margin-bottom:16px;font-size:13px;color:var(--muted)}.loginCard form input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font-size:15px}.loginCard form button{width:100%;padding:12px;margin-top:8px;border:1px solid var(--accent);border-radius:8px;background:#6ea8fe33;color:var(--accent);font-size:15px;cursor:pointer}.loginCard form button:disabled{opacity:.6;cursor:not-allowed}.loginError{margin-bottom:12px;padding:8px 12px;border-radius:8px;background:#da363326;color:#f85149;font-size:13px}.statusPill{background:#6ea8fe24;color:var(--accent);border:1px solid rgba(110,168,254,.4);border-radius:999px;padding:6px 12px;font-size:12px}.stepper{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:10px}.stepper button{background:#101a2f;color:var(--muted);border:1px solid var(--line);border-radius:10px;padding:10px;cursor:pointer}.stepper button.active{color:var(--text);border-color:var(--accent);background:#6ea8fe2e}.card{margin-top:16px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#101523e6}.grid{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:12px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}input,textarea,select,button{border:1px solid var(--line);border-radius:10px;background:#0a1020;color:var(--text);padding:10px}textarea{min-height:160px}button{cursor:pointer}button:hover{border-color:var(--accent)}.uploadGrid{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.uploadCard{border:1px dashed var(--line);border-radius:12px;padding:12px}.uploadCard .fileStats{margin-top:8px;font-size:13px}.uploadCard .fileName{color:var(--muted);margin-bottom:4px}.uploadCard .fileStatsText{color:var(--text)}.rowHead{display:flex;justify-content:space-between;align-items:center}.segments{margin-top:10px;display:grid;gap:10px}.segmentHeaderRow{margin-top:10px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1.5fr 1.5fr auto;gap:8px;color:var(--muted);font-size:12px;padding:0 10px}.segmentCard{display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1.5fr 1.5fr auto;padding:10px;border:1px solid var(--line);border-radius:10px;align-items:end}.segmentCard input[type=number]{width:100%;max-width:110px;justify-self:start}.checkbox{flex-direction:row;align-items:center;margin-top:8px}.segmentStatus{margin-top:8px;padding:10px 12px;border-radius:8px;border-left:3px solid var(--line);font-size:13px;background:#0d111c99}.segmentStatus--ok{border-left-color:var(--success);color:var(--text)}.segmentStatus--warning{border-left-color:#e6a23c;color:#e6c07b}.segmentStatus--error{border-left-color:#da3633;color:#f85149}.segmentStatusSummary{display:flex;flex-wrap:wrap;gap:12px 20px;margin-bottom:6px}.segmentStatusSummary strong{font-weight:600}.segmentStatusMessage{color:var(--muted);font-size:12px}.reviewSummary{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:24px}.reviewCard{background:#0d111c99;border:1px solid var(--line);border-radius:10px;padding:12px}.reviewCardLabel{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px}.reviewCardValue{font-size:14px;line-height:1.4}.reviewTableTitle{margin:0 0 10px;font-size:16px}.reviewTableWrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px}.reviewTable{width:100%;border-collapse:collapse;font-size:13px}.reviewTable th,.reviewTable td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}.reviewTable th{background:#0d111ccc;color:var(--muted);font-weight:600}.reviewTable tbody tr:last-child td{border-bottom:none}.review{max-height:420px;overflow:auto;background:#0a1020;border-radius:10px;border:1px solid var(--line);padding:12px}.runSection{display:grid;gap:12px}.runSection a{color:var(--success);text-decoration:none}.exclusionSummary{grid-column:1 / -1;font-size:13px;color:var(--text)}.exclusionResults{grid-column:1 / -1;display:grid;gap:8px}.exclusionResultCard{border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;gap:8px;background:#0a1020}.exclusionMeta{font-size:12px;color:var(--muted)}.exclusionCount{font-size:13px;color:var(--text)}.exclusionError{font-size:12px;color:#ff7b72}.offerActions{display:flex;gap:8px;align-items:center}.selectedCount{color:var(--muted);font-size:12px}.offerList{grid-column:1 / -1;max-height:320px;overflow:auto;display:grid;gap:6px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#0a1020}.offerRuleRow{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px;align-items:end}.offerRuleRow .danger{border-color:#9d4343}.offerRuleRow .danger:disabled{opacity:.4;cursor:not-allowed}@media(max-width:1000px){.stepper{grid-template-columns:repeat(2,1fr)}.uploadGrid,.segmentCard{grid-template-columns:1fr}.segmentHeaderRow{display:none}.offerRuleRow{grid-template-columns:1fr}}
