:root{--fd-navy-950:#010a1f;--fd-navy-900:#031c41;--fd-navy-800:#062350;--fd-navy-700:#0a2d60;--fd-navy-100:#bfcee2;--fd-navy-050:#dee6f0;--fd-navy-025:#eef2f8;--fd-gold-700:#7c6e20;--fd-gold-600:#a89a3e;--fd-gold-500:#c5b358;--fd-gold-400:#d7c77a;--fd-gold-100:#f8f3df;--fd-success:#3a8f6a;--fd-success-soft:#dcefe5;--fd-warning:#c99a2e;--fd-warning-soft:#fbefcf;--fd-danger:#b23a2b;--fd-danger-soft:#f5ddd7;--fd-info:#3b7a8c;--fd-info-soft:#d8e8ee;--bg-canvas:#f4f6fa;--bg-surface:#fff;--bg-surface-2:#fafbfc;--bg-inset:#e8ecf2;--bg-inverse:var(--fd-navy-900);--border-subtle:#e8ecf2;--border-default:#d6dce6;--border-strong:#b5becc;--border-focus:var(--fd-gold-500);--text-primary:#0f1422;--text-secondary:#404a5c;--text-tertiary:#8893a6;--text-on-accent:#fff;--text-link:var(--fd-navy-900);--accent:var(--fd-navy-900);--accent-hover:var(--fd-navy-800);--accent-soft:var(--fd-navy-025);--accent-on:#fff;--highlight:var(--fd-gold-500);--highlight-hover:var(--fd-gold-400);--highlight-soft:var(--fd-gold-100);--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px #0f14220a;--shadow-sm:0 1px 2px #0f14220f, 0 1px 3px #0f14220a;--shadow-lg:0 24px 64px #0f14222e;--shadow-focus:0 0 0 3px #c5b35859;--modal-backdrop:#0f142280;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:2rem;--space-8:2.5rem;--space-9:3rem;--space-10:4rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-3xl:2.25rem;--weight-medium:500;--weight-semibold:600;--leading-tight:1.15;--leading-base:1.55;--tracking-tight:-.02em;--tracking-eyebrow:.18em;--control-lg:40px;--duration-fast:.12s;--duration-base:.2s;--z-sticky:100;color:var(--text-primary);background:var(--bg-canvas);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--bg-canvas);min-width:320px;min-height:100vh;font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--border-focus) 35%, transparent);outline-offset:2px}h1,h2,h3,p{margin-top:0}.app-shell{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;height:100vh;padding:24px 20px;display:flex;position:sticky;top:0}.brand{flex-direction:column;align-items:flex-start;gap:12px;min-height:74px;padding:8px 12px 28px;display:flex}.brand img{width:100%;max-width:168px;height:auto;display:block}.brand span{color:var(--text-tertiary);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.4}.sidebar nav{gap:4px;display:grid}.sidebar nav button{border-radius:var(--radius-md);min-height:40px;color:var(--text-secondary);text-align:left;background:0 0;border:0;padding:9px 12px;font-size:13px;font-weight:600}.sidebar nav button:hover,.sidebar nav .nav-active{color:var(--fd-navy-900);background:var(--accent-soft)}.sidebar nav .nav-active{box-shadow:inset 3px 0 0 var(--highlight)}.sidebar-foot{border-top:1px solid var(--border-subtle);gap:14px;margin-top:auto;padding:16px 8px 0;display:grid}.sidebar-foot div{gap:3px;min-width:0;display:grid}.sidebar-foot strong{color:var(--text-primary);text-overflow:ellipsis;font-size:13px;overflow:hidden}.sidebar-foot span{color:var(--text-tertiary);text-overflow:ellipsis;font-size:12px;overflow:hidden}.text-button{min-height:40px;color:var(--text-secondary);text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.workspace{width:100%;max-width:1384px;padding:32px clamp(24px,4vw,64px) 64px;overflow:hidden}.topbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.topbar h1{letter-spacing:-.02em;margin-bottom:0;font-size:clamp(30px,4vw,36px);font-weight:600;line-height:1.15}.eyebrow{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.18em;margin-bottom:6px;font-size:11px;font-weight:600;line-height:1.4}.top-actions{gap:10px;display:flex}select,input{border:1px solid var(--border-default);border-radius:var(--radius-md);min-height:40px;color:var(--text-primary);background:var(--bg-surface);outline:none;padding:0 12px}select:focus,input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--border-focus) 35%, transparent)}.button{border:1px solid var(--border-default);border-radius:var(--radius-md);min-height:40px;color:var(--fd-navy-900);background:var(--bg-surface);padding:0 20px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,transform .12s}.button:hover{border-color:var(--border-strong);background:var(--bg-surface-2)}.button-gold{border-color:var(--highlight);color:var(--fd-navy-900);background:var(--highlight)}.button-gold:hover{border-color:var(--highlight-hover);background:var(--highlight-hover)}.button-danger{border-color:var(--fd-danger);color:var(--fd-danger);background:var(--bg-surface)}.button-wide{place-items:center;width:100%;display:grid}.button:disabled,button:disabled{cursor:wait;opacity:.55}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.metric-grid article{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm);padding:20px 24px}.metric-grid span{color:var(--text-secondary);font-size:13px;display:block}.metric-grid strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:36px;font-weight:600;line-height:1.15;display:block}.panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);box-shadow:var(--shadow-sm);overflow:hidden}.panel-heading{border-bottom:1px solid var(--border-subtle);padding:22px 24px}.panel-heading h2{letter-spacing:-.02em;margin-bottom:5px;font-size:18px;font-weight:600;line-height:1.3}.panel-heading p{color:var(--text-secondary);margin-bottom:0;font-size:13px}.job-list{display:grid}.job-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(300px,1fr) 145px 150px 120px auto;align-items:center;gap:18px;min-width:850px;padding:15px 20px;font-size:13px;display:grid}.job-row:hover{background:var(--bg-surface-2)}.job-row:last-child{border:0}.job-main{text-align:left;background:0 0;border:0;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.kind-icon{border-radius:var(--radius-md);width:40px;height:40px;color:var(--fd-navy-900);background:var(--accent-soft);flex:none;place-items:center;font-size:12px;font-weight:700;display:grid}.job-copy{gap:4px;min-width:0;display:grid}.job-copy strong,.job-copy small,.job-schedule small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.job-copy small,.job-schedule small{color:var(--text-tertiary)}.job-type,.job-schedule{color:var(--text-secondary);text-transform:capitalize;font-size:12px}.job-schedule{gap:3px;display:grid}.row-actions{gap:6px;display:flex}.row-actions button,.drawer-heading button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:32px;color:var(--fd-navy-900);background:var(--bg-surface);padding:6px 10px;font-size:12px;font-weight:600}.row-actions .action-primary,.drawer-actions .action-primary{border-color:var(--fd-gold-500);background:var(--fd-gold-100)}.status{width:max-content;color:var(--text-secondary);background:var(--bg-inset);text-transform:capitalize;letter-spacing:.02em;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-block}.status-active,.status-completed,.status-authorized{color:var(--fd-success);background:var(--fd-success-soft)}.status-authorization-required,.status-failed,.status-insufficient-credits{color:var(--fd-danger);background:var(--fd-danger-soft)}.status-processing,.status-discovering,.status-queued,.status-pending,.status-completed-with-issues{color:var(--fd-warning);background:var(--fd-warning-soft)}.empty{text-align:center;padding:70px 24px}.empty h3{margin-bottom:7px}.empty p,.muted{color:var(--text-tertiary)}.alert{border-left:3px solid var(--fd-danger);border-radius:var(--radius-md);color:var(--text-primary);background:var(--fd-danger-soft);justify-content:space-between;margin-bottom:18px;padding:12px 14px;font-size:13px;display:flex}.alert button{color:inherit;background:0 0;border:0;font-size:20px}.alert-warning{border-left-color:var(--fd-warning);background:var(--fd-warning-soft)}.drawer-backdrop{z-index:10;background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);background:var(--bg-surface);width:min(620px,100%);max-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border:0;margin:auto;padding:26px;position:fixed;inset:0;overflow:auto}.modal::backdrop{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-alert{display:block}.modal-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.modal-heading h2{margin:0}.modal-heading>button{min-width:40px;min-height:40px;color:var(--text-secondary);background:0 0;border:0;font-size:25px}.modal label{color:var(--text-secondary);gap:7px;margin-bottom:15px;font-size:13px;font-weight:600;display:grid}.modal label small{color:var(--text-tertiary);font-weight:400}.field-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field-grid label{min-width:0}.field-grid select,.field-grid input{width:100%}.notice{border-radius:var(--radius-md);color:var(--text-secondary);background:var(--highlight-soft);padding:12px;font-size:12px;line-height:1.55}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.drawer-backdrop{place-items:stretch end;padding:0}.drawer{background:var(--bg-surface);width:min(660px,100vw);height:100vh;box-shadow:var(--shadow-lg);padding:30px;overflow:auto}.detail-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detail-grid div{border-radius:var(--radius-md);background:var(--bg-surface-2);padding:14px}.detail-grid dt{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.detail-grid dd{margin:7px 0 0;font-size:13px}.source-link{color:var(--text-link);overflow-wrap:anywhere;margin:18px 0 26px;font-size:12px;display:block}.drawer-heading{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-top:20px;display:flex}.drawer-heading h3{margin:0}.drawer-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.run-list{gap:8px;margin-top:12px;display:grid}.run-list article{border:1px solid var(--border-subtle);border-radius:var(--radius-md);grid-template-columns:1fr auto;gap:10px;padding:14px;display:grid}.run-list article.run-failed{border-color:color-mix(in srgb, var(--fd-danger) 35%, var(--border-subtle));background:color-mix(in srgb, var(--fd-danger-soft) 35%, var(--bg-surface))}.run-list article>div:first-child{text-transform:capitalize;gap:3px;display:grid}.run-list small{color:var(--text-tertiary)}.run-counts{color:var(--text-secondary);flex-wrap:wrap;grid-column:1/-1;gap:12px;font-size:11px;display:flex}.run-error{border-left:3px solid var(--fd-danger);border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--fd-danger-soft);grid-column:1/-1;gap:4px;padding:10px 12px;font-size:12px;line-height:1.45;display:grid}.run-error strong{color:var(--fd-danger);font-size:12px}.center{background:var(--bg-canvas);place-items:center;min-height:100vh;padding:24px;display:grid}.fd-public{background:var(--bg-canvas);flex-direction:column;min-height:100dvh;display:flex}.fd-public__bar{z-index:var(--z-sticky);border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-surface) 92%, transparent);-webkit-backdrop-filter:saturate(140%)blur(12px);backdrop-filter:saturate(140%)blur(12px);position:sticky;top:0}.fd-public__bar-inner{width:100%;max-width:480px;padding:calc(var(--space-4) + env(safe-area-inset-top,0px)) max(var(--space-6), env(safe-area-inset-right,0px)) var(--space-4) max(var(--space-6), env(safe-area-inset-left,0px));justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.fd-public__brand{color:inherit;align-items:center;gap:var(--space-3);text-decoration:none;display:inline-flex}.fd-public__brand:hover{text-decoration:none}.fd-public__brand:focus-visible{border-radius:var(--radius-xs);outline:2px solid var(--border-focus);outline-offset:4px}.fd-public__logo{width:auto;height:28px;display:block}.fd-public__tools{align-items:center;gap:var(--space-3);min-width:0;margin-left:auto;display:flex}.fd-public__badge{color:var(--text-tertiary);font-size:var(--text-sm);font-weight:var(--weight-medium)}.fd-public__content{width:100%;max-width:480px;padding:var(--space-9) max(var(--space-6), env(safe-area-inset-right,0px)) max(var(--space-10), env(safe-area-inset-bottom,0px)) max(var(--space-6), env(safe-area-inset-left,0px));margin:0 auto}.fd-eyebrow{color:var(--fd-gold-600);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;margin:0}.fd-h1{margin:var(--space-1) 0 var(--space-3);color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.fd-body{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-base);margin:0}.fd-login-intro{margin-bottom:var(--space-5)}.fd-card{padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);transition:border-color var(--duration-base), box-shadow var(--duration-base), transform var(--duration-base)}.fd-card--elevated{box-shadow:var(--shadow-sm);border-color:#0000}.fd-field{gap:var(--space-2);flex-direction:column;display:flex}.fd-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:.01em}.fd-input{width:100%;height:var(--control-lg);padding:0 var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);background:var(--bg-surface);font-size:var(--text-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast)}.fd-input:focus{border-color:var(--border-focus);box-shadow:var(--shadow-focus);outline:none}.fd-input::placeholder{color:var(--text-tertiary)}.fd-hint{color:var(--text-tertiary);font-size:var(--text-xs)}.fd-btn{--bg:var(--accent);--fg:var(--accent-on);--bd:transparent;height:40px;padding:0 var(--space-5);border:1px solid var(--bd);border-radius:var(--radius-md);color:var(--fg);background:var(--bg);justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;transition:background var(--duration-fast), border-color var(--duration-fast), transform var(--duration-fast), box-shadow var(--duration-fast);display:inline-flex}.fd-btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.fd-btn:active{transform:translateY(1px)}.fd-btn:disabled{cursor:not-allowed;opacity:.5}.fd-btn--gold{--bg:var(--fd-gold-500);--fg:var(--fd-navy-900)}.fd-btn--gold:hover:not(:disabled){--bg:var(--fd-gold-400)}.fd-btn--lg{height:48px;padding:0 var(--space-6);font-size:var(--text-md)}.fd-login-submit{margin-top:var(--space-4)}.fd-banner{margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);gap:var(--space-1);font-size:var(--text-sm);border:1px solid #0000;display:grid}.fd-banner--danger{border-color:color-mix(in srgb, var(--fd-danger) 25%, transparent);color:var(--fd-danger);background:var(--fd-danger-soft)}.fd-banner span{color:var(--text-secondary)}.fd-segmented{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-inset);gap:2px;width:max-content;max-width:100%;padding:3px;display:inline-flex}.fd-segmented__item{height:32px;padding:0 var(--space-4);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--duration-fast), color var(--duration-fast), box-shadow var(--duration-fast);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.fd-segmented__item:hover{color:var(--text-primary)}.fd-segmented__item--active{color:var(--text-primary);background:var(--bg-surface);box-shadow:var(--shadow-xs)}.fd-segmented__item:focus-visible{box-shadow:var(--shadow-focus);outline:none}.fd-segmented--sm .fd-segmented__item{height:26px;padding:0 var(--space-3);font-size:var(--text-xs)}.center{color:var(--text-secondary);align-content:center}.center p{margin:12px 0 0}.loader{border:3px solid var(--border-default);border-top-color:var(--highlight);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:12px 16px;position:static}.brand{padding:0}.sidebar nav{margin-left:auto;display:flex}.sidebar-foot{display:none}.workspace{padding:24px 16px 50px}.topbar{flex-direction:column;align-items:flex-start}.metric-grid{grid-template-columns:1fr}.panel{overflow-x:auto}}@media (width<=560px){.fd-card{padding:var(--space-5)}.fd-public__bar-inner{padding:calc(var(--space-3) + env(safe-area-inset-top,0px)) max(var(--space-4), env(safe-area-inset-right,0px)) var(--space-3) max(var(--space-4), env(safe-area-inset-left,0px));gap:var(--space-3)}.fd-public__logo{max-width:116px;height:24px}.fd-public__badge{text-overflow:ellipsis;white-space:nowrap;max-width:88px;overflow:hidden}.fd-public__content{padding:var(--space-7) max(var(--space-4), env(safe-area-inset-right,0px)) max(var(--space-9), env(safe-area-inset-bottom,0px)) max(var(--space-4), env(safe-area-inset-left,0px))}.sidebar .brand>span:last-child{display:none}.field-grid,.detail-grid{grid-template-columns:1fr}.modal{padding:20px}.top-actions{width:100%}.top-actions select{flex:1;min-width:0}}@media (width<=420px){.fd-public__badge{display:none}}
