*{margin:0;padding:0;box-sizing:border-box}:root{--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 6px;--radius-sm: 4px;--sidebar-width: 220px;--card-pad-x: 1.25rem;--card-pad-y: 1.15rem;--page-heading-size: 1.05rem;--page-heading-weight: 650;--page-heading-line: 1.3}:root,html[data-theme=dark]{color-scheme:dark;--color-bg: #121018;--color-surface: #1b1824;--color-surface-hover: #242030;--color-surface-muted: #16131e;--color-border: #2d2838;--color-border-strong: #3d3750;--color-primary: #b4a6ff;--color-primary-hover: #c7bcff;--color-primary-soft: rgba(180, 166, 255, .14);--color-on-primary: #16131e;--color-danger: #ff6b7a;--color-danger-soft: rgba(255, 107, 122, .12);--color-danger-border: rgba(255, 107, 122, .35);--color-success: #3dd68c;--color-success-soft: rgba(61, 214, 140, .12);--color-warning: #f5b942;--color-warning-soft: rgba(245, 185, 66, .12);--color-warning-border: rgba(245, 185, 66, .35);--color-text: #f4f2f8;--color-text-muted: #a39bb3;--color-text-dim: #7a7388;--color-chart-accent: #b4a6ff;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .28);--shadow-md: 0 14px 36px rgba(0, 0, 0, .38);--login-glow: rgba(180, 166, 255, .12);--color-terminal-bg: #0c0a12;--color-terminal-text: #d6d0e4;--color-terminal-muted: #8a829c;--color-terminal-err: #ff8b96;--color-terminal-border: #3a3448;--shadow-terminal: inset 0 1px 0 rgba(255, 255, 255, .04), 0 0 0 1px rgba(0, 0, 0, .35)}html[data-theme=light]{color-scheme:light;--color-bg: #f4f6f9;--color-surface: #ffffff;--color-surface-hover: #eef1f6;--color-surface-muted: #f7f8fb;--color-border: #e4e0d9;--color-border-strong: #d4cfc6;--color-primary: #5341d6;--color-primary-hover: #4334c4;--color-primary-soft: rgba(83, 65, 214, .1);--color-on-primary: #ffffff;--color-danger: #c23b4e;--color-danger-soft: rgba(194, 59, 78, .1);--color-danger-border: rgba(194, 59, 78, .32);--color-success: #1a8f5c;--color-success-soft: rgba(26, 143, 92, .12);--color-warning: #a86b12;--color-warning-soft: rgba(168, 107, 18, .12);--color-warning-border: rgba(168, 107, 18, .32);--color-text: #1f1b2d;--color-text-muted: #5f586c;--color-text-dim: #817a8c;--color-chart-accent: #5341d6;--shadow-sm: 0 1px 2px rgba(31, 27, 45, .05);--shadow-md: 0 18px 40px rgba(31, 27, 45, .08);--login-glow: rgba(83, 65, 214, .1);--color-terminal-bg: #16131e;--color-terminal-text: #e8e4f2;--color-terminal-muted: #9a93ad;--color-terminal-err: #ff8b96;--color-terminal-border: #2a2438;--shadow-terminal: inset 0 1px 0 rgba(255, 255, 255, .06), 0 1px 3px rgba(31, 27, 45, .16)}html,body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.5;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}::selection{background:var(--color-primary-soft);color:var(--color-text)}.app{min-height:100vh}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:.95rem;color:var(--color-text-muted)}.layout-main-body .loading{min-height:14rem}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1.5rem;background:var(--color-bg)}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.25rem 2rem 1.85rem;width:100%;max-width:380px;box-shadow:var(--shadow-sm)}.login-card h1{font-size:1.45rem;font-weight:550;letter-spacing:-.03em;margin:1.15rem 0 .35rem}.login-card p{color:var(--color-text-muted);margin-bottom:1.35rem;font-size:.9rem}.login-switch{margin-top:1rem;margin-bottom:0;text-align:center}.form-group{margin-bottom:1rem}.form-group label,.form-group-label{display:block;font-size:.8rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.35rem}.form-group>.hint{margin:.4rem 0 0}.field-status{margin:.45rem 0 0;font-size:.8rem;font-weight:550}.field-status.is-ok{color:var(--color-success)}.field-status.is-bad{color:var(--color-danger)}.field-status.is-wait{color:var(--color-text-muted)}.form-option{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:100%}.form-option>.hint{margin:0;max-width:42rem;min-width:0}.preview-settings{display:flex;flex-direction:column;gap:1.15rem;margin-top:1.1rem;padding-top:1.1rem;border-top:1px solid var(--color-border)}.preview-route-block{display:flex;flex-direction:column;gap:.9rem}.option-list{margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted);min-width:0}.option-list>legend{padding:0 .4rem;margin-left:.75rem;font-size:.78rem;font-weight:600;color:var(--color-text-muted)}.option-list-note{margin:0;padding:.75rem .95rem;border-bottom:1px solid var(--color-border)}.option-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;align-items:flex-start;margin:0;padding:.8rem .95rem;border-top:1px solid var(--color-border);cursor:pointer}.option-list>.option-row:first-of-type,.option-list-note+.option-row{border-top:none}.option-row input[type=checkbox]{margin-top:.2rem}.option-row-copy{display:flex;flex-direction:column;gap:.2rem;min-width:0}.option-row-title{font-size:.875rem;font-weight:600;color:var(--color-text)}.option-row-copy>.hint{margin:0}.form-group input,.form-group select,.form-group textarea,.input{width:100%;padding:.55rem .75rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.925rem;font-family:var(--font-sans);outline:none;transition:border-color .15s,box-shadow .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.scale-slider{display:flex;flex-direction:column;gap:.7rem;padding:.9rem 1rem .8rem;background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius)}.scale-slider-readout{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.scale-slider-count{font-size:1.35rem;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text);line-height:1}.scale-slider-unit{font-size:.78rem;color:var(--color-text-muted)}.scale-slider-ends{display:flex;justify-content:space-between;font-size:.72rem;color:var(--color-text-dim);font-variant-numeric:tabular-nums}.scale-slider-track{--scale-thumb: 1.15rem;--scale-track: .45rem;--scale-inset: calc(var(--scale-thumb) / 2);position:relative;height:var(--scale-thumb)}.scale-slider-bar{position:absolute;left:0;right:0;top:50%;height:var(--scale-track);transform:translateY(-50%);border-radius:999px;background:var(--color-border-strong);pointer-events:none}.scale-slider-ticks{position:absolute;left:var(--scale-inset);right:var(--scale-inset);top:0;bottom:0;display:flex;justify-content:space-between;align-items:center;pointer-events:none;z-index:1}.scale-slider-tick{--tick: clamp(.22rem, calc(70%/max(1, var(--scale-stops, 2))) , .42rem);width:var(--tick);height:var(--tick);flex:0 0 auto;border-radius:50%;background:var(--color-surface-muted);border:1.5px solid var(--color-border-strong);box-shadow:0 0 0 1.5px var(--color-surface-muted)}.scale-slider-tick.is-filled{background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 1.5px var(--color-surface-muted)}.scale-slider-tick.is-current{box-shadow:0 0 0 1.5px var(--color-surface-muted)}.form-group .scale-slider input[type=range],.scale-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:pointer;z-index:2}.form-group .scale-slider input[type=range]:focus,.scale-slider input[type=range]:focus{outline:none;box-shadow:none}.form-group .scale-slider input[type=range]:focus-visible,.scale-slider input[type=range]:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.scale-slider:has(input:disabled) .scale-slider-tick,.scale-slider:has(input:disabled) .scale-slider-bar{opacity:.55}.scale-slider input[type=range]::-webkit-slider-runnable-track{height:var(--scale-track);border-radius:999px;background:transparent}.scale-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--scale-thumb);height:var(--scale-thumb);margin-top:calc((var(--scale-track) - var(--scale-thumb)) / 2);background:var(--color-primary);border:2px solid var(--color-surface);border-radius:50%;box-shadow:var(--shadow-sm)}.scale-slider input[type=range]::-moz-range-track{height:var(--scale-track);border-radius:999px;background:transparent}.scale-slider input[type=range]::-moz-range-thumb{width:var(--scale-thumb);height:var(--scale-thumb);border:2px solid var(--color-surface);border-radius:50%;background:var(--color-primary);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .95rem;min-height:2.15rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:.875rem;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-sm);transition:background .15s,color .15s,border-color .15s,box-shadow .15s;font-family:var(--font-sans);text-decoration:none;white-space:nowrap}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary);box-shadow:none}.btn-primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.btn-ghost{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border);box-shadow:none}.btn-ghost:hover{color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.btn-sm{padding:.4rem .8rem;min-height:1.95rem;font-size:.8125rem}.btn-block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.addon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:.85rem;padding:0 var(--card-pad-x) var(--card-pad-y)}.addon-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--color-border);border-radius:var(--radius);padding:.9rem 1rem;background:var(--color-bg)}.addon-card:hover{border-color:var(--color-accent, #6ae)}.addon-card-title{font-weight:600;margin-bottom:.35rem}.addon-card-meta{display:flex;gap:.5rem;align-items:center;margin-bottom:.35rem}.plugin-page{margin:-2rem -2.25rem -3rem;padding:1.5rem 2.25rem 3rem}.plugin-page-header .page-lede{margin-top:.45rem}.plugin-page-back{margin-top:.65rem;font-size:.875rem}.plugin-page .app-tabs{margin-bottom:1.15rem}.plugin-page-embed{min-height:0}.plugin-page-embed>.stack{width:100%}.card-head .page-lede{max-width:none;margin:0}.layout-main-body:has(.plugin-page){padding-bottom:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-pad-y) var(--card-pad-x);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse}.table th,.table td{text-align:left;padding:.85rem var(--card-pad-x);border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{font-size:.78rem;font-weight:500;color:var(--color-text-muted);background:transparent}.table td{font-size:.9rem}.table tbody tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-surface-hover)}code{font-family:var(--font-mono);font-size:.85em;background:var(--color-bg);padding:.15em .4em;border-radius:3px}.toast{position:fixed;bottom:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:var(--radius);font-size:.9rem;z-index:1000;animation:slideIn .2s ease}.toast-error{background:var(--color-danger);color:#fff}.toast-success{background:var(--color-success);color:#fff}@keyframes slideIn{0%{transform:translateY(1rem);opacity:0}to{transform:translateY(0);opacity:1}}.layout-root{display:flex;min-height:100vh}.layout-sidebar{flex-shrink:0;width:var(--sidebar-width);height:100vh;position:sticky;top:0;background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease,margin .2s ease}.layout-sidebar.is-collapsed{width:0;border-right:none;overflow:hidden;margin-left:0}.layout-sidebar-inner{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;width:var(--sidebar-width);padding:0 0 1rem}.layout-sidebar-brand{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:1.1rem .9rem .9rem}.layout-sidebar-meta{flex-shrink:0;margin:0 .9rem .75rem;padding:.35rem .55rem;font-size:.75rem;font-weight:500;letter-spacing:0;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layout-sidebar-toggle{flex-shrink:0;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;transition:color .15s,background .15s}.layout-sidebar-toggle:hover{color:var(--color-text);background:var(--color-surface-hover)}.layout-sidebar-nav{flex:1 1 auto;min-height:0;overflow-y:auto;padding:.85rem .7rem;display:flex;flex-direction:column;gap:.1rem}.layout-nav-section{margin:1rem .55rem .35rem;font-size:.7rem;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--color-text-dim)}.layout-nav-section:first-child{margin-top:.15rem}.layout-nav-link{display:block;padding:.52rem .75rem;border-radius:var(--radius-sm);color:var(--color-text-muted);text-decoration:none;font-size:.9rem;font-weight:500;transition:background .12s,color .12s,box-shadow .12s}.layout-nav-link:hover{color:var(--color-text);background:var(--color-surface-hover)}.layout-nav-link.active{color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 3px 0 0 var(--color-primary)}.layout-footer{flex-shrink:0;margin-top:auto;padding:1rem .9rem 0;border-top:1px solid var(--color-border)}.layout-user{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;min-width:0}a.layout-user-link{display:flex;align-items:center;gap:.6rem;margin-bottom:.7rem;min-width:0;padding:.35rem .4rem;margin-left:-.4rem;margin-right:-.4rem;border-radius:6px;text-decoration:none;color:inherit}a.layout-user-link:hover,a.layout-user-link.active{background:var(--color-primary-soft)}.layout-avatar{flex-shrink:0;width:1.75rem;height:1.75rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary-soft);color:var(--color-primary);font-size:.75rem;font-weight:650}.layout-footer-email{font-size:.78rem;color:var(--color-text-muted);word-break:break-all;line-height:1.35}.layout-main{flex:1;min-width:0;display:flex;flex-direction:column}.layout-main-toolbar{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.layout-main-body{flex:1;padding:2rem 2.25rem 3rem;overflow:auto}.layout-sidebar.is-collapsed+.layout-main .layout-main-toolbar{padding-left:1rem}.app-detail-header{margin-bottom:.35rem}.app-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;font-size:var(--page-heading-size);font-weight:500;line-height:var(--page-heading-line);letter-spacing:0}.app-breadcrumb-parent{color:var(--color-text-muted);text-decoration:none;font-size:inherit;font-weight:inherit;line-height:inherit}.app-breadcrumb-parent:hover{color:var(--color-primary)}.app-breadcrumb-sep{margin:0 .4rem;color:var(--color-text-dim);font-size:inherit;font-weight:400;line-height:inherit}.app-breadcrumb-current{margin:0;font-size:inherit;font-weight:var(--page-heading-weight);line-height:inherit;letter-spacing:0;color:var(--color-text)}.app-title-meta{margin-top:.35rem;font-size:.8rem;color:var(--color-text-dim)}.app-tabs{display:flex;flex-wrap:wrap;gap:0;margin:1.15rem 0 1.5rem;padding:0;background:transparent;border:none;border-bottom:1px solid var(--color-border);border-radius:0}.app-tabs+.app-tabs{margin-top:0}.app-tab{display:inline-block;padding:.7rem .9rem .65rem;border-radius:0;font-size:.875rem;font-weight:500;color:var(--color-text-muted);text-decoration:none;transition:color .12s,border-color .12s;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;background:transparent;cursor:pointer}.app-tab:hover{color:var(--color-text);background:transparent}.app-tab.active{color:var(--color-primary);background:transparent;border-bottom-color:var(--color-primary)}.app-overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.app-overview-wide{margin-bottom:1rem}.app-overview-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem}.app-overview-card .card-head{padding-bottom:.65rem}.app-overview-card-body{padding:0 var(--card-pad-x) var(--card-pad-y)}.app-overview-card-body>p{margin:0 0 .65rem}.app-overview-card-body>p:last-child{margin-bottom:0}.app-overview-list{list-style:none;margin:0;padding:0}.app-overview-list li{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem 0;border-top:1px solid var(--color-border)}.app-overview-list li:first-child{border-top:none;padding-top:0}.app-overview-keys{display:flex;flex-wrap:wrap;gap:.35rem}.app-overview-types{display:flex;flex-wrap:wrap;gap:.4rem}.app-overview-types code{font-size:.85rem}.table-card .service-row:has(.service-scale){grid-template-columns:minmax(8rem,1fr) minmax(0,2fr) auto auto}.table-card .service-row:not(:has(.service-scale)){grid-template-columns:minmax(8rem,1fr) minmax(0,2fr)}.app-meta-strip{display:flex;flex-wrap:wrap;gap:0;margin:0 0 1.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.app-meta-item{flex:1 1 12rem;padding:var(--card-pad-y) var(--card-pad-x);min-width:0;border-right:1px solid var(--color-border)}.app-meta-item:last-child{border-right:none}.app-meta-item .stat-label{margin-bottom:.4rem}.app-meta-item .stat-value{font-size:.9rem;font-weight:500;margin-top:0;color:var(--color-text)}.app-meta-item .stat-value .muted{font-size:inherit;font-weight:400}.app-detail-outlet .page-header h2,.app-detail-outlet .page-title,.app-detail-outlet .page-title-row{font-size:var(--page-heading-size);font-weight:var(--page-heading-weight);letter-spacing:0;line-height:var(--page-heading-line);margin:0;color:inherit}.app-detail-outlet h2:not(.page-title):not(.page-title-row){font-size:1.05rem;font-weight:600;margin-bottom:.75rem;color:var(--color-text)}.btn-link{display:inline;padding:0;border:none;background:none;color:var(--color-primary);font:inherit;cursor:pointer;text-align:left}.btn-link:hover{text-decoration:underline}.env-kv{display:flex;flex-direction:column;gap:.85rem;margin:0}.env-kv-row{display:grid;gap:.25rem}.env-kv dt{font-family:var(--font-mono);color:var(--color-text-muted);font-size:.78rem}.env-kv dd{margin:0;word-break:break-word;white-space:pre-wrap;font-family:var(--font-mono);font-size:.85rem;color:var(--color-text)}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.01em;text-transform:none;border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg);line-height:1.6}.pill-running,.pill-up,.pill-complete{color:var(--color-success);border-color:transparent;background:var(--color-success-soft)}.pill-pending,.pill-deploying,.pill-starting{color:var(--color-warning);border-color:transparent;background:var(--color-warning-soft)}.pill-failed,.pill-down,.pill-error,.pill-stopped{color:var(--color-danger);border-color:transparent;background:var(--color-danger-soft)}.pill-idle,.pill-none{color:var(--color-text-dim)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.tab-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;margin-bottom:1.15rem;flex-wrap:wrap}.tab-toolbar.is-spread{justify-content:space-between}.tab-toolbar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.tab-toolbar .hint{margin:0}.tab-toolbar .form-inline{flex:1 1 16rem;min-width:0}.action-bar{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding:var(--card-pad-y) var(--card-pad-x);border-color:var(--color-border-strong)}.action-bar-copy .card-title{margin:0 0 .2rem}.action-bar-copy .hint{margin:0}.action-bar-row{display:flex;gap:.65rem;align-items:flex-end;flex-wrap:wrap}.action-bar-row.is-stretch{align-items:stretch}.action-field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.action-field>span,.action-bar .field>span,.action-bar .field>label{font-size:.72rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.action-bar .input,.action-bar select.input{background:var(--color-bg);border-color:var(--color-border-strong);min-height:2.55rem;padding:.55rem .85rem}.action-bar-row>.input:not(.input-xs),.action-bar-row>.command-input-wrap{flex:1 1 12rem}.action-bar .btn-primary{flex:none;min-height:2.55rem;padding-left:1.15rem;padding-right:1.15rem}.action-bar .checkbox-label{align-self:center;margin-bottom:.15rem}.action-bar .stream-status{align-self:center;margin-left:auto;margin-bottom:.15rem}.command-input-wrap{display:flex;flex:1 1 16rem;min-width:0;align-items:center;background:var(--color-bg);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm)}.command-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.command-input-prefix{flex:none;padding:0 .15rem 0 .85rem;color:var(--color-primary);font-family:var(--font-mono);font-size:.95rem;font-weight:650}.command-input-wrap .input{width:auto;flex:1;min-width:0;border:0;box-shadow:none;background:transparent;font-family:var(--font-mono);font-size:.925rem;padding:.7rem .85rem .7rem .55rem}.command-input-wrap .input:focus{border:0;box-shadow:none}.table tbody tr.is-clickable,.table tbody tr.job-row{cursor:pointer}.table tbody tr.job-row.is-expanded td{background:var(--color-surface-hover);border-bottom-color:transparent}.job-row-chevron{display:inline-block;width:.9rem;margin-right:.35rem;color:var(--color-text-muted);font-size:.7rem}.job-args{margin-left:.45rem;font-family:var(--font-mono);font-size:.8rem}.table tbody tr.job-log-row td{padding:0 var(--card-pad-x) .85rem;background:var(--color-bg);cursor:default}.table tbody tr.job-log-row:hover td{background:var(--color-bg)}.job-log-wrap{padding-top:.15rem}.job-log-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem;color:var(--color-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.job-log-empty{margin:0;color:var(--color-terminal-muted);font-size:.85rem;font-family:var(--font-mono)}.log-stream.job-log-panel{max-height:16rem;min-height:7.5rem;margin:0}.console-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.console-drawer-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#12101873;cursor:pointer}.console-drawer{position:absolute;left:0;right:0;bottom:0;height:min(52vh,32rem);display:flex;flex-direction:column;background:var(--color-surface);border-top:1px solid var(--color-border);box-shadow:0 -16px 40px #00000047}.console-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--color-border)}.console-drawer-title{display:flex;align-items:baseline;gap:.75rem;min-width:0}.console-drawer-title .hint{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-drawer .console{flex:1;min-height:0;max-height:none;border:none;border-radius:0;box-shadow:none;background:var(--color-bg)}.console-drawer-input{display:flex;gap:.65rem;align-items:stretch;padding:.65rem 1rem;border-top:1px solid var(--color-border-strong);background:var(--color-surface)}.console-drawer-input .command-input-wrap{flex:1 1 auto}.console-drawer-input .btn-primary{flex:none;min-height:2.55rem;padding-left:1.15rem;padding-right:1.15rem}.side-panel-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;justify-content:flex-end;align-items:stretch}.side-panel-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#12101873;cursor:pointer;color:transparent;font-size:0;text-decoration:none;overflow:hidden}html[data-theme=light] .side-panel-backdrop{background:#1c191747}.side-panel{position:relative;width:min(32rem,100vw);height:100%;max-height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:-16px 0 40px #00000047;animation:side-panel-in .16s ease-out}.side-panel:has(.perm-groups){width:min(36rem,100vw)}@keyframes side-panel-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.side-panel{animation:none}}.side-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem .9rem;border-bottom:1px solid var(--color-border)}.side-panel-head>.btn{flex-shrink:0}.side-panel-title{min-width:0}.side-panel-title h2{margin:0;font-size:1.05rem;font-weight:650}.side-panel-title .hint{margin:.35rem 0 0}.side-panel-body{flex:1;min-height:0;overflow:auto;padding:1.1rem 1.15rem}.side-panel-body .form-stack>.form-group{margin-bottom:0}.side-panel .form-row{flex-wrap:nowrap;align-items:flex-end}.side-panel .form-row>.form-group{min-width:0;margin-bottom:0}.form-pair{display:flex;align-items:stretch;gap:.5rem}.form-group .form-pair>input,.form-group .form-pair>select,.form-group .form-pair>.rich-select{margin:0}.form-group .form-pair>.is-count{flex:0 0 5.75rem;width:5.75rem;max-width:5.75rem}.form-group .form-pair>.rich-select{flex:1 1 12rem;min-width:0}.form-group .form-pair>.is-grow{flex:1 1 auto;width:auto;min-width:0}.form-group .form-pair>.btn{align-self:center;flex:0 0 auto}.form-group textarea,.textarea{min-height:9rem;resize:vertical;line-height:1.45}.textarea-mono{font-family:var(--font-mono)}.side-panel-foot{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;flex-wrap:nowrap;padding:.85rem 1.15rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.app-detail-outlet>.hint{margin:0 0 1.15rem}.page-header h2,.page-title,.page-title-row{font-size:var(--page-heading-size);font-weight:var(--page-heading-weight);letter-spacing:0;line-height:var(--page-heading-line);margin:0}.page-header-meta{font-size:.9rem;color:var(--color-text-muted);margin:.4rem 0 0}.services-panel{display:flex;flex-direction:column;gap:.65rem}.service-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,2fr) auto auto;gap:.75rem 1rem;align-items:center;padding:.85rem var(--card-pad-x);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.service-row-head{display:flex;flex-direction:column;gap:.25rem;min-width:0}.service-row-name{font-family:var(--font-mono);font-size:.95rem;font-weight:600;color:var(--color-text)}.service-row-tags{display:flex;flex-wrap:wrap;gap:.3rem}.service-row-cmd{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);word-break:break-all;white-space:pre-wrap;background:transparent;padding:0}.service-scale{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-bg)}.service-scale button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;font-weight:600;width:2rem;height:2rem;cursor:pointer;transition:color .12s,background .12s}.service-scale button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.service-scale button:disabled{opacity:.4;cursor:not-allowed}.service-scale input{width:3rem;text-align:center;background:transparent;border:none;color:var(--color-text);font-family:var(--font-mono);font-size:.95rem;font-weight:600;outline:none;padding:0 .25rem;-moz-appearance:textfield}.service-scale input::-webkit-outer-spin-button,.service-scale input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.service-state{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.resource-limits-panel{display:flex;flex-direction:column;gap:.85rem}.resource-limits-head .card-title{margin:0 0 .35rem}.resource-grid{display:flex;flex-direction:column;gap:.45rem;overflow-x:auto}.resource-grid-head,.resource-row{display:grid;grid-template-columns:minmax(7rem,1fr) repeat(2,minmax(7rem,1fr));gap:.5rem;align-items:center}.resource-grid.has-profiles .resource-grid-head,.resource-grid.has-profiles .resource-row{grid-template-columns:minmax(6.5rem,.9fr) minmax(12rem,1.6fr) repeat(2,minmax(6.5rem,1fr))}.resource-grid-head{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:0}.resource-row{padding:.5rem 0;border-top:1px solid var(--color-border)}.resource-row-name{font-family:var(--font-mono);font-size:.9rem;font-weight:600}.resource-row .input{width:100%;min-width:0}.resource-row .input:disabled{opacity:.55;cursor:not-allowed}.resource-readonly{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-muted)}.field-check{display:flex;align-items:flex-start;gap:.6rem;font-size:.9rem;line-height:1.4;cursor:pointer}.field-check input{margin-top:.2rem}.table td .pill{margin-left:.5rem;vertical-align:middle}.resource-limits-actions{display:flex;justify-content:flex-end}.activity-timeline{position:relative;padding-left:1.25rem;display:flex;flex-direction:column;gap:.65rem}.activity-timeline:before{content:"";position:absolute;left:.45rem;top:.6rem;bottom:.6rem;width:1px;background:var(--color-border)}.activity-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1rem;align-items:start;padding:var(--card-pad-y) var(--card-pad-x);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm)}.activity-item:before{content:"";position:absolute;left:-1.05rem;top:50%;transform:translateY(-50%);width:.65rem;height:.65rem;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-border)}.activity-item.is-current:before{border-color:var(--color-success);background:var(--color-success);box-shadow:0 0 0 3px var(--color-success-soft)}.activity-item.is-failed:before{border-color:var(--color-danger);background:var(--color-danger)}.activity-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.92rem;min-width:0}.activity-id{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text)}.activity-id a{color:inherit;text-decoration:none;border-bottom:1px dotted var(--color-text-dim)}.activity-id a:hover{color:var(--color-primary);border-bottom-color:var(--color-primary)}.activity-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.78rem;color:var(--color-text-muted);margin-top:.25rem}.activity-change{margin:.35rem 0 0;font-size:.82rem;color:var(--color-text);line-height:1.35}.activity-change-details{margin:.2rem 0 0;padding-left:1.15rem;font-size:.78rem;color:var(--color-text-muted);line-height:1.4}.activity-actions{display:flex;gap:.4rem}.mono-id{font-family:var(--font-mono);font-size:.82rem;color:var(--color-text);background:var(--color-bg);padding:.1em .4em;border-radius:3px}.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--color-text);text-decoration:none;min-width:0}.brand:hover{color:var(--color-text)}.brand-mark{flex-shrink:0;width:1.55rem;height:1.55rem;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);color:var(--color-on-primary);font-size:.72rem;font-weight:700;letter-spacing:-.04em}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.brand-name{font-size:.95rem;font-weight:650;letter-spacing:-.03em}.brand-product{font-size:.68rem;font-weight:500;color:var(--color-text-dim);letter-spacing:.04em;text-transform:uppercase}.form-error{margin-bottom:1rem;padding:.65rem .75rem;border-radius:var(--radius-sm);background:var(--color-danger-soft);border:1px solid var(--color-danger-border);color:var(--color-danger);font-size:.85rem}.resource-limits-panel .form-error{margin-bottom:0}.banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.banner-info{background:var(--color-surface-muted);color:var(--color-text-muted)}.banner-warning{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.banner-error{border-color:var(--color-danger-border);color:var(--color-danger);background:var(--color-danger-soft)}.banner-ok{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-soft)}.setup-steps{margin:.75rem 0 .25rem;padding:0;list-style:none;counter-reset:github-setup}.setup-steps li{position:relative;padding:.85rem 0 .85rem 2.5rem;border-top:1px solid var(--color-border)}.setup-steps li:first-child{border-top:none;padding-top:.2rem}.setup-steps li:before{counter-increment:github-setup;content:counter(github-setup);position:absolute;left:0;top:.85rem;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:.72rem;font-weight:600;display:flex;align-items:center;justify-content:center;line-height:1}.setup-steps li:first-child:before{top:.2rem}.setup-steps li strong{display:block;margin-bottom:.3rem}.setup-steps .hint{margin:0}.github-setup-block{margin-top:1.25rem}.github-setup-heading{font-size:.85rem;font-weight:600;margin:0 0 .55rem}.github-setup-table.table th,.github-setup-table.table td{padding-left:0;padding-right:.9rem;vertical-align:top}.github-setup-table.table th:last-child,.github-setup-table.table td:last-child{padding-right:0}.github-setup-table .github-setup-desc{color:var(--color-text-muted);font-size:.85rem;line-height:1.45}.github-setup-table tbody tr:hover td{background:transparent}.page-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.page-toolbar.is-metrics{align-items:flex-start}.metrics-controls{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.metrics-process{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:var(--color-text-muted)}.metrics-process .rich-select{min-width:12rem}.metrics-process select.input{min-width:7.5rem;width:auto;padding:.32rem .55rem;font-size:.8rem}.segmented{display:inline-flex;gap:.15rem;padding:.15rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-size:.78rem;font-weight:600;letter-spacing:.01em;padding:.32rem .62rem;border-radius:4px;cursor:pointer;font-family:var(--font-sans);line-height:1.2}.segmented button:hover{color:var(--color-text)}.segmented button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.page-toolbar .page-lede{margin-top:.3rem}.metrics-status{margin:0 0 .85rem}.page-title{font-size:var(--page-heading-size);font-weight:var(--page-heading-weight);letter-spacing:0;line-height:var(--page-heading-line);margin:0}.form-inline{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.card>.form-inline{margin-bottom:0}.form-inline .input{width:14rem}.form-inline .input-grow{width:auto;flex:1 1 16rem;min-width:12rem}.account-form{display:flex;flex-direction:column;gap:.85rem;max-width:22rem}.account-form .form-group{margin-bottom:0}.table-card{padding:0;overflow:hidden}.empty-state{text-align:left;color:var(--color-text-muted);padding:1.25rem var(--card-pad-x);margin:0;max-width:none;width:100%;box-sizing:border-box}.card.empty-state{padding:var(--card-pad-y) var(--card-pad-x)}.empty-state .card-title{margin-bottom:.4rem}.empty-state p{margin:0}.empty-state p+p{margin-top:.45rem}.empty-state .btn{margin-top:1rem}.scheduler-form .action-bar-copy{margin-bottom:1rem}.scheduler-form .form-group>.muted{margin-top:.35rem}.scheduler-preview{margin:0;font-size:.85rem;color:var(--color-text-muted)}.mono-input{font-family:var(--font-mono);letter-spacing:.02em}.btn.is-active{background:var(--color-primary-soft);color:var(--color-text);border-color:var(--color-border-strong)}.table-card>.empty-state,.table-card>p.empty-state{text-align:left;padding:1.25rem var(--card-pad-x);max-width:none;margin:0}.table-link{color:var(--color-text);text-decoration:none;font-weight:600}.table-link:hover{color:var(--color-primary)}.table-sub{margin-top:.2rem;font-size:.75rem;color:var(--color-text-dim)}.table-sub code{background:transparent;padding:0}.tag{display:inline-flex;align-items:center;margin-left:.5rem;padding:.05rem .45rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);vertical-align:middle}.muted{color:var(--color-text-muted);font-size:.85rem}.back-link{color:var(--color-text-muted);text-decoration:none;font-size:.85rem}.back-link:hover{color:var(--color-primary)}.stat-label{font-size:.72rem;font-weight:600;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.06em}.stat-value{font-size:.9rem;font-weight:500;margin-top:.35rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--color-text)}.stat-meta{font-size:.78rem;color:var(--color-text-muted);margin-top:.4rem}.login-card .brand{margin-bottom:.15rem}.page-intro{margin-bottom:1.25rem}.page-intro .page-title{margin-bottom:.4rem}.page-lede{color:var(--color-text-muted);font-size:.9rem;margin:0;max-width:48rem}.card>.page-lede{max-width:none;margin-bottom:.85rem}.stack,.stack-lg{display:flex;flex-direction:column;gap:1.25rem}.card-title{font-size:.95rem;font-weight:600;margin:0 0 .65rem}.card-head{display:flex;flex-direction:column;gap:.75rem;padding:var(--card-pad-y) var(--card-pad-x) .9rem}.table-card>.card-head{border-bottom:1px solid var(--color-border)}.card-head .card-title,.card-head-row .card-title{margin:0}.card-head-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.card-head .form-inline{margin:0}.card-subtitle{font-size:.85rem;color:var(--color-text-muted);margin:0}.card>.card-subtitle{margin-bottom:.75rem}.chart-subtitle{font-size:.8rem;color:var(--color-text-muted);margin:0 0 .65rem}.checkbox-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.85rem;color:var(--color-text);white-space:nowrap}.checkbox-stack{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.form-stack>.form-group{margin-bottom:0}.form-stack{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:none}.form-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.form-row>.btn{flex-shrink:0}.form-row .field{flex:1 1 16rem;min-width:12rem}.filter-bar{display:flex;flex-wrap:wrap;gap:.85rem 1rem;align-items:flex-end}.card.filter-bar{margin-bottom:1.25rem}.form-group.grow{flex:1 1 12rem;margin-bottom:0}.filter-bar .form-group{margin-bottom:0}.input-xs{width:6rem;min-width:6rem}.stat-inline{margin-top:0}.nav-sub{margin-top:-.35rem;margin-bottom:1rem}.cell-id{font-family:var(--font-mono);font-size:.8rem}.filter-narrow{max-width:24rem;margin-bottom:1.25rem}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.field>span,.field>label{color:var(--color-text-muted)}.field select,select.input{min-width:12rem;width:auto}.field .rich-select{min-width:16rem}.rich-select{position:relative;width:100%;min-width:0}.rich-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:.6rem;text-align:left;cursor:pointer;width:100%;line-height:1.25;font-weight:400}.rich-select-trigger:disabled{opacity:.55;cursor:not-allowed}.rich-select-trigger-label{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rich-select-caret{flex-shrink:0;color:var(--color-text-muted);font-size:.7rem}.rich-select-menu{position:fixed;z-index:1200;margin:0;padding:.3rem;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md, 0 8px 24px rgba(0, 0, 0, .12));max-height:min(20rem,70vh);overflow:auto}.rich-select-option{display:flex;flex-direction:column;gap:.15rem;padding:.45rem .55rem;border-radius:4px;cursor:pointer}.rich-select-option.is-active,.rich-select-option:hover{background:var(--color-primary-soft)}.rich-select-option.is-selected .rich-select-option-label{color:var(--color-primary)}.rich-select-option-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.rich-select-option-label{font-weight:600;font-size:.9rem}.rich-select-option-desc{font-size:.75rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.rich-select-menu.rich-select-explain{min-width:min(22rem,calc(100vw - 1rem))}.rich-select-explain .rich-select-option-desc{white-space:normal;font-family:inherit}.rich-select-tags{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.rich-select-tag{font-size:.68rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:.05rem .4rem;white-space:nowrap}.rich-select-compact .rich-select-trigger{padding:.32rem .55rem;font-size:.8rem}.filter-meta{font-size:.85rem;color:var(--color-text-muted);flex:1 1 12rem}.input-grow{flex:1 1 16rem;min-width:12rem}.json-pre{margin:0;white-space:pre-wrap;font-size:.85rem;font-family:var(--font-mono);color:var(--color-text-muted)}.console,.log-stream{font-family:var(--font-mono);font-size:.8rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--color-terminal-text);background:var(--color-terminal-bg);border:1px solid var(--color-terminal-border);border-radius:var(--radius);padding:.85rem 1rem;overflow:auto;box-shadow:var(--shadow-terminal)}.log-stream{max-height:70vh;min-height:16rem}.console{min-height:12rem;max-height:50vh;margin:0}.console.is-live{cursor:text;white-space:pre;overflow:auto}.console.is-live:focus{outline:2px solid var(--color-primary);outline-offset:1px}.event-log{max-height:320px;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--card-pad-y) var(--card-pad-x);font-family:var(--font-mono);font-size:.85rem;white-space:pre-wrap}.card>.event-log{background:transparent;border:none;border-radius:0;padding:0;box-shadow:none}.log-line-err{color:var(--color-terminal-err)}.status-live{color:var(--color-success)}.status-error{color:var(--color-danger)}.status-muted{color:var(--color-text-muted)}.stream-status{margin-left:auto;font-size:.85rem}.kv-list{display:flex;flex-direction:column;gap:.65rem}.kv-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(10rem,2fr) 11rem;gap:.5rem;align-items:center}.kv-row.is-draft{padding-top:.5rem;border-top:1px solid var(--color-border)}.kv-input{width:100%;padding:.5rem .75rem;margin:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.9rem;font-family:var(--font-mono);outline:none;resize:none}.kv-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.kv-input:disabled{background:var(--color-surface);color:var(--color-text);cursor:default;opacity:1}.kv-input-readonly{background:var(--color-surface);color:var(--color-text-muted);cursor:default}.meta-grid{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.85rem}.meta-grid dt,.meta-label{color:var(--color-text-muted)}.meta-grid dt,.meta-grid dd{margin:0}.meta-grid dd{min-width:0;word-break:break-word}.section-split{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.list-plain{margin:0;padding-left:1.1rem;font-size:.9rem}.list-plain li{margin-bottom:.15rem}.perm-checks{display:flex;gap:.75rem 1rem;flex-wrap:wrap;align-items:center}.perm-groups{display:flex;flex-direction:column;gap:.85rem;margin-top:.65rem}.perm-group{margin:0;padding:.85rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-muted)}.perm-group-head h3{margin:0;font-size:.82rem;font-weight:650;color:var(--color-text)}.perm-group-head h3 code{font-size:.82rem;background:transparent;padding:0;color:var(--color-text)}.perm-group-head .hint{margin:.15rem 0 .45rem;font-size:.75rem}.rich-select-trigger.is-multiple{align-items:flex-start;height:auto;min-height:2.35rem;white-space:normal}.rich-select-trigger-label.is-placeholder{color:var(--color-text-dim)}.rich-select-chips{display:flex;flex-wrap:wrap;gap:.3rem;flex:1;min-width:0}.rich-select-chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .2rem .1rem .45rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:.78rem;font-weight:650;line-height:1.2;font-family:var(--font-mono)}.rich-select-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.1rem;height:1.1rem;margin:0;padding:0;border:none;border-radius:999px;background:transparent;color:var(--color-text-muted);font-size:.95rem;line-height:1;cursor:pointer}.rich-select-chip-remove:hover{color:var(--color-text);background:var(--color-surface-hover)}.table-actions{display:flex;gap:.45rem;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.table td:has(.table-actions){width:1%;white-space:nowrap}.kv-row .table-actions{width:100%}.table-card .services-panel{gap:0}.table-card .service-row{border:none;border-radius:0;box-shadow:none;border-bottom:1px solid var(--color-border)}.table-card .service-row:last-child{border-bottom:none}.roles-table{table-layout:fixed}.roles-table th:nth-child(1),.roles-table td:nth-child(1){width:18rem}.roles-table th:nth-child(3),.roles-table td:nth-child(3){width:14rem;white-space:nowrap}.roles-table td{vertical-align:top}.perm-list{display:flex;flex-wrap:wrap;gap:.35rem .4rem;align-items:center;min-width:0}.perm-list code{display:inline-block;white-space:nowrap}.nowrap{white-space:nowrap}.plugin-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.plugin-metrics-grid>.card{min-width:0}.chart-frame{width:100%;height:260px}.chart-frame-sm{width:100%;height:220px}.definition-table th{width:12rem;vertical-align:top}.definition-table tbody tr:hover td,.definition-table tbody tr:hover th{background:transparent}.page-title-row{display:flex;align-items:center;gap:.5rem}.mt-section{margin-top:1.25rem}.hint{font-size:.8rem;color:var(--color-text-muted)}.cell-preview{max-width:28rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:.85rem}.side-panel .route-help{margin-top:.35rem;margin-bottom:0}.side-panel .form-group>.hint,.side-panel .form-option>.hint,.side-panel .route-help .hint{max-width:none}.route-help>.form-group-label{margin-bottom:.4rem}.route-help{margin-bottom:1.25rem}.route-help .hint{margin:0}.route-help .hint+.dns-example,.route-help .dns-example+.hint{margin-top:.65rem}.dns-example{margin:.55rem 0 0;padding:.65rem .8rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;overflow-x:auto;white-space:pre}.swimlane{display:flex;flex-direction:column;gap:0}.swimlane-row{display:grid;grid-template-columns:14.5rem 1fr;align-items:center;gap:.85rem;min-height:1.7rem}.swimlane-row+.swimlane-row{margin-top:.15rem}.swimlane-label{display:flex;align-items:baseline;gap:.4rem;min-width:0;font-size:.78rem;color:var(--color-text-muted)}.swimlane-code{flex:0 0 auto;font-family:var(--font-mono);font-size:.72rem;font-weight:650;color:var(--color-text);letter-spacing:.02em}.swimlane-desc{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swimlane-count{flex:0 0 auto;font-variant-numeric:tabular-nums;font-size:.72rem;color:var(--color-text-dim)}.swimlane-track{position:relative;height:1.35rem;background:transparent;border:none;border-radius:0}.swimlane-axis{position:absolute;left:0;right:0;top:50%;height:1px;background:var(--color-border)}.swimlane-mark{position:absolute;top:50%;width:9px;height:9px;border:1.5px solid var(--color-surface);border-radius:1px;transform:translate(-50%,-50%) rotate(45deg);cursor:help;z-index:1}.swimlane-cursor{position:absolute;top:0;bottom:0;width:0;border-left:1px dashed var(--color-text-muted);transform:translate(-.5px);pointer-events:none;z-index:2}.swimlane-row-axis{min-height:0;margin-top:.35rem}.swimlane-times{display:flex;justify-content:space-between;font-size:.72rem;color:var(--color-text-dim);font-variant-numeric:tabular-nums}.app-overview .page-header{margin-top:.25rem}.card.log-stream{background:var(--color-terminal-bg);border-color:var(--color-terminal-border);box-shadow:var(--shadow-terminal)}.login-theme{position:fixed;top:1rem;right:1rem;z-index:10}.theme-toggle{display:inline-flex;gap:.15rem;padding:.15rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.theme-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.28rem .5rem;border-radius:4px;cursor:pointer;font-family:var(--font-sans);line-height:1.2}.theme-toggle button:hover{color:var(--color-text)}.theme-toggle button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.layout-footer .theme-toggle{width:100%;margin-bottom:.55rem}@media(max-width:720px){.roles-table{table-layout:auto}.roles-table th:nth-child(1),.roles-table td:nth-child(1),.roles-table th:nth-child(3),.roles-table td:nth-child(3){width:auto}.app-meta-item{border-right:none;border-bottom:1px solid var(--color-border)}.app-meta-item:last-child{border-bottom:none}.layout-main-body{padding:1.25rem 1rem 2rem}.github-setup-table thead{display:none}.github-setup-table,.github-setup-table tbody,.github-setup-table tr,.github-setup-table th,.github-setup-table td{display:block;width:100%}.github-setup-table tr{padding:.75rem 0;border-bottom:1px solid var(--color-border)}.github-setup-table tbody tr:last-child{border-bottom:none;padding-bottom:0}.github-setup-table.table th,.github-setup-table.table td{padding:.12rem 0;border:none}.github-setup-table td[data-label]:before{content:attr(data-label);display:block;font-size:.72rem;font-weight:500;color:var(--color-text-muted);margin-bottom:.1rem}}.layout-footer .theme-toggle button{flex:1}.host-metrics{display:flex;flex-direction:column;gap:1rem}.host-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1rem}.host-metrics-card .host-metrics-head .card-title{margin-bottom:.2rem}.host-id{font-family:var(--font-mono);word-break:break-all}.host-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-bottom:.85rem}.cluster-kpis{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:0}.host-kpi{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.5rem .6rem;min-width:0}.host-kpi.is-warn{border-color:var(--color-warning-border);background:var(--color-warning-soft)}.host-kpi.is-crit{border-color:var(--color-danger-border);background:var(--color-danger-soft)}.host-kpi-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.host-kpi-value{font-family:var(--font-mono);font-size:.95rem;font-weight:650;color:var(--color-text);margin-top:.15rem}.host-kpi-hint{font-size:.7rem;color:var(--color-text-dim);margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.host-charts{display:flex;flex-direction:column;gap:.55rem}.host-capacity-charts{display:flex;flex-direction:column;gap:.55rem;margin-top:.55rem}.host-mini-chart-title{font-size:.72rem;font-weight:600;color:var(--color-text-muted);margin:0 0 .2rem}.chart-frame-xs{width:100%;height:128px}.chart-expand{position:relative}.card:has(>.chart-expand),.host-mini-chart:has(>.chart-expand){position:relative}.card:has(>.chart-expand)>.chart-expand,.host-mini-chart:has(>.chart-expand)>.chart-expand{position:static}.card:has(>.chart-expand)>.card-title,.card:has(>.chart-expand)>.chart-subtitle,.host-mini-chart:has(>.chart-expand)>.host-mini-chart-title{padding-right:2.2rem}.chart-expand-placeholder{width:100%;min-height:128px}.chart-expand-btn{position:absolute;top:.45rem;right:.45rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:1.7rem;height:1.7rem;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;opacity:.78;box-shadow:var(--shadow-sm)}.chart-expand-btn:hover,.chart-expand-btn:focus-visible{opacity:1;color:var(--color-text);background:var(--color-surface-hover);border-color:var(--color-border-strong)}.chart-expand-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1.1rem}.chart-expand-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#1210188c;cursor:pointer}html[data-theme=light] .chart-expand-backdrop{background:#1c19175c}.chart-expand-dialog{position:relative;width:min(96vw,100%);height:min(94vh,100%);display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);animation:chart-expand-in .16s ease-out}@keyframes chart-expand-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.chart-expand-dialog{animation:none}}.chart-expand-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.15rem .9rem;border-bottom:1px solid var(--color-border)}.chart-expand-dialog-head>.btn{flex-shrink:0}.chart-expand-dialog-title{min-width:0}.chart-expand-dialog-title h2{margin:0;font-size:1.05rem;font-weight:650}.chart-expand-dialog-title .hint{margin:.35rem 0 0}.chart-expand-dialog-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:.85rem 1.15rem 1.15rem}.chart-expand-dialog-body>*{flex:1;min-height:0}.chart-expand-dialog-body .chart-frame,.chart-expand-dialog-body .chart-frame-sm,.chart-expand-dialog-body .chart-frame-xs{height:100%}@media(max-width:720px){.host-kpis,.cluster-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.plugin-metrics-grid{grid-template-columns:minmax(0,1fr)}}.rich-select-menu.is-searchable{display:flex;flex-direction:column;padding:0}.rich-select-menu.is-searchable ul{margin:0;padding:.3rem;list-style:none;max-height:min(16rem,55vh);overflow:auto}.rich-select-search{padding:.4rem .45rem .3rem;border-bottom:1px solid var(--color-border)}.rich-select-search-input{width:100%}.rich-select-empty{padding:.7rem .55rem;color:var(--color-text-muted);font-size:.85rem}.rich-select-menu.has-create{display:flex;flex-direction:column;padding:0;overflow:hidden}.rich-select-menu.has-create ul{margin:0;padding:.3rem;list-style:none;overflow:auto;min-height:0;flex:1}.rich-select-create{flex-shrink:0;padding:.35rem .4rem;border-top:1px solid var(--color-border)}.rich-select-create-toggle{width:100%;text-align:left;background:transparent;border:0;padding:.4rem .45rem;border-radius:4px;cursor:pointer;font:inherit;font-weight:650;color:var(--color-primary);box-shadow:none}.rich-select-create-toggle:hover{background:var(--color-primary-soft)}.rich-select-create-form{display:flex;gap:.35rem;align-items:center}.rich-select-create-input{flex:1;min-width:0}.pipeline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:1rem}.pipeline-summary-card{display:block;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.pipeline-summary-card .card-title a{color:inherit;text-decoration:none}.pipeline-summary-card:hover{border-color:var(--color-primary)}.pipeline-summary-card .card-title a:hover{color:var(--color-primary)}.pipeline-env-pills{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .75rem;margin-top:.75rem}.pipeline-env-pill{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pipeline-env-pill strong{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pipeline-board{display:grid;grid-template-columns:repeat(4,minmax(10rem,1fr));gap:1rem;margin:1rem 0}.pipeline-env-col{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.75rem}.pipeline-env-col h3{margin:0 0 .6rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.pipeline-app-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm, 4px);padding:.7rem;margin:0 0 .6rem;display:flex;flex-direction:column;gap:.35rem}.pipeline-empty-card{border-style:dashed}.pipeline-empty-card .muted{margin:0 0 .35rem}.pipeline-empty-card.is-add-more{margin-top:.15rem}.pipeline-app-card .form-group{margin:.15rem 0 0}.pipeline-app-card .form-group .muted{display:block;margin-bottom:.25rem;font-size:.75rem}@media(max-width:900px){.pipeline-board{grid-template-columns:1fr 1fr}}
