:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs:14px;--fs-sm:12.5px;--fs-xs:11.5px;--fs-lg:18px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--radius:6px;--radius-sm:4px;--gutter:16px;--nav-w:216px;--bg:#f5f6f8;--surface:#fff;--surface-2:#f0f2f5;--surface-3:#e6e9ee;--border:#d9dde3;--border-strong:#b9c0ca;--text:#1c2129;--text-2:#4f5866;--text-3:#7b8493;--link:#1d5bbf;--focus:#3b82f6;--primary:#1d5bbf;--primary-hover:#174a9c;--primary-text:#fff;--danger:#c0392b;--danger-hover:#a13024;--danger-bg:#fdecea;--warn:#b7791f;--warn-bg:#fff6e0;--ok:#1f7a3f;--ok-bg:#e6f4ea;--info-bg:#e8f0fe;--status-queued:#6b7280;--status-queued-bg:#eceef1;--status-running:#1d5bbf;--status-running-bg:#e0eaff;--status-done:#1f7a3f;--status-done-bg:#e2f3e8;--status-failed:#c0392b;--status-failed-bg:#fbe4e1;--status-cancelled:#b7791f;--status-cancelled-bg:#fff1d6;--status-interrupted:#6b3fa0;--status-interrupted-bg:#eee4fa;--highlight-bg:#fff8dc;--shadow:0 1px 2px #1018280f, 0 1px 3px #1018281a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#14171c;--surface:#1c2027;--surface-2:#232830;--surface-3:#2b313b;--border:#323945;--border-strong:#4a5363;--text:#e6e9ee;--text-2:#b3bac5;--text-3:#7f8896;--link:#7fb0ff;--focus:#60a5fa;--primary:#3b78e7;--primary-hover:#5a8ff0;--primary-text:#fff;--danger:#e0564a;--danger-hover:#ea6f64;--danger-bg:#3a1f1c;--warn:#e2a640;--warn-bg:#3a2e14;--ok:#4cbf6f;--ok-bg:#163322;--info-bg:#1b2a44;--status-queued:#9aa3b0;--status-queued-bg:#2b313b;--status-running:#7fb0ff;--status-running-bg:#1b2a44;--status-done:#4cbf6f;--status-done-bg:#163322;--status-failed:#ff7b6e;--status-failed-bg:#3a1f1c;--status-cancelled:#e2a640;--status-cancelled-bg:#3a2e14;--status-interrupted:#b48ee6;--status-interrupted-bg:#2b2140;--highlight-bg:#2e2a17;--shadow:0 1px 2px #0006}}:root[data-theme=dark]{--bg:#14171c;--surface:#1c2027;--surface-2:#232830;--surface-3:#2b313b;--border:#323945;--border-strong:#4a5363;--text:#e6e9ee;--text-2:#b3bac5;--text-3:#7f8896;--link:#7fb0ff;--focus:#60a5fa;--primary:#3b78e7;--primary-hover:#5a8ff0;--primary-text:#fff;--danger:#e0564a;--danger-hover:#ea6f64;--danger-bg:#3a1f1c;--warn:#e2a640;--warn-bg:#3a2e14;--ok:#4cbf6f;--ok-bg:#163322;--info-bg:#1b2a44;--status-queued:#9aa3b0;--status-queued-bg:#2b313b;--status-running:#7fb0ff;--status-running-bg:#1b2a44;--status-done:#4cbf6f;--status-done-bg:#163322;--status-failed:#ff7b6e;--status-failed-bg:#3a1f1c;--status-cancelled:#e2a640;--status-cancelled-bg:#3a2e14;--status-interrupted:#b48ee6;--status-interrupted-bg:#2b2140;--highlight-bg:#2e2a17;--shadow:0 1px 2px #0006}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--fs);-webkit-font-smoothing:antialiased;margin:0;line-height:1.45}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{margin:0 0 var(--sp-3);font-weight:600;line-height:1.25}h1{font-size:var(--fs-lg)}h2{font-size:15px}h3{font-size:var(--fs)}p{margin:0 0 var(--sp-3)}code,pre,.mono{font-family:var(--mono);font-size:var(--fs-sm)}pre{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;margin:0;overflow-x:auto}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-4) 0}.muted{color:var(--text-3)}.dim{color:var(--text-2)}.small{font-size:var(--fs-sm)}.xs{font-size:var(--fs-xs)}.error-text{color:var(--danger)}.ok-text{color:var(--ok)}.warn-text{color:var(--warn)}.nowrap{white-space:nowrap}.right{text-align:right}.break{word-break:break-all}.shell{grid-template-columns:var(--nav-w) 1fr;grid-template-rows:48px 1fr;grid-template-areas:"nav top""nav main";min-height:100%;display:grid}.shell-nav{background:var(--surface);border-right:1px solid var(--border);padding:var(--sp-3) 0;flex-direction:column;grid-area:nav;height:100vh;display:flex;position:sticky;top:0;overflow-y:auto}.shell-brand{padding:var(--sp-2) var(--sp-4) var(--sp-3);letter-spacing:.01em;font-size:15px;font-weight:700}.shell-brand small{color:var(--text-3);font-weight:400;font-size:var(--fs-xs);display:block}.nav-group{padding:var(--sp-2) var(--sp-3) 0;color:var(--text-3);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em}.nav-link{padding:6px var(--sp-4);color:var(--text-2);font-size:var(--fs);border-left:3px solid #0000;display:block}.nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.nav-link.active{color:var(--text);border-left-color:var(--primary);background:var(--surface-2);font-weight:600}.shell-top{align-items:center;gap:var(--sp-3);padding:0 var(--gutter);background:var(--surface);border-bottom:1px solid var(--border);z-index:5;grid-area:top;display:flex;position:sticky;top:0}.shell-top .spacer{flex:1}.shell-main{padding:var(--sp-4) var(--gutter) var(--sp-6);grid-area:main;min-width:0}.page-header{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.page-header h1{margin:0}.page-header .actions{gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}@media (width<=800px){.shell{grid-template:"nav""top"48px"main"1fr/1fr}.shell-nav{height:auto;padding:0 var(--sp-2);border-right:0;border-bottom:1px solid var(--border);white-space:nowrap;flex-direction:row;align-items:center;position:static;overflow:auto hidden}.shell-brand{padding:var(--sp-2) var(--sp-3)}.shell-brand small,.nav-group{display:none}.nav-link{padding:10px var(--sp-3);border-bottom:3px solid #0000;border-left:0}.nav-link.active{border-bottom-color:var(--primary);background:0 0}.shell-top{position:static}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);margin-bottom:var(--sp-4);min-width:0}.card>h2:first-child,.card>h3:first-child{margin-top:0}.card-header{align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;display:flex}.card-header h2,.card-header h3{margin:0}.card-header .actions{gap:var(--sp-2);flex-wrap:wrap;margin-left:auto;display:flex}.grid-2{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.banner{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);margin-bottom:var(--sp-3);align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.banner .actions{gap:var(--sp-2);margin-left:auto;display:flex}.banner-info{background:var(--info-bg);border-color:#0000}.banner-warn{background:var(--warn-bg);color:var(--text);border-color:#0000}.banner-error{background:var(--danger-bg);border-color:#0000}.banner-ok{background:var(--ok-bg);border-color:#0000}.btn{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;line-height:1.3;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-2);text-decoration:none}.btn:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{font-size:var(--fs-xs);padding:3px 8px}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.btn-link{color:var(--link);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0}.btn-link:hover{text-decoration:underline}.btn-row{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}input[type=text],input[type=password],input[type=number],input[type=search],input[type=url],input[type=email],select,textarea{font:inherit;font-size:var(--fs-sm);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;min-width:0;padding:5px 8px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger)}textarea{resize:vertical;min-height:72px;line-height:1.4}input[type=checkbox]{vertical-align:-2px;width:15px;height:15px;accent-color:var(--primary);margin:0}.field{flex-direction:column;gap:3px;min-width:0;display:flex}.field>label,.field-label{font-size:var(--fs-sm);color:var(--text-2);font-weight:600}.field .help{font-size:var(--fs-xs);color:var(--text-3)}.field .err{font-size:var(--fs-xs);color:var(--danger)}.field-inline{align-items:center;gap:var(--sp-2);flex-direction:row}.field-inline>label{color:var(--text);font-weight:500}.form-grid{gap:var(--sp-3) var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;display:grid}.form-grid .span-2{grid-column:span 2}.form-grid .span-all{grid-column:1/-1}@media (width<=600px){.form-grid .span-2{grid-column:span 1}}.checklist{gap:var(--sp-2) var(--sp-4);flex-wrap:wrap;display:flex}.checklist label{font-size:var(--fs-sm);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.filter-bar{gap:var(--sp-2);margin-bottom:var(--sp-3);flex-wrap:wrap;align-items:end;display:flex}.filter-bar .field{min-width:140px}.filter-bar .grow{flex:200px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:100%;overflow-x:auto}table.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}table.table th,table.table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;white-space:nowrap;padding:6px 10px}table.table th{background:var(--surface-2);color:var(--text-2);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.04em;z-index:1;position:sticky;top:0}table.table tbody tr:last-child td{border-bottom:0}table.table tbody tr:hover td{background:var(--surface-2)}table.table td.wrap{white-space:normal;min-width:200px}table.table td.num{text-align:right;font-variant-numeric:tabular-nums}table.table tr.highlight td{background:var(--highlight-bg)}table.table td.cell-error input,table.table td.cell-error .chipinput{border-color:var(--danger)}table.table .cell-msg{color:var(--danger);font-size:var(--fs-xs);white-space:normal;display:block}table.table td.actions{text-align:right;white-space:nowrap}table.table td.actions .btn+.btn{margin-left:4px}table.table td.idx{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;width:1%}.editable-table td input[type=text],.editable-table td input[type=number]{min-width:120px}.editable-table td.tags-cell{white-space:normal;min-width:240px}.editable-table td .chipinput{min-height:30px}.table-toolbar{gap:var(--sp-2);margin-bottom:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.table-toolbar .spacer{flex:1}.table-toolbar input[type=search]{max-width:260px}.dirty-dot{background:var(--warn);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.pagination{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.chip{font-size:var(--fs-xs);white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:1px 8px;font-weight:600;line-height:1.6;display:inline-flex}.chip-queued{color:var(--status-queued);background:var(--status-queued-bg)}.chip-running{color:var(--status-running);background:var(--status-running-bg)}.chip-done{color:var(--status-done);background:var(--status-done-bg)}.chip-failed{color:var(--status-failed);background:var(--status-failed-bg)}.chip-cancelled{color:var(--status-cancelled);background:var(--status-cancelled-bg)}.chip-interrupted{color:var(--status-interrupted);background:var(--status-interrupted-bg)}.chip-neutral{color:var(--text-2);background:var(--surface-3)}.chip-ok{color:var(--ok);background:var(--ok-bg)}.chip-warn{color:var(--warn);background:var(--warn-bg)}.chip-danger{color:var(--danger);background:var(--danger-bg)}.chip-info{color:var(--primary);background:var(--info-bg)}.chip-outline{border-color:var(--border-strong);color:var(--text-2);background:0 0}.chip.selected{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.chip{cursor:pointer;font:inherit;font-size:var(--fs-xs);font-weight:600}.badge{font-size:var(--fs-xs);background:var(--surface-3);color:var(--text-2);white-space:nowrap;border-radius:3px;padding:0 6px;font-weight:600;line-height:1.6;display:inline-block}.badge-source-default{background:var(--surface-3);color:var(--text-3)}.badge-source-dotenv{background:var(--info-bg);color:var(--primary)}.badge-source-env{background:var(--warn-bg);color:var(--warn)}.job-badge{background:var(--status-running-bg);color:var(--status-running);font-size:var(--fs-sm);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.job-badge:hover{filter:brightness(.95);text-decoration:none}.pulse{background:currentColor;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.chipinput{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:text;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;padding:3px 6px;display:flex}.chipinput:focus-within{outline:2px solid var(--focus);border-color:var(--focus)}.chipinput .chipinput-chip{background:var(--surface-3);font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:1px 4px 1px 8px;font-weight:500;display:inline-flex}.chipinput .chipinput-chip.invalid{background:var(--danger-bg);color:var(--danger)}.chipinput .chipinput-chip button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 4px;font-size:13px;line-height:1}.chipinput .chipinput-chip button:hover{background:var(--border-strong)}.chipinput input{min-width:80px;font:inherit;font-size:var(--fs-sm);color:var(--text);background:0 0;border:0;outline:0;flex:80px;width:auto;padding:2px 4px}.chipinput input:focus-visible{outline:0}.chipinput.compact{min-height:28px;padding:2px 4px}.tabs{border-bottom:1px solid var(--border);margin-bottom:var(--sp-4);gap:0;display:flex;overflow-x:auto}.tab{color:var(--text-2);font:inherit;font-size:var(--fs);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--primary);font-weight:600}.tabs.sub{margin-bottom:var(--sp-3)}.tabs.sub .tab{font-size:var(--fs-sm);padding:6px 10px}.tiles{gap:var(--sp-2);margin-bottom:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);min-width:0}.tile .tile-label{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.tile .tile-value{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:20px;font-weight:600;line-height:1.2;overflow:hidden}.tile .tile-hint{font-size:var(--fs-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.eventlog{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;min-height:200px;display:flex}.eventlog-toolbar{gap:var(--sp-1);padding:var(--sp-2);border-bottom:1px solid var(--border);background:var(--surface-2);flex-wrap:wrap;align-items:center;display:flex}.eventlog-toolbar .spacer{flex:1}.eventlog-body{font-family:var(--mono);font-size:var(--fs-xs);height:420px;padding:var(--sp-2) 0;line-height:1.5;overflow:auto}.eventlog-row{gap:var(--sp-2);padding:0 var(--sp-3);white-space:pre-wrap;word-break:break-all;grid-template-columns:64px 96px 1fr;display:grid}.eventlog-row:hover{background:var(--surface-2)}.eventlog-row .ts{color:var(--text-3)}.eventlog-row .kind{color:var(--text-2);font-weight:600}.eventlog-row.kind-lead .summary{color:var(--ok)}.eventlog-row.kind-stop .summary,.eventlog-row.kind-error .summary,.eventlog-row.kind-failed .summary{color:var(--danger)}.eventlog-row.kind-wait .summary,.eventlog-row.kind-site_skipped .summary{color:var(--warn)}.eventlog-row.kind-plan .summary,.eventlog-row.kind-pass .summary,.eventlog-row.kind-site .summary,.eventlog-row.kind-done .summary{font-weight:600}.eventlog-empty{padding:var(--sp-4);color:var(--text-3);text-align:center}.dialog-backdrop{z-index:50;padding:var(--gutter);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--sp-4);width:min(440px,100%);box-shadow:var(--shadow)}.dialog h3{margin-top:0}.dialog .actions{justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-4);display:flex}.kv{gap:4px var(--sp-3);font-size:var(--fs-sm);grid-template-columns:max-content 1fr;display:grid}.kv dt{color:var(--text-3);margin:0}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.login-wrap{min-height:100%;padding:var(--gutter);justify-content:center;align-items:center;display:flex}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(360px,100%);padding:var(--sp-5);box-shadow:var(--shadow)}.login-card form{gap:var(--sp-3);flex-direction:column;display:flex}.lead-list{font-size:var(--fs-sm);max-height:320px;margin:0;padding:0;list-style:none;overflow:auto}.lead-list li{border-bottom:1px solid var(--border);gap:var(--sp-2);flex-wrap:wrap;align-items:baseline;padding:4px 0;display:flex}.lead-list li:last-child{border-bottom:0}.settings-field{gap:var(--sp-1) var(--sp-4);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,240px) 1fr;align-items:start;display:grid}.settings-field:last-child{border-bottom:0}.settings-field .name{font-family:var(--mono);font-size:var(--fs-sm);overflow-wrap:anywhere;font-weight:600}.settings-field .meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.settings-field .control{gap:var(--sp-2);flex-wrap:wrap;align-items:center;display:flex}.settings-field .control input[type=text],.settings-field .control input[type=number],.settings-field .control input[type=password],.settings-field .control select{max-width:420px}.settings-field .desc{font-size:var(--fs-xs);color:var(--text-3);grid-column:2}.settings-field.changed .name:after{content:" *";color:var(--warn)}@media (width<=600px){.settings-field{grid-template-columns:1fr}.settings-field .desc{grid-column:1}}.sticky-actions{background:var(--surface);border-top:1px solid var(--border);padding:var(--sp-2) var(--sp-3);gap:var(--sp-2);margin:var(--sp-3) calc(-1 * var(--sp-4)) calc(-1 * var(--sp-4));border-radius:0 0 var(--radius) var(--radius);z-index:2;flex-wrap:wrap;align-items:center;display:flex;position:sticky;bottom:0}.sticky-actions .spacer{flex:1}details.panel{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--sp-2) var(--sp-3);background:var(--surface)}details.panel summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm)}details.panel[open] summary{margin-bottom:var(--sp-2)}.loading{color:var(--text-3);padding:var(--sp-4)}.list-plain{font-size:var(--fs-sm);margin:0;padding-left:18px}
