:root{color:#1f2937;background:#f6f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}button{border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1f2937;cursor:pointer;font-size:14px;min-height:36px;padding:0 14px}button:disabled{cursor:not-allowed;opacity:.6}button.primary{background:#166534;border-color:#166534;color:#fff}input,select{border:1px solid #cbd5e1;border-radius:6px;box-sizing:border-box;color:#1f2937;font-size:14px;min-height:36px;padding:0 10px}.app-shell{margin:0 auto;max-width:1180px;padding:32px 20px}.toolbar{align-items:center;display:flex;justify-content:space-between;gap:16px;margin-bottom:20px}.toolbar h1{font-size:28px;margin:0 0 6px}.toolbar p{color:#64748b;margin:0}.actions{display:flex;gap:10px}.notice{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:16px;padding:12px 14px}.credential-panel{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(220px,320px) auto;margin-bottom:16px;padding:12px 14px}.credential-panel div:first-child{align-items:center;display:flex;gap:10px;min-width:0}.credential-panel strong{font-size:15px;white-space:nowrap}.credential-panel span{color:#64748b;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credential-actions{display:flex;gap:8px}.config-status{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:12px 14px}.config-grid{align-items:center;display:grid;gap:10px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.config-grid div{align-items:center;display:flex;gap:10px;min-width:0}.config-status strong{font-size:15px;white-space:nowrap}.config-status span{border-radius:999px;font-size:12px;font-weight:700;padding:4px 8px;white-space:nowrap}.config-status code{background:#ffffffa6;border:1px solid rgba(148,163,184,.35);border-radius:6px;color:#334155;font-size:12px;overflow:hidden;padding:4px 8px;text-overflow:ellipsis;white-space:nowrap}.config-status p{color:#475569;margin:8px 0 0}.config-status p.invalid-config{color:#b91c1c}.config-status.ready{background:#f0fdf4;border-color:#bbf7d0}.config-status.ready span{background:#dcfce7;color:#166534}.config-status.warning{background:#fffbeb;border-color:#fde68a}.config-status.warning span{background:#fef3c7;color:#92400e}.runtime-status{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px;padding:12px 14px}.platforms{display:grid;gap:10px;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:16px}.platforms div{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;gap:8px;min-width:0;padding:10px 12px}.platforms strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.platforms span{border-radius:999px;flex:0 0 auto;font-size:12px;font-weight:700;padding:4px 8px}.platforms .active{border-color:#bbf7d0}.platforms .active span{background:#dcfce7;color:#166534}.platforms .planned span{background:#f1f5f9;color:#475569}.runtime-status.running{border-color:#93c5fd}.runtime-status div{display:grid;gap:6px;min-width:0}.runtime-status span{color:#64748b;font-size:13px;font-weight:600}.runtime-status strong{color:#1f2937;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-window,.filters{align-items:end;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:12px;grid-template-columns:180px 180px minmax(220px,1fr) auto;margin-bottom:16px;padding:14px}.sync-window{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.sync-window label,.filters label{display:grid;gap:6px}.sync-window label span,.filters label span{color:#475569;font-size:13px;font-weight:600}.summary-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}.summary-grid div{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:6px;min-height:72px;padding:12px 14px}.summary-grid span{color:#64748b;font-size:13px;font-weight:600}.summary-grid strong{color:#1f2937;font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-actions{display:flex;gap:8px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;overflow:auto}table{border-collapse:collapse;min-width:980px;width:100%}th,td{border-bottom:1px solid #e2e8f0;font-size:14px;padding:12px 14px;text-align:left;vertical-align:top}th{background:#f8fafc;color:#475569;font-weight:600}.empty{color:#64748b;text-align:center}.status{border-radius:999px;display:inline-flex;font-size:12px;font-weight:700;padding:4px 8px}.status.success{background:#dcfce7;color:#166534}.status.failed{background:#fee2e2;color:#991b1b}.status.skipped{background:#fef3c7;color:#92400e}.log-detail{background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:14px;padding:14px}.detail-heading{align-items:start;display:flex;gap:16px;justify-content:space-between}.detail-heading h2{font-size:18px;margin:0 0 4px}.detail-heading p{color:#64748b;margin:0}.detail-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid div,.detail-block{border:1px solid #e2e8f0;border-radius:8px;display:grid;gap:8px;padding:10px 12px}.detail-grid span,.detail-block span{color:#64748b;font-size:13px;font-weight:600}.detail-grid strong{color:#1f2937;font-size:15px}.detail-block pre{background:#f8fafc;border-radius:6px;color:#334155;font-size:12px;line-height:1.5;margin:0;max-height:220px;overflow:auto;padding:10px;white-space:pre-wrap;word-break:break-word}@media(max-width:720px){.toolbar{align-items:stretch;flex-direction:column}.actions{flex-wrap:wrap}.sync-window,.filters,.credential-panel{grid-template-columns:1fr}.credential-actions{flex-wrap:wrap}.config-grid{grid-template-columns:1fr}.summary-grid,.runtime-status,.platforms{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{flex-wrap:wrap}.detail-heading{flex-direction:column}.detail-grid{grid-template-columns:1fr}}
