:root{--bg: #0b0d10;--bg-raised: #14171b;--bg-overlay: #1b1f24;--line: #262a30;--line-strong: #3a3f47;--text: #edeff2;--text-dim: #8b929c;--text-faint: #5b6169;--amber: #ff9a3d;--amber-dim: #4a2e14;--teal: #4fd1ae;--red: #ff5f57;--yellow: #ffbd2e;--amber-hover: #ffab5e;--amber-soft: color-mix(in srgb, var(--amber) 12%, transparent);--amber-ring: color-mix(in srgb, var(--amber) 22%, transparent);--amber-line: color-mix(in srgb, var(--amber) 40%, transparent);--teal-soft: color-mix(in srgb, var(--teal) 10%, transparent);--teal-line: color-mix(in srgb, var(--teal) 35%, transparent);--red-soft: color-mix(in srgb, var(--red) 10%, transparent);--red-line: color-mix(in srgb, var(--red) 35%, transparent);--red-ring: color-mix(in srgb, var(--red) 20%, transparent);--yellow-soft: color-mix(in srgb, var(--yellow) 10%, transparent);--yellow-line: color-mix(in srgb, var(--yellow) 35%, transparent);--halo-online: 0 0 0 3px color-mix(in srgb, var(--teal) 18%, transparent), 0 0 10px 1px color-mix(in srgb, var(--teal) 45%, transparent);--halo-offline: 0 0 0 3px color-mix(in srgb, var(--red) 18%, transparent), 0 0 10px 1px color-mix(in srgb, var(--red) 45%, transparent);--halo-provisioning: 0 0 0 3px color-mix(in srgb, var(--yellow) 18%, transparent), 0 0 10px 1px color-mix(in srgb, var(--yellow) 45%, transparent);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 12px;--radius: 10px;--bg-base: var(--bg);--bg-elevated: var(--bg-raised);--bg-surface: var(--bg-raised);--bg-hover: var(--bg-overlay);--bg-selected: var(--amber-soft);--border-subtle: var(--line);--border-default: var(--line);--border-emphasis: var(--line-strong);--border-accent: var(--amber-line);--border-focus: var(--amber);--text-primary: var(--text);--text-secondary: color-mix(in srgb, var(--text) 78%, var(--text-dim));--text-muted: var(--text-dim);--text-disabled: var(--text-faint);--accent: var(--amber);--accent-hover: var(--amber-hover);--accent-subtle: var(--amber-soft);--accent-border: var(--amber-line);--accent-text: var(--amber);--success: var(--teal);--success-subtle: var(--teal-soft);--success-border: var(--teal-line);--success-text: var(--teal);--danger: var(--red);--danger-subtle: var(--red-soft);--danger-border: var(--red-line);--danger-text: #ff8a84;--warning: var(--yellow);--warning-subtle: var(--yellow-soft);--warning-border: var(--yellow-line);--warning-text: var(--yellow);--info: var(--teal);--info-subtle: var(--teal-soft);--info-border: var(--teal-line);--info-text: var(--teal);--cat-devops-bg: var(--amber-dim);--cat-devops-text: var(--amber);--cat-devops-dot: var(--amber);--cat-productivity-bg: var(--teal-soft);--cat-productivity-text: var(--teal);--cat-productivity-dot: var(--teal);--cat-storage-bg: var(--teal-soft);--cat-storage-text: var(--teal);--cat-storage-dot: var(--teal);--cat-security-bg: var(--red-soft);--cat-security-text: var(--danger-text);--cat-security-dot: var(--red);--cat-database-bg: var(--amber-soft);--cat-database-text: var(--amber);--cat-database-dot: var(--amber);--cat-cms-bg: var(--yellow-soft);--cat-cms-text: var(--yellow);--cat-cms-dot: var(--yellow);--stat-stripe-revenue: var(--amber);--stat-stripe-services: var(--teal);--stat-stripe-clients: var(--teal);--stat-stripe-tickets: var(--yellow);--stat-stripe-danger: var(--red);--portal-bg: var(--bg);--portal-panel: var(--bg-raised);--portal-card: var(--bg-raised);--portal-hover: var(--bg-overlay);--portal-accent-purple: var(--amber);--portal-accent-blue: var(--teal);--portal-accent-teal: var(--teal);--portal-accent-pink: var(--red);--portal-accent-amber: var(--yellow);--portal-text-muted: var(--text-dim);--brand-primary: var(--amber);--brand-primary-dark: #f27f1b;--brand-primary-light: var(--amber-hover);--brand-primary-lighter: var(--amber-soft);--brand-accent: var(--teal);--brand-accent-dark: #35b592;--brand-accent-light: var(--teal);--font-orbitron: var(--font-space-grotesk);--background: var(--bg);--foreground: var(--text);--card: var(--bg-raised);--card-foreground: var(--text);--card-accent: var(--bg-overlay);--card-accent-foreground: var(--text);--card-subtle: var(--bg-raised);--card-subtle-foreground: var(--text-secondary);--popover: var(--bg-overlay);--popover-foreground: var(--text);--primary: var(--amber);--primary-foreground: #0b0d10;--secondary: var(--bg-overlay);--secondary-foreground: var(--text-secondary);--secondary-muted: var(--bg-overlay);--secondary-muted-foreground: var(--text-dim);--muted: var(--bg-raised);--muted-foreground: var(--text-dim);--accent-foreground: #0b0d10;--destructive: var(--red);--destructive-foreground: #0b0d10;--success-foreground: var(--teal);--warning-foreground: var(--yellow);--border: var(--line);--input: var(--line);--ring: var(--amber);--chart-1: var(--amber);--chart-2: var(--teal);--chart-3: var(--yellow);--chart-4: var(--text-dim);--chart-5: var(--red);--sidebar: var(--bg-raised);--sidebar-foreground: var(--text-secondary);--sidebar-primary: var(--amber);--sidebar-primary-foreground: #0b0d10;--sidebar-accent: var(--bg-overlay);--sidebar-accent-foreground: var(--text);--sidebar-border: var(--line);--sidebar-ring: var(--amber)}.dark{--background: var(--bg);--foreground: var(--text)}@theme inline{ --color-bg: var(--bg); --color-bg-raised: var(--bg-raised); --color-bg-overlay: var(--bg-overlay); --color-line: var(--line); --color-line-strong: var(--line-strong); --color-text: var(--text); --color-text-dim: var(--text-dim); --color-text-faint: var(--text-faint); --color-amber: var(--amber); --color-amber-dim: var(--amber-dim); --color-teal: var(--teal); --color-red: var(--red); --color-yellow: var(--yellow); --text-micro: 12px; --text-micro--line-height: 18px; --text-ui-sm: 13px; --text-ui-sm--line-height: 20px; --text-ui: 14px; --text-ui--line-height: 22px; --text-body: 15px; --text-body--line-height: 24px; --text-body-lg: 17px; --text-body-lg--line-height: 27px; --text-h5: 20px; --text-h5--line-height: 27px; --text-h4: 24px; --text-h4--line-height: 31px; --text-h3: 28px; --text-h3--line-height: 35px; --text-h2: 34px; --text-h2--line-height: 41px; --text-h1: 44px; --text-h1--line-height: 51px; --text-display: 64px; --text-display--line-height: 68px; }:root{color-scheme:dark;--app-muted: var(--text-dim);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "Space Grotesk", var(--font-sans);--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:15px;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;background-image:radial-gradient(ellipse 80% 50% at 50% -20%,color-mix(in srgb,var(--amber) 8%,transparent),transparent),linear-gradient(180deg,var(--bg) 0%,#080a0c 100%)}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin-top:0}h1{font-size:1.75rem}h2{font-size:1.15rem}a{color:var(--amber);text-decoration:none}a:hover{color:var(--amber-hover)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.container{width:min(1100px,92vw);margin:0 auto}.main{padding:1.5rem 0 3rem}.topbar{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg-raised) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:56px}.brand{color:var(--text);text-decoration:none;font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em}.brand:hover{color:var(--amber)}.topbar-actions{display:flex;gap:.75rem;align-items:center}.card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.card.narrow{max-width:420px;margin-inline:auto;margin-top:3rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-header-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.form label{display:block;margin-bottom:1rem;font-size:.875rem;color:var(--text-dim)}.form input,.form select{display:block;width:100%;margin-top:.35rem;padding:.6rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;transition:border-color .15s ease}.form input:hover,.form select:hover{border-color:var(--line-strong)}.form input:focus,.form select:focus{border-color:var(--amber);outline:none;box-shadow:0 0 0 3px var(--amber-ring)}.checkbox{display:flex;align-items:center;gap:.5rem;color:var(--text)}.checkbox input{width:auto;margin:0;accent-color:var(--amber)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem .9rem;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;text-decoration:none;font:inherit;font-size:.875rem;font-weight:500;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn-primary{background:var(--amber);color:#0b0d10;border-color:var(--amber)}.btn-primary:hover:not(:disabled){background:var(--amber-hover);color:#0b0d10}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--bg-overlay);border-color:var(--line-strong);color:var(--text)}.btn-danger{background:var(--red-soft);color:var(--danger-text);border-color:var(--red-line)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--red) 18%,transparent);color:var(--text)}.btn:disabled{opacity:.55;cursor:not-allowed}.inline-form{display:inline}.actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.alert{padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem;border:1px solid var(--line);font-size:.9rem}.alert-error{border-color:var(--red-line);background:var(--red-soft);color:var(--danger-text)}.alert-info{border-color:var(--teal-line);background:var(--teal-soft);color:var(--teal)}.field-hint{display:block;margin-top:.35rem}.field-hint code{font-size:.85em}.muted{color:var(--app-muted)}.small{font-size:.85rem}.error-text{color:var(--danger-text)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.7rem .5rem;border-bottom:1px solid var(--line)}th{color:var(--text-dim);font-size:.75rem;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;font-weight:500}tbody tr:hover{background:color-mix(in srgb,var(--bg-overlay) 60%,transparent)}.badge{display:inline-flex;align-items:center;gap:.45rem;padding:.2rem .65rem .2rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);background:var(--bg-overlay);color:var(--text-dim);white-space:nowrap}.badge .status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;flex-shrink:0;background:var(--text-faint)}.badge-running{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line)}.badge-running .status-dot{background:var(--teal);box-shadow:var(--halo-online)}.badge-deploying,.badge-deleting{background:var(--yellow-soft);color:var(--yellow);border-color:var(--yellow-line)}.badge-deploying .status-dot,.badge-deleting .status-dot{background:var(--yellow);box-shadow:var(--halo-provisioning)}.badge-failed{background:var(--red-soft);color:var(--danger-text);border-color:var(--red-line)}.badge-failed .status-dot{background:var(--red);box-shadow:var(--halo-offline)}.badge-draft,.badge-stopped{background:var(--bg-overlay);color:var(--text-dim);border-color:var(--line)}.badge-draft .status-dot,.badge-stopped .status-dot{background:var(--text-faint)}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.detail-list{display:grid;grid-template-columns:120px 1fr;gap:.5rem .75rem;margin:0}.detail-list dt{color:var(--text-dim);font-size:.85rem}.detail-list dd{margin:0}.code-block{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:1rem;overflow:auto;font-size:.8rem;white-space:pre-wrap;font-family:var(--font-mono);color:var(--text-dim)}.terminal-frame{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--bg-raised)}.terminal-titlebar{display:flex;align-items:center;gap:.75rem;height:36px;flex-shrink:0;padding:0 .875rem;border-bottom:1px solid var(--line);background:var(--bg-overlay)}.terminal-lights{display:flex;align-items:center;gap:6px;flex-shrink:0}.terminal-light{width:10px;height:10px;border-radius:50%}.terminal-light-red{background:var(--red)}.terminal-light-yellow{background:var(--yellow)}.terminal-light-teal{background:var(--teal)}.terminal-title{flex:1;min-width:0;text-align:center;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-titlebar-spacer{width:3rem;flex-shrink:0}.log-tabs-card{padding:0;overflow:hidden}.log-tabs-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem .75rem}.log-tabs-header h2{margin:0}.log-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:0 1.25rem .75rem;border-bottom:1px solid var(--line);padding-bottom:.5rem}.log-tab{padding:.4rem .75rem;border:1px solid transparent;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:transparent;color:var(--text-dim);cursor:pointer;font:inherit;font-size:.8rem;font-family:var(--font-mono);letter-spacing:.02em}.log-tab:hover{color:var(--text);background:color-mix(in srgb,var(--bg-overlay) 80%,transparent)}.log-tab.active{color:var(--amber);border-color:var(--line);border-bottom-color:var(--bg-raised);background:var(--bg)}.log-tabs-body{margin:0 1.25rem 1.25rem}.log-viewer{margin:0;padding:.875rem 1rem;overflow:auto;font-size:.8rem;line-height:1.55;white-space:pre-wrap;max-height:480px;font-family:var(--font-mono);color:var(--text-dim);background:var(--bg);border:none;border-radius:0}.log-viewer::selection,.log-viewer *::selection{background:var(--amber-soft)}.log-viewer code{font-family:inherit}.log-empty{color:var(--text-faint)}.btn-sm{padding:.35rem .65rem;font-size:.8rem}code{font-family:var(--font-mono);font-size:.9em}.loading{text-align:center;padding:3rem 2rem;color:var(--text-dim);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.04em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}@media(max-width:640px){.page-header{flex-direction:column;align-items:flex-start}.detail-list{grid-template-columns:1fr;gap:.15rem 0}.detail-list dt{margin-top:.5rem}.detail-list dt:first-child{margin-top:0}}
