:root{--color-bg:#f6f7f9;--color-surface:#fff;--color-border:#e2e5ea;--color-text:#1a1d23;--color-text-muted:#666d78;--color-accent:#3b5bdb;--color-accent-contrast:#fff;--color-danger:#d6336c;--color-success:#2f9e44;--color-warning:#e8590c;--sidebar-width:232px;--sidebar-width-collapsed:68px;--topbar-height:60px;--radius:8px;--sidebar-bg:#12141a;--sidebar-border:#22252d;--sidebar-text:#aab0bd;--sidebar-text-muted:#6b7180;--sidebar-active-bg:#f4f5f7;--sidebar-active-text:#12141a;--sidebar-hover-bg:#1d2029;--terminal-bg:#0f1419;--terminal-text:#d6dde6;--terminal-muted:#8b97a6;--terminal-ok:#69db7c;--terminal-changed:#ffc078;--terminal-failed:#ff8787;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--color-bg:#16181d;--color-surface:#1e2127;--color-border:#2b2f38;--color-text:#e7e9ec;--color-text-muted:#9aa1ad;--color-accent:#6c8cff;--color-accent-contrast:#0b0d10;--color-danger:#ff6b9d;--color-success:#69db7c;--color-warning:#ffa94d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#16181d;--color-surface:#1e2127;--color-border:#2b2f38;--color-text:#e7e9ec;--color-text-muted:#9aa1ad;--color-accent:#6c8cff;--color-accent-contrast:#0b0d10;--color-danger:#ff6b9d;--color-success:#69db7c;--color-warning:#ffa94d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}#app{min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}h1,h2,h3,p{margin:0}.btn{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;align-items:center;gap:.4rem;padding:.5rem .9rem;font-weight:500;transition:background-color .16s,border-color .16s,color .16s,filter .16s;display:inline-flex}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface));border-color:var(--color-accent)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-primary:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.18)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.icon-tile{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.icon-tile.tint-accent{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.icon-tile.tint-success{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.icon-tile.tint-danger{background:color-mix(in srgb, var(--color-danger) 15%, transparent);color:var(--color-danger)}.icon-tile.tint-warning{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning)}.status-pill{border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-flex}.status-pill.status-success{background:color-mix(in srgb, var(--color-success) 15%, transparent);color:var(--color-success)}.status-pill.status-danger{background:color-mix(in srgb, var(--color-danger) 15%, transparent);color:var(--color-danger)}.status-pill.status-warning{background:color-mix(in srgb, var(--color-warning) 15%, transparent);color:var(--color-warning)}.status-pill.status-neutral{background:var(--color-bg);color:var(--color-text-muted)}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--color-border);white-space:nowrap;padding:.6rem 1rem;font-size:.75rem;font-weight:600}.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.7rem 1rem}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--color-bg)}.data-table .empty-row td{text-align:center;color:var(--color-text-muted);padding:2.5rem 1rem}.data-table .empty-row:hover{background:0 0}.menu-item{text-align:left;border-radius:calc(var(--radius) - 2px);cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.85rem;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:color-mix(in srgb, var(--color-accent) 14%, var(--color-surface))}.menu-item.destructive{color:var(--color-danger)}.menu-divider{border:none;border-top:1px solid var(--color-border);margin:.3rem 0}.btn:focus-visible,.menu-item:focus-visible,.input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger);border-color:var(--color-danger);filter:brightness(1.15)}.input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);width:100%;padding:.5rem .65rem}.input[aria-invalid=true]{border-color:var(--color-danger)}textarea.input{resize:vertical;min-height:4.5rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8rem}.skeleton{background:linear-gradient(90deg, var(--color-border), var(--color-bg), var(--color-border));background-size:200% 100%;border-radius:4px;width:70%;height:.8rem;animation:1.2s ease-in-out infinite skeleton;display:inline-block}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.btn-group:not(:has(.btn-danger)):has(.btn:not(.btn-primary):is(:hover,:focus-visible):not(:disabled)) .btn-primary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);filter:none}.btn-group:not(:has(.btn-danger)) .btn:not(.btn-primary):is(:hover,:focus-visible):not(:disabled){background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.btn-group:not(:has(.btn-danger)) .btn-primary:hover:not(:disabled){filter:none}@media (prefers-reduced-motion:reduce){.btn{transition:none}}
