:root{color:#18212f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--bg:#f4f7f8;--surface:#fff;--surface-strong:#f9fbfb;--border:#d9e3e5;--text:#18212f;--muted:#6a7788;--accent:#12796f;--accent-strong:#0d5f58;--accent-soft:#e2f4f1;--blue:#2867b2;--blue-soft:#e7f0fb;--amber:#a15c05;--amber-soft:#fff3d6;--red:#bd2d2d;--red-soft:#ffe6e6;--green:#177044;--green-soft:#e2f5ea;--shadow:0 18px 50px #18212f1a;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(135deg, #e2f4f1d1, transparent 34%), linear-gradient(315deg, #e7f0fbb3, transparent 30%), var(--bg);min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,textarea,select{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;outline:none;transition:border-color .16s,box-shadow .16s}input,select{height:42px;padding:0 12px}textarea{resize:vertical;min-height:96px;padding:11px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #12796f24}h1,h2,p{margin:0}.auth-page{grid-template-columns:minmax(360px,1fr) minmax(360px,520px);min-height:100vh;display:grid;position:relative}.auth-visual{color:#fff;background:linear-gradient(135deg,#0f2d3dd6,#12796fc2),url(https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=1800&q=82) 50%/cover;align-items:stretch;min-height:100vh;padding:48px;display:flex;position:relative}.auth-visual:after{content:"";background:linear-gradient(#06151f14,#06151f70);position:absolute;inset:0}.auth-visual-content{z-index:1;flex-direction:column;justify-content:space-between;gap:80px;width:min(680px,100%);display:flex;position:relative}.auth-logo{align-items:center;gap:10px;width:fit-content;font-size:15px;font-weight:700;display:inline-flex}.auth-visual h1{letter-spacing:0;max-width:720px;font-size:clamp(36px,5vw,76px);line-height:.96}.auth-visual p{color:#ffffffd6;max-width:560px;margin-top:22px;font-size:18px;line-height:1.7}.auth-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.auth-metrics div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1f;border:1px solid #ffffff3d;border-radius:8px;padding:16px}.auth-metrics strong,.auth-metrics span{display:block}.auth-metrics strong{font-size:18px}.auth-metrics span{color:#ffffffb8;margin-top:5px;font-size:13px}.auth-panel{align-items:center;min-height:100vh;padding:32px;display:grid}.auth-card{border:1px solid var(--border);width:min(100%,430px);box-shadow:var(--shadow);background:#fffffff0;border-radius:8px;margin:0 auto}.auth-attribution{z-index:2;color:var(--muted);align-items:center;gap:6px;font-size:13px;line-height:1.5;display:inline-flex;position:fixed;bottom:22px;right:28px}.auth-attribution strong{color:var(--blue);font-weight:700}.auth-tabs{border-bottom:1px solid var(--border);grid-template-columns:1fr 1fr;gap:8px;padding:8px;display:grid}.auth-tab{height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;font-weight:700}.auth-tab.active{background:var(--accent-soft);color:var(--accent-strong)}.form-stack{gap:18px;padding:28px;display:grid}.form-stack h2{letter-spacing:0;font-size:24px}.form-stack p{color:var(--muted);margin-top:7px;line-height:1.6}.field{gap:8px;display:grid}.field>span{color:#303a48;font-size:14px;font-weight:700}.inline-field{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.button{white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:700;transition:transform .16s,border-color .16s,background .16s;display:inline-flex}.button:active{transform:translateY(1px)}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:var(--accent-strong)}.button.secondary{border-color:var(--border);background:var(--surface);color:var(--text)}.button.secondary:hover,.button.ghost:hover{background:var(--surface-strong);border-color:#b9c9cc}.button.ghost{color:var(--text);background:0 0;border-color:#0000}.button.danger{background:var(--red);color:#fff}.button.full{width:100%}.button.compact{min-height:34px;padding:0 11px;font-size:13px}.alert{border-radius:8px;align-items:flex-start;gap:9px;padding:11px 12px;font-size:14px;display:flex}.alert.error{background:var(--red-soft);color:var(--red)}.alert.info{background:var(--blue-soft);color:var(--blue)}.app-shell{grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;flex-direction:column;height:100vh;padding:20px;display:flex;position:sticky;top:0}.brand-block{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark,.user-avatar,.stat-icon,.feature-icon,.empty-icon,.full-state-icon{background:var(--accent-soft);color:var(--accent);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.brand-mark{flex:none;width:44px;height:44px}.brand-name{font-weight:800}.brand-subtitle{color:var(--muted);margin-top:3px;font-size:12px}.nav-list{gap:18px;margin-top:28px;display:grid}.nav-section{gap:8px;display:grid}.nav-heading{color:#8a98a9;padding:0 10px;font-size:12px;font-weight:800}.nav-section-items{gap:6px;display:grid}.nav-item{width:100%;min-height:42px;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:0 12px;font-weight:700;display:flex}.nav-item:hover{background:var(--surface-strong);color:var(--text)}.nav-item.active{background:var(--accent-soft);color:var(--accent-strong)}.sidebar-footer{gap:12px;margin-top:auto;display:grid}.user-chip{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.user-avatar{width:40px;height:40px}.user-meta{min-width:0}.user-meta strong,.user-meta span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-meta strong{font-size:14px}.user-meta span{color:var(--muted);font-size:12px}.main{min-width:0}.page{width:min(1440px,100%);margin:0 auto;padding:30px}.page-header{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.eyebrow{color:var(--accent);font-size:13px;font-weight:800}.page-header h1{letter-spacing:0;margin-top:6px;font-size:32px;line-height:1.18}.page-header p{color:var(--muted);margin-top:8px;line-height:1.6}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px;display:grid}.stat-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:2px 12px;padding:16px;display:grid}.stat-icon{grid-row:span 2;width:42px;height:42px}.stat-card span{color:var(--muted);font-size:13px}.stat-card strong{font-size:24px;line-height:1.1}.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.feature-item{border:1px solid var(--border);background:#ffffffb3;border-radius:8px;align-items:center;gap:12px;padding:14px;display:flex}.feature-icon{width:38px;height:38px}.feature-item span,.feature-item strong{display:block}.feature-item span{color:var(--muted);font-size:12px}.feature-item strong{margin-top:3px;font-size:14px}.surface{border:1px solid var(--border);background:var(--surface);border-radius:8px;box-shadow:0 12px 32px #18212f0f}.surface-header{justify-content:space-between;align-items:center;gap:12px;padding:18px 18px 0;display:flex}.surface-header h2{font-size:18px}.surface-header span{color:var(--muted);font-size:13px}.toolbar{grid-template-columns:minmax(260px,1fr) 180px auto;gap:10px;padding:18px;display:grid}.search-box{display:block;position:relative}.search-box svg{color:var(--muted);position:absolute;top:13px;left:12px}.search-box input{padding-left:38px}.table-wrap{width:100%;padding:18px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px}th{color:var(--muted);text-align:left;white-space:nowrap;font-size:12px;font-weight:800}td,th{vertical-align:top;border-bottom:1px solid #edf2f3;padding:13px 12px}tbody tr:hover{background:#fbfcfc}td strong,td small,td span{display:block}td strong{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}td small{max-width:260px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:12px;overflow:hidden}.mono{text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;overflow:hidden}.runtime-cell{color:#4c5a69;min-width:190px;font-size:12px;line-height:1.65}.status-pill,.runtime-pill{border-radius:999px;justify-content:center;align-items:center;min-width:68px;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.pending{background:var(--amber-soft);color:var(--amber)}.status-pill.approved,.status-pill.active{background:var(--green-soft);color:var(--green)}.status-pill.provisioning{background:var(--blue-soft);color:var(--blue)}.status-pill.rejected,.status-pill.disabled,.status-pill.failed{background:var(--red-soft);color:var(--red)}.runtime-pill.running,.runtime-pill.healthy{background:var(--green-soft);color:var(--green)}.runtime-pill.starting,.runtime-pill.restarting,.runtime-pill.created,.runtime-pill.removing{background:var(--blue-soft);color:var(--blue)}.runtime-pill.paused,.runtime-pill.disabled,.runtime-pill.unknown,.runtime-pill.not_deployed{background:var(--amber-soft);color:var(--amber)}.runtime-pill.unhealthy,.runtime-pill.exited,.runtime-pill.dead,.runtime-pill.missing,.runtime-pill.failed{background:var(--red-soft);color:var(--red)}.row-actions{justify-content:flex-end;gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--surface-strong);border-color:#b9c9cc}.icon-button.success{background:var(--green-soft);color:var(--green)}.icon-button.danger{background:var(--red-soft);color:var(--red)}.icon-button.primary{background:var(--accent-soft);color:var(--accent-strong)}.message-cell{max-width:260px}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:12px;padding:0 18px 18px;font-size:13px;display:flex}.pagination select{border-radius:8px;width:112px;height:34px}.pagination-actions{align-items:center;gap:8px;display:flex}.modal-backdrop{z-index:50;background:#18212f6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--border);background:var(--surface);width:min(560px,100%);max-height:min(820px,100vh - 40px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex}.modal.wide{width:min(860px,100%)}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;display:flex}.modal-header h2{font-size:20px}.modal-header p{color:var(--muted);margin-top:5px;line-height:1.5}.modal-body{padding:18px;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:14px 18px;display:flex}.modal-form{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.preview-line{color:var(--accent-strong);margin-top:-10px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.empty-state,.loading-block,.full-state{text-align:center;place-items:center;display:grid}.empty-state,.loading-block{gap:10px;min-height:280px;padding:28px}.empty-icon,.full-state-icon{width:54px;height:54px}.empty-state strong{font-size:18px}.empty-state span,.full-state p,.loading-block{color:var(--muted)}.spinner{border:3px solid #d9e3e5;border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.full-state{gap:12px;min-height:100vh}.full-state h1{font-size:26px}.toast{z-index:80;border:1px solid var(--border);background:var(--surface);width:min(420px,100vw - 40px);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid;position:fixed;bottom:20px;right:20px}.toast.success{color:var(--green)}.toast.error{color:var(--red)}.toast.info{color:var(--blue)}.toast span{color:var(--text);line-height:1.5}.toast button{width:24px;height:24px;color:var(--muted);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}@media (max-width:980px){.auth-page{grid-template-columns:1fr}.auth-visual{min-height:auto;padding:32px}.auth-visual-content{gap:32px}.auth-panel{min-height:auto;padding-bottom:56px}.auth-attribution{position:absolute;bottom:18px;right:24px}.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);height:auto;position:static}.nav-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:20px}.sidebar-footer .button.full{width:auto}.stat-grid,.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.auth-panel,.auth-visual,.page{padding:20px}.auth-panel{padding-bottom:60px}.auth-attribution{bottom:16px;right:20px}.auth-metrics,.stat-grid,.feature-grid,.form-grid,.toolbar,.inline-field{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:stretch}.header-actions{justify-content:flex-start}.pagination{flex-direction:column;align-items:stretch}.pagination-actions{justify-content:space-between}.modal-backdrop{align-items:end;padding:0}.modal,.modal.wide{border-radius:8px 8px 0 0;width:100%;max-height:92vh}}