:root{--bg: #f4f7fa;--surface: #ffffff;--surface-subtle: #f9fbfd;--ink: #111827;--text: #243143;--muted: #66778c;--line: #d9e2ea;--line-strong: #bdc9d5;--blue: #155eef;--blue-soft: #e9f0ff;--green: #14895f;--green-soft: #e8f7ef;--amber: #bd6b00;--amber-soft: #fff4dd;--shadow: 0 16px 42px rgba(18, 29, 45, .08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;color:var(--text);background:var(--bg);letter-spacing:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100svh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:22px;height:100svh;padding:18px 14px;border-right:1px solid var(--line);background:var(--surface);color:#334155}.brand{display:flex;align-items:center;gap:10px;min-height:42px;padding:7px 8px;color:var(--ink);font-size:15px;font-weight:760}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ink);color:#fff;font-size:16px;line-height:1}.side-nav{display:grid;gap:4px}.nav-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:8px;color:#536579;font-size:14px;font-weight:680}.nav-item:hover,.nav-item.is-active{color:var(--blue);background:var(--blue-soft)}.main-shell{min-width:0;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;margin-bottom:18px}h1{color:var(--ink);font-size:30px;line-height:1;font-weight:800}.topbar-title p{margin-top:7px;color:var(--muted);font-size:14px;line-height:1.4}.topbar-actions{display:flex;align-items:center;gap:8px}.signed-in,.icon-button,.mode-chip,.status-badge{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.signed-in{padding:9px 12px;color:#334155;font-size:13px;font-weight:400}.icon-button{display:grid;place-items:center;width:38px;color:#42536a}.icon-button:hover{border-color:var(--blue);color:var(--blue)}.auth-state{display:grid;place-items:center;min-height:calc(100svh - 130px)}.auth-panel,.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-panel{width:min(440px,100%);padding:28px}.auth-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:18px;border-radius:8px;background:var(--green-soft);color:var(--green)}.auth-panel h2{color:var(--ink);font-size:26px;line-height:1.08;font-weight:800}.auth-panel p{margin-top:10px;color:var(--muted);font-size:15px;line-height:1.5}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;margin-top:22px;padding:0 16px;border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;font-weight:760}.auth-error{min-height:22px;color:#b42318;font-size:13px}.dashboard{display:grid;gap:16px}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.status-tile{position:relative;min-height:76px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.status-tile span,.eyebrow,th{color:#617389;font-size:12px;font-weight:780;letter-spacing:0;text-transform:uppercase}.status-tile strong{display:block;margin-top:8px;color:var(--ink);font-size:24px;line-height:1}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--line)}.panel-heading.compact{align-items:flex-start}.panel-heading h2{color:var(--ink);font-size:18px;line-height:1.2}.panel-heading p{margin-top:4px;color:var(--muted);font-size:13px;font-weight:650}.mode-chip,.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;color:#405168;font-size:12px;font-weight:760}.status-badge.is-ok{border-color:#bfe5d0;background:var(--green-soft);color:var(--green)}.status-badge.is-warn{border-color:#f2d28d;background:var(--amber-soft);color:var(--amber)}.status-badge.is-info{border-color:#c8d8ff;background:var(--blue-soft);color:var(--blue)}.table-frame{overflow-x:auto}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}tbody tr{cursor:pointer}tbody tr:hover,tbody tr.is-selected{background:#f1f5ff}td{color:#334155;font-size:13px;font-weight:650}td strong,td span{display:block}td span{margin-top:3px;color:var(--muted);font-size:12px}.instance-link{display:block;color:inherit}.instance-link:hover strong{color:var(--blue)}.empty-state{padding:28px}.empty-state h2{color:var(--ink);font-size:22px}.empty-state p{margin-top:8px;color:var(--muted)}.setup-state{overflow:hidden}.setup-form{display:grid;gap:16px;padding:16px}.setup-form label,.setup-form fieldset{display:grid;min-width:0;gap:8px;margin:0;padding:0;border:0}.setup-form label>span,.setup-form legend{color:#405168;font-size:12px;font-weight:760;text-transform:uppercase}.setup-form input[type=text],.setup-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:11px 12px;outline:0;background:var(--surface-subtle);color:var(--ink);font-size:14px;line-height:1.4}.setup-form textarea{min-height:116px;resize:vertical}.setup-form input[type=text]:focus,.setup-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #155eef1f}.starter-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.starter-choice{display:flex!important;align-items:center;gap:8px;min-height:42px;border:1px solid var(--line);border-radius:8px;padding:0 12px!important;background:var(--surface-subtle);color:#334155;font-size:13px;font-weight:700}.starter-choice input{accent-color:var(--blue)}.setup-status{min-height:20px;color:var(--muted);font-size:13px;font-weight:650}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;padding:16px}.mini-tile{min-height:92px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-subtle)}.mini-tile span{display:block;color:var(--muted);font-size:12px;font-weight:760;text-transform:uppercase}.mini-tile strong{display:block;margin-top:8px;color:var(--ink);font-size:17px;line-height:1.2}.split-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:0 16px 16px}h3{color:var(--ink);font-size:13px;font-weight:800;text-transform:uppercase}.fact-list{display:grid;gap:0;margin:10px 0 0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.fact-list div,.list-row,.event-row{display:flex;justify-content:space-between;gap:14px;padding:12px;border-bottom:1px solid var(--line);background:var(--surface-subtle)}.fact-list div:last-child,.list-row:last-child,.event-row:last-child{border-bottom:0}dt,.list-row span,.event-row span{color:var(--muted);font-size:13px;font-weight:650}dd,.list-row strong,.event-row strong{margin:0;color:var(--ink);font-size:13px;font-weight:760;text-align:right;overflow-wrap:anywhere}.secret-list,.step-list,.event-list{display:grid;gap:10px;padding:16px;border-bottom:1px solid var(--line)}.event-row{display:grid;justify-content:stretch}.event-row strong,.event-row span{text-align:left}.dashboard.is-page-setup .status-strip,.dashboard.is-page-setup .instance-panel,.dashboard.is-page-setup .detail-grid,.dashboard.is-page-instances .status-strip,.dashboard.is-page-instances .detail-grid,.dashboard.is-page-runtime .status-strip,.dashboard.is-page-runtime .instance-panel,.dashboard.is-page-runtime .side-panel,.dashboard.is-page-runtime .cost-section{display:none}.dashboard.is-page-runtime .detail-grid,.dashboard.is-page-costs .detail-grid,.dashboard.is-page-starters .detail-grid,.dashboard.is-page-runtime .split-row,.dashboard.is-page-costs .split-row{grid-template-columns:minmax(0,1fr)}.dashboard.is-page-costs .status-strip,.dashboard.is-page-costs .instance-panel,.dashboard.is-page-costs .side-panel,.dashboard.is-page-costs .runtime-section,.dashboard.is-page-starters .status-strip,.dashboard.is-page-starters .instance-panel,.dashboard.is-page-starters .detail-panel{display:none}.toast{position:fixed;right:18px;bottom:18px;z-index:20;max-width:min(420px,calc(100vw - 36px));padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:#334155;box-shadow:var(--shadow);font-size:13px;font-weight:700}.toast:empty{display:none}@media(max-width:980px){.app-shell{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.side-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.status-strip,.tile-grid,.split-row,.starter-choice-grid,.detail-grid{grid-template-columns:1fr}}@media(max-width:640px){.main-shell{padding:16px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%}.signed-in{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-item{justify-content:center}h1{font-size:28px}}:root{--bg: #0f0f11;--surface: #18181b;--surface-subtle: #141416;--surface-elevated: #1f1f23;--ink: #f0f0f2;--text: #d4d4d8;--muted: #8b8b93;--line: #2a2a2e;--line-strong: #3b3b42;--blue: #6b9fd4;--blue-dark: #8bb8e8;--blue-soft: rgba(107, 159, 212, .14);--green: #73c79d;--green-soft: rgba(115, 199, 157, .13);--amber: #d7ae62;--amber-soft: rgba(215, 174, 98, .14);--red: #e08a7f;--red-soft: rgba(224, 138, 127, .14);--shadow: none;--console-content-width: 980px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;color-scheme:dark;font-family:var(--font)}html{background:var(--bg);color:var(--text)}body{background:radial-gradient(circle at 50% -8%,rgba(32,89,98,.18),transparent 34rem),var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6}.app-shell{display:block;min-height:100svh}.sidebar{position:sticky;top:0;z-index:100;display:block;height:auto;padding:0;border-right:0;border-bottom:1px solid var(--line);background:#0f0f11e6;color:var(--text);backdrop-filter:saturate(180%) blur(20px)}.brand{justify-content:center;min-height:52px;padding:.75rem 1.5rem;border-bottom:1px solid var(--line);color:var(--ink);font-size:1.2rem;font-weight:600}.brand-mark{display:none}.brand span:last-child{display:inline;font-style:italic}.side-nav{display:flex;align-items:center;gap:1.25rem;max-width:var(--console-content-width);min-height:44px;margin:0 auto;padding:0 1.5rem;overflow-x:auto;scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.nav-item{flex:0 0 auto;gap:0;min-height:44px;padding:0;border-radius:0;color:var(--muted);font-size:.82rem;font-weight:400}.side-nav .nav-title{flex:0 0 auto;margin-right:auto;color:var(--ink);font-size:1.05rem;font-weight:600;white-space:nowrap}.nav-item svg{display:none}.nav-item span{display:inline}.nav-item:hover,.nav-item.is-active{background:transparent;color:var(--ink)}.main-shell{max-width:var(--console-content-width);margin:0 auto;padding:2.25rem 1.5rem 4rem}.topbar{align-items:flex-end;min-height:0;margin-bottom:1.15rem}h1{color:var(--ink);font-size:clamp(2rem,3vw,2.75rem);font-weight:700;letter-spacing:0;line-height:1.05}.topbar-title p{margin-top:.45rem;color:var(--muted);font-size:1rem;font-weight:400;line-height:1.45}.auth-state{min-height:calc(100svh - 190px)}.auth-pending-state{min-height:14rem}.auth-pending{display:inline-flex;align-items:center;gap:.65rem;color:var(--muted);font-size:.9rem}.auth-spinner{width:1rem;height:1rem;border:1px solid var(--line-strong);border-top-color:var(--blue);border-radius:999px;animation:auth-spin .8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-panel,.panel,.status-tile,.metric-row>div,.mini-tile,.instance-facts div,.worker-facts div,.fact-list,.selected-contact,.signed-in,.icon-button,.mode-chip,.status-badge{border-color:var(--line);background:var(--surface);box-shadow:none}.auth-panel,.panel,.status-tile,.metric-row>div,.summary-item,.mini-tile,.instance-facts div,.worker-facts div,.fact-list,.fact-list div,.list-row,.event-row,.selected-contact,.field-group,.notes-field,.detail-disclosure,.runtime-row,.secret-row,.setup-row,.starter-choice,.search-box,.segmented,.status-control,.signed-in,.icon-button,.primary-button,.secondary-button,.mini-button,input,textarea,.notes-field textarea,.setup-form input[type=text],.setup-form textarea,.segmented button,.status-control button,.pill-row span{border-radius:0}.auth-panel{width:min(460px,100%);padding:2rem}.auth-icon{border:1px solid rgba(115,199,157,.26);border-radius:0;background:var(--green-soft);color:var(--green)}.auth-icon.is-warn{border-color:#d7ae624d;background:var(--amber-soft);color:var(--amber)}.auth-panel h2,.panel-heading h2,.empty-state h2,.instance-overview h3,.worker-detail-heading strong,.status-tile strong,.metric-row strong,.mini-tile strong,.instance-facts strong,.worker-facts strong,td strong,dd,.list-row strong,.event-row strong,.instance-ops strong,.selected-contact strong{color:var(--ink)}.auth-panel p,.panel-heading p,.empty-state p,.instance-overview p,.muted-line,.instance-ops p,td span,dt,.list-row span,.event-row span,.field-label,.status-tile span,.metric-row span,.mini-tile span,th{color:var(--muted)}.auth-error{color:var(--red)!important}.primary-button,.secondary-button,.mini-button,.icon-button{border-radius:0;transition:border-color .16s ease,background .16s ease,color .16s ease}.primary-button{border-color:var(--blue);background:var(--blue);color:#071013}.primary-button:hover{border-color:var(--blue-dark);background:var(--blue-dark);color:#071013}.secondary-button,.mini-button,.icon-button{border-color:var(--line-strong);background:transparent;color:var(--text)}.secondary-button:hover,.mini-button:hover,.icon-button:hover{border-color:var(--blue);color:var(--blue-dark)}.secondary-button.danger{color:var(--red)}.secondary-button.danger:hover,.secondary-button.danger.is-active-danger{border-color:var(--red);background:var(--red-soft);color:var(--red)}.search-box,.segmented,.status-control,input,textarea{border-color:var(--line);background:var(--surface-subtle);color:var(--text)}.search-box input,textarea{color:var(--text)}.segmented button,.status-control button{color:var(--muted)}.segmented button.is-selected,.status-control button.is-selected{background:var(--surface-elevated);color:var(--ink);box-shadow:none}.panel-heading,th,td,.instance-detail,.instance-ops,.worker-detail,.secret-list,.step-list,.event-list,.fact-list div,.list-row,.event-row,.starter-list div,.health-list div,.secret-row,.setup-row,.runtime-list div{border-color:var(--line)}th{background:var(--surface-subtle);font-size:.72rem;font-weight:600}td{color:var(--text);font-weight:500}tbody tr:hover,tbody tr.is-selected{background:#6b9fd417}tbody tr.empty-row:hover{background:transparent}.status-tile,.metric-row>div,.mini-tile,.fact-list div,.list-row,.event-row,.instance-facts div,.worker-facts div,.secret-row,.setup-row,.runtime-list div{background:var(--surface-subtle)}.status-tile:before{box-shadow:0 0 0 4px #ffffff08}.status-tile.is-ok:before,.status-badge.is-ok,.status-badge.is-qualified,.status-badge.is-active,.status-badge.is-instance-ready_to_provision,.status-badge.is-instance-running{border-color:#73c79d57;background:var(--green-soft);color:var(--green)}.status-tile.is-warn:before,.status-badge.is-warn,.status-badge.is-invited,.status-badge.is-instance-needs_secrets,.status-badge.is-instance-paused,.status-badge.is-instance-provisioning{border-color:#d7ae6257;background:var(--amber-soft);color:var(--amber)}.status-tile.is-info:before,.status-badge.is-info,.status-badge.is-new,.status-badge.is-instance-draft{border-color:#6b9fd457;background:var(--blue-soft);color:var(--blue-dark)}.status-badge.is-not_now,.status-badge.is-instance-failed,.status-badge.is-instance-archived{border-color:#e08a7f57;background:var(--red-soft);color:var(--red)}.toast{border-color:var(--line);background:var(--surface-elevated);color:var(--ink);box-shadow:0 18px 50px #00000047}@media(max-width:980px){.main-shell{max-width:none;padding:1.5rem 1rem 3rem}.sidebar{position:static}.side-nav{justify-content:flex-start;padding:0 1rem}}@media(max-width:640px){.brand{min-height:48px}.side-nav{gap:1rem;min-height:42px}.nav-item{justify-content:flex-start;min-height:42px}.topbar{align-items:flex-start}}
