:root{color-scheme:light;--bg:#f4f6f8;--panel:#ffffff;--ink:#0f1720;--ink-soft:#2b3b47;--line:#d5dee5;--accent:#0b6cff;--danger:#ad1f2a}*{box-sizing:border-box}body{margin:0;font-family:IBM Plex Sans,Segoe UI,sans-serif;background:radial-gradient(circle at 0 0,#e7eef6 0,#f4f6f8 45%,#eef2f6 100%);color:var(--ink)}.container{max-width:1280px;margin:0 auto;padding:24px;display:grid;grid-gap:16px;gap:16px}.hero{background:linear-gradient(135deg,#0f1720,#24384a);color:#f8fbff;border-radius:16px;padding:18px 22px}.hero h1{margin:0;font-size:1.8rem}.hero p{margin:6px 0 0;color:#d7e4f0}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.controls label{display:block;margin-bottom:6px;font-size:.85rem;color:var(--ink-soft)}button,input,select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:#fff}button{cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:transparent}button:disabled{opacity:.7;cursor:wait}.error{margin:0;color:var(--danger);font-weight:600}.muted{margin:0;color:#5d6b77}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.panel h2{margin:0 0 10px;font-size:1rem}.tableWrapper{overflow:auto}table{width:100%;border-collapse:collapse;min-width:720px}td,th{padding:9px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}.parentsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.parentCard{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff}.parentCard header{font-weight:700;margin-bottom:6px}.parentCard ul{margin:0;padding-left:16px}.runSummary{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:700;border:1px solid var(--line);background:#f2f6fa}.badge.running{background:#fff7e6;border-color:#ffd08a;color:#9c5c00}.badge.success{background:#e8f8ee;border-color:#a8e0bc;color:#126c36}.badge.failed{background:#fdebec;border-color:#f0b0b7;color:#9d1826}.syncStatsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:10px;gap:10px}.syncStatCard{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfdff}.syncStatCard>header{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:8px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.metrics>div{border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.metrics span{display:block;font-size:.8rem;color:#5d6b77;margin-bottom:4px}.metrics strong{font-size:1rem}.errorInline{color:var(--danger);font-weight:600}.errorInline,.errorList{margin:8px 0 0;word-break:break-word}.errorList{padding-left:18px;color:#3f4c57}.syncStatCard details{margin-top:8px}.syncStatCard summary{cursor:pointer;color:#20384f;font-weight:600}@media (max-width:900px){.controls,.syncStatsGrid{grid-template-columns:1fr}}