:root{--bg: #f8fafc;--surface: #ffffff;--surface-subtle: #fafafa;--surface-strong: #f4f4f5;--ink: #09090b;--ink-soft: #27272a;--muted: #71717a;--line: #e4e4e7;--line-strong: #d4d4d8;--primary: #18181b;--primary-strong: #000000;--primary-soft: #f4f4f5;--accent: #2563eb;--danger: #b42318;--danger-soft: #fef3f2;--success: #15803d;--success-soft: #f0fdf4;--warning: #b45309;--warning-soft: #fffbeb;color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg)}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3,p{margin-top:0}h1{margin-bottom:8px;font-size:2.2rem;line-height:1.05}h2{margin-bottom:0;font-size:1.55rem;line-height:1.2}h3{margin-bottom:0;font-size:.98rem;line-height:1.3}small{color:var(--muted)}a{color:var(--accent);font-weight:760;text-decoration:none}a:hover{text-decoration:underline}.eyebrow{margin:0 0 8px;color:var(--primary);font-size:.72rem;font-weight:820;letter-spacing:0;text-transform:uppercase}.lede{margin-bottom:22px;color:var(--muted);line-height:1.55}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#ffffff 0,var(--bg) 64%),var(--bg)}.auth-panel{width:min(440px,100%);border:1px solid var(--line);border-top:3px solid var(--primary);border-radius:8px;padding:30px;background:var(--surface);box-shadow:0 18px 45px #141d281a}.stack{display:grid;gap:14px}.compact{gap:10px}label{display:grid;gap:6px;color:var(--ink-soft);font-size:.84rem;font-weight:760}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink);outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}input,select{min-height:40px;padding:0 11px}textarea{min-height:132px;padding:10px 12px;resize:vertical;font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem;line-height:1.5}input[type=file]{padding:8px 11px}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #18181b1a}.segmented{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.segmented button{min-height:34px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:780}.segmented button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #141d281f}.primary,.secondary,.icon-button{border:1px solid transparent;border-radius:6px;font-weight:780;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform .12s ease}.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 16px;background:var(--primary);color:#fff}.primary:hover:not(:disabled){background:var(--primary-strong)}.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 12px;border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft)}.secondary:hover:not(:disabled),.icon-button:hover:not(:disabled){border-color:var(--line-strong);background:var(--primary-soft);color:var(--ink)}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft)}.icon-button.danger{color:var(--danger)}.icon-button.danger:hover:not(:disabled){border-color:#f4b7b2;background:var(--danger-soft);color:var(--danger)}.status{margin:14px 0 0;color:var(--primary-strong);font-weight:740}.status.error{color:var(--danger)}.floating{position:fixed;right:24px;bottom:24px;max-width:min(460px,calc(100vw - 48px));border:1px solid var(--line-strong);border-radius:8px;padding:12px 14px;background:var(--surface);box-shadow:0 14px 38px #141d2824}.app-shell{min-height:100vh;display:grid;grid-template-columns:264px minmax(0,1fr)}.sidebar{display:grid;align-content:start;gap:20px;min-height:100vh;border-right:1px solid var(--line);padding:22px;background:#fff}.sidebar h1{font-size:1.62rem}.identity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--surface);color:var(--ink-soft);font-size:.86rem}.identity span{min-width:0;overflow-wrap:anywhere}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.sidebar-nav{display:grid;gap:4px;padding-top:8px;border-top:1px solid var(--line)}.sidebar-nav button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:38px;border:1px solid transparent;border-radius:6px;padding:0 10px;background:transparent;color:var(--ink-soft);text-align:left;font-weight:760}.sidebar-nav button:hover{background:var(--surface-strong)}.sidebar-nav button.active{border-color:var(--line-strong);background:var(--primary-soft);color:var(--ink)}.sidebar-nav small{min-width:24px;border-radius:999px;padding:2px 7px;background:var(--surface);color:var(--muted);text-align:center;font-size:.7rem;font-weight:860}.workspace{min-width:0;padding:28px;background:linear-gradient(180deg,#fff 0,#fff0 180px),var(--bg)}.workspace-tab{margin-top:22px}.overview-stack{display:grid;gap:16px}.ops-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(300px,360px);gap:16px;align-items:start}.cloud-map-panel{display:grid;gap:18px;min-height:560px;border:1px solid var(--line);border-radius:8px;padding:18px;background:radial-gradient(circle at 50% 45%,rgba(37,99,235,.1),transparent 34%),linear-gradient(180deg,#fff 0,#fafafa);box-shadow:0 1px 2px #18181b0a}.map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.map-header h3{font-size:1.28rem}.resource-map{position:relative;min-height:360px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px),#fff;background-size:44px 44px;overflow:hidden}.resource-map:before,.resource-map:after{content:"";position:absolute;inset:50% auto auto 50%;width:58%;height:1px;background:var(--line-strong);transform-origin:center;translate:-50% -50%}.resource-map:after{transform:rotate(90deg)}.map-ring{position:absolute;inset:50% auto auto 50%;width:min(260px,56%);aspect-ratio:1;border:1px solid var(--line-strong);border-radius:999px;translate:-50% -50%;background:#ffffffa8}.map-core{position:absolute;inset:50% auto auto 50%;width:154px;min-height:118px;display:grid;place-items:center;gap:5px;border:1px solid var(--line-strong);border-radius:8px;padding:16px;background:#fff;box-shadow:0 18px 42px #18181b1f;translate:-50% -50%;z-index:2}.map-core strong{font-size:1.32rem;line-height:1.1}.map-node{position:absolute;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;width:min(190px,34%);min-height:66px;border:1px solid var(--line-strong);border-radius:8px;padding:10px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 8px 22px #18181b14}.map-node:hover{border-color:var(--primary);transform:translateY(-1px)}.map-node svg{color:var(--accent)}.map-node span{display:grid;gap:2px;min-width:0}.map-node strong,.map-node small{overflow-wrap:anywhere}.map-node.storage{top:28px;left:50%;translate:-50% 0}.map-node.providers{top:50%;right:28px;translate:0 -50%}.map-node.databases{bottom:28px;left:50%;translate:-50% 0}.map-node.jobs{top:50%;left:28px;translate:0 -50%}.signal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.signal-metrics span{display:grid;gap:2px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}.signal-metrics strong{font-size:1.35rem;line-height:1.1}.ops-rail{display:grid;gap:12px}.topbar,.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{min-height:58px;border-bottom:1px solid var(--line);padding-bottom:20px}.command-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(135deg,#fff 0,#fff 54%,#f4f4f5);box-shadow:0 1px 2px #18181b0a}.command-strip h3{font-size:1.12rem}.command-strip p{margin:5px 0 0;color:var(--muted)}.command-status{display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid var(--line);border-radius:999px;padding:0 12px;background:var(--surface);color:var(--ink-soft);font-size:.82rem;font-weight:760;white-space:nowrap}.status-light{width:8px;height:8px;border-radius:999px;background:var(--success);box-shadow:0 0 0 4px var(--success-soft)}.command-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:12px;margin-bottom:0}.metric,.panel,.provider-pill{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px #18181b0a}.metric{display:grid;gap:8px;min-height:126px;padding:16px}.metric-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:var(--primary-soft);color:var(--ink-soft)}.metric span{color:var(--muted);font-size:.78rem;font-weight:780}.metric strong{color:var(--ink);font-size:1.45rem;line-height:1.1}.overview-grid{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);gap:16px}.capacity-panel{display:grid;align-content:space-between;min-height:184px}.capacity-meter{height:12px;overflow:hidden;border-radius:999px;background:var(--surface-strong)}.capacity-meter span{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.capacity-stats{display:grid;gap:4px}.capacity-stats strong{font-size:1.75rem;line-height:1.1}.signal-list{display:grid;gap:0;margin-top:12px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.signal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:58px;padding:10px 12px;background:var(--surface)}.signal-row+.signal-row{border-top:1px solid var(--line)}.signal-row:hover{background:var(--surface-subtle)}.signal-row>span{display:grid;gap:3px;min-width:0}.signal-row strong,.signal-row small{overflow-wrap:anywhere}.compact-empty{padding:14px;background:var(--surface)}.provider-section{display:grid;gap:16px}.provider-overview-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:0 1px 2px #18181b0a}.provider-overview-strip span{display:grid;gap:4px;min-height:78px;padding:14px;border-left:1px solid var(--line)}.provider-overview-strip span:first-child{border-left:0}.provider-overview-strip strong{color:var(--ink);font-size:1.55rem;line-height:1}.provider-console{display:grid;grid-template-columns:minmax(248px,.72fr) minmax(320px,1.25fr) minmax(240px,.7fr);gap:16px;align-items:stretch}.provider-roster{display:grid;align-content:start;gap:12px}.provider-roster-heading{display:flex;align-items:center;justify-content:space-between;color:var(--ink-soft)}.provider-roster-heading span{display:grid;gap:2px}.provider-list{display:grid;gap:8px}.provider-pill{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:64px;padding:10px;color:var(--ink-soft);font-weight:760;text-align:left}.provider-pill:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.provider-pill.selected{border-color:var(--primary);background:linear-gradient(180deg,#ffffff,var(--surface-subtle));box-shadow:inset 3px 0 0 var(--primary),0 0 0 3px #18181b12}.provider-icon,.provider-mark{display:grid;place-items:center;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink-soft)}.provider-icon{width:36px;height:36px;border-radius:7px}.provider-mark{width:58px;height:58px;border-radius:8px}.provider-icon.storage,.provider-mark.storage{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.provider-icon.database,.provider-mark.database{border-color:#bbf7d0;background:#f0fdf4;color:var(--success)}.provider-icon.compute,.provider-mark.compute{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.provider-title{display:grid;gap:3px;min-width:0}.provider-title strong,.provider-title small{min-width:0;overflow-wrap:anywhere}.provider-stage{display:grid;gap:18px;align-content:start;min-height:308px}.provider-stage-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.provider-stage-top h3{font-size:1.28rem}.provider-stage-top .eyebrow{margin-bottom:4px}.provider-capability-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.provider-capability{display:inline-flex;align-items:center;gap:7px;min-height:38px;border:1px solid var(--line);border-radius:7px;padding:8px 10px;background:var(--surface-subtle);color:var(--muted);font-weight:760}.provider-capability svg{color:var(--ink-soft);flex:0 0 auto}.provider-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);padding-top:14px}.provider-facts span{display:grid;gap:5px;min-width:0;padding-right:12px}.provider-facts strong{overflow-wrap:anywhere}.provider-health-panel{display:grid;align-content:start;gap:16px}.provider-health-panel .panel-heading svg{color:var(--ink-soft)}.provider-health-readout{display:grid;gap:7px;min-height:122px;border-left:4px solid var(--primary);padding:8px 0 8px 14px}.provider-health-readout strong{font-size:1.55rem;line-height:1;text-transform:capitalize}.provider-health-readout small{line-height:1.5}.provider-wide-action,.provider-save-action{width:100%}.provider-status,.job-status{border-radius:999px;padding:3px 8px;font-size:.72rem;font-weight:840}.healthy,.succeeded{background:var(--success-soft);color:var(--success)}.unhealthy,.failed{background:var(--danger-soft);color:var(--danger)}.unconfigured{background:#faf5ff;color:#7e22ce}.configured{background:#eff6ff;color:#1d4ed8}.missing_env{background:var(--warning-soft);color:var(--warning)}.pending,.running{background:var(--surface-strong);color:var(--muted)}.provider-config-layout{display:grid;grid-template-columns:minmax(320px,1.3fr) minmax(260px,.7fr);gap:16px;align-items:start}.provider-config-panel{display:grid;gap:12px}.provider-config-panel textarea{min-height:260px;border-color:#18181b;background:#0b1020;color:#e5e7eb;caret-color:#fff;font-family:SFMono-Regular,Consolas,monospace;font-size:.84rem;line-height:1.55}.provider-config-panel textarea:disabled{border-color:var(--line);background:var(--surface-strong);color:var(--muted)}.provider-config-summary{display:grid;gap:14px}.provider-reference-list{display:grid;gap:8px}.provider-reference-list span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:42px;border-bottom:1px solid var(--line)}.provider-reference-list span:last-child{border-bottom:0}.provider-reference-list code{min-width:0;overflow-wrap:anywhere}.provider-empty-panel{display:grid;justify-items:start;gap:8px;min-height:180px;align-content:center}.provider-config-panel,.panel{min-width:0;padding:16px}.control-grid{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px}.bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.bottom-grid>.panel:only-child{max-width:760px}.database-panel,.jobs-panel{margin-top:0}.wide{overflow:hidden}.upload-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1.1fr) auto;gap:10px;margin:16px 0}.database-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:10px;margin:16px 0}.job-form{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr) auto;gap:10px;margin:16px 0}.list{display:grid;gap:8px;margin-top:14px}.job-list{display:grid;gap:10px}.list-row,.plain-row,.job-row{border:1px solid var(--line);border-radius:6px;background:var(--surface)}.list-row,.plain-row{min-height:52px;padding:10px 12px}.list-row{display:grid;width:100%;text-align:left}.list-row:hover{border-color:var(--line-strong);background:var(--surface-subtle)}.list-row.selected{border-color:var(--primary);background:var(--primary-soft)}.plain-row{display:grid;gap:4px}.activity-row{border-left:4px solid var(--primary)}.job-row{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(150px,.6fr) auto;gap:12px;align-items:center;padding:12px}.job-row>div:first-child{display:grid;gap:3px;min-width:0}.job-log{grid-column:1 / -1;max-height:160px;overflow:auto;margin:0;border-radius:6px;padding:10px;background:#09090b;color:#f8fafc;white-space:pre-wrap}.object-table,.database-table{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface)}.table-header,.table-row,.database-header,.database-row{display:grid;gap:12px;align-items:center;padding:11px 12px}.table-header,.database-header{background:var(--surface-strong);color:var(--muted);font-size:.72rem;font-weight:840;text-transform:uppercase}.table-header,.table-row{grid-template-columns:minmax(180px,1.4fr) 110px 170px 180px}.database-header,.database-row{grid-template-columns:minmax(160px,1.2fr) 90px minmax(180px,1.2fr) 160px 150px}.table-row,.database-row{border-top:1px solid var(--line)}.table-row:hover,.database-row:hover{background:var(--surface-subtle)}.table-row>span:first-child,.database-row>span:first-child{display:grid;gap:3px;min-width:0}.table-row strong,.database-row strong,.job-row strong,.table-row small,.database-row small,.job-row small,.database-row span,.plain-row span,.plain-row small,.secret-row code{overflow-wrap:anywhere}.row-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.empty{margin:0;padding:18px;color:var(--muted)}.secret-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:14px;border:1px solid var(--line-strong);border-radius:6px;padding:10px;background:var(--surface-subtle)}.secret-row small{grid-column:1 / -1}.database-secret{grid-template-columns:minmax(0,1fr) auto minmax(180px,.5fr) auto}code{font-family:SFMono-Regular,Consolas,monospace;font-size:.82rem}@media(max-width:1100px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.sidebar-nav{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.control-grid,.bottom-grid,.overview-grid,.ops-layout,.provider-console,.provider-config-layout,.upload-form,.database-form,.job-form,.command-strip,.table-header,.table-row,.database-header,.database-row,.job-row,.database-secret{grid-template-columns:1fr}.row-actions,.command-actions{justify-content:flex-start}.cloud-map-panel{min-height:auto}}@media(max-width:620px){.workspace,.sidebar{padding:18px}.topbar,.panel-heading{align-items:stretch;flex-direction:column}.topbar .secondary,.panel-heading .secondary,.panel-heading .primary{width:100%}.floating{right:16px;bottom:16px;max-width:calc(100vw - 32px)}.resource-map{min-height:560px}.resource-map:before,.resource-map:after,.map-ring{display:none}.map-core,.map-node{position:static;width:100%;translate:0}.resource-map{display:grid;gap:10px;padding:12px;min-height:auto}.signal-metrics{grid-template-columns:1fr}.provider-overview-strip,.provider-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.provider-overview-strip span:nth-child(3){border-left:0;border-top:1px solid var(--line)}.provider-overview-strip span:nth-child(4){border-top:1px solid var(--line)}.provider-stage-top{grid-template-columns:auto minmax(0,1fr)}.provider-stage-top .provider-status{justify-self:start;grid-column:2}.provider-pill{grid-template-columns:36px minmax(0,1fr)}.provider-pill .provider-status{justify-self:start;grid-column:2}.provider-stage,.provider-health-readout,.capacity-panel{min-height:auto}.provider-capability-board{grid-template-columns:1fr}.provider-config-panel textarea{min-height:220px}.table-header,.database-header{display:none}.object-table,.database-table{border:0;gap:10px;overflow:visible;background:transparent}.table-row,.database-row,.job-row{border:1px solid var(--line);border-radius:8px;background:var(--surface)}.table-row,.database-row{padding:12px}.row-actions{justify-content:flex-start}.row-actions .secondary,.job-row .secondary{width:100%}.secret-row,.database-secret{grid-template-columns:1fr}.secret-row .icon-button{width:100%}}@media(max-width:420px){h2{font-size:1.32rem}.workspace,.sidebar{padding:14px}.provider-overview-strip,.provider-facts{grid-template-columns:1fr}.provider-overview-strip span,.provider-overview-strip span:nth-child(3),.provider-overview-strip span:nth-child(4){border-left:0;border-top:1px solid var(--line)}.provider-overview-strip span:first-child{border-top:0}.provider-stage-top,.provider-pill{grid-template-columns:1fr}.provider-stage-top .provider-status,.provider-pill .provider-status{grid-column:1}.provider-icon,.provider-mark{width:42px;height:42px}.map-header .command-actions,.command-actions{display:grid;grid-template-columns:1fr;width:100%}.map-header .command-actions button,.command-actions button,.primary,.secondary{width:100%}}
