html{--lumo-font-size:1rem;--lumo-font-size-xxxl:1.75rem;--lumo-font-size-xxl:1.375rem;--lumo-font-size-xl:1.125rem;--lumo-font-size-l:1rem;--lumo-font-size-m:.875rem;--lumo-font-size-s:.8125rem;--lumo-font-size-xs:.75rem;--lumo-font-size-xxs:.6875rem;--lumo-line-height-m:1.4;--lumo-line-height-s:1.2;--lumo-line-height-xs:1.1}.server-stats-panel{min-width:0;max-width:100%;overflow:hidden}.server-stats-body{flex:auto;min-width:0}.server-stats-toggle{cursor:pointer;flex-shrink:0;align-self:flex-start;min-width:2.5rem;min-height:2.5rem;margin:0;padding:0}.server-stats-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.server-stats-details{gap:var(--lumo-space-s);min-width:0;max-width:100%;overflow:hidden}.server-stats-section{flex:1 1 0;min-width:0;max-width:100%;overflow:hidden}.server-stats-section--db{flex:2 1 0}.server-stats-section .server-stats-info-row,.server-stats-section span{text-overflow:ellipsis;min-width:0;overflow:hidden}.db-shared-row{max-width:100%;overflow:hidden;min-width:0!important}.task-history-bar{max-width:none;bottom:0;width:auto!important;left:0!important;right:0!important}vaadin-app-layout[drawer-opened]:not([overlay]) .task-history-bar{left:var(--vaadin-app-layout-drawer-width,16rem)!important}.task-history-bar .task-history-header{padding:var(--lumo-space-xs) var(--lumo-space-m);align-items:center;min-height:0}.task-history-bar .task-history-actions{flex-shrink:0;margin-left:auto}.drawer-account-row{align-items:center;gap:var(--lumo-space-s);width:100%;min-width:0;padding:var(--lumo-space-xs) var(--lumo-space-s);cursor:pointer;border-radius:var(--lumo-border-radius-m);box-sizing:border-box;display:flex}.drawer-account-row:hover{background:var(--lumo-contrast-5pct)}.drawer-account-avatar{background:var(--lumo-contrast-10pct);width:2rem;height:2rem;color:var(--lumo-body-text-color);font-weight:600;font-size:var(--lumo-font-size-s);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.drawer-account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--lumo-font-size-s);flex:auto;font-weight:500;overflow:hidden}.drawer-update-btn{color:var(--lumo-primary-color);flex-shrink:0}.navbar-update-btn{flex-shrink:0}.drawer-update-btn[data-available=true]{color:var(--lumo-primary-color)}.drawer-root{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden}.navbar-host-badge{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:9rem;font-weight:650;overflow:hidden}.drawer-nav-scroller{box-sizing:border-box;min-width:0;max-width:100%;overflow-x:hidden!important}.drawer-side-nav{min-width:0;max-width:100%}.drawer-footer{box-sizing:border-box;min-width:0;max-width:100%;overflow:hidden}vaadin-app-layout::part(drawer){overflow-x:hidden}vaadin-side-nav-item{min-width:0}@media (width<=900px){.server-stats-details{flex-wrap:nowrap;flex-direction:column!important}.server-stats-section,.server-stats-section--db{flex:auto;width:100%}}@media (width>=901px){.server-stats-details{flex-flow:row}}.host-stats-strip{min-width:0}.host-stats-metric{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);font-variant-numeric:tabular-nums;white-space:nowrap}.host-stats-group-db .host-stats-metric{color:var(--lumo-body-text-color);font-weight:500}.host-stats-sep{background:var(--lumo-contrast-20pct);flex-shrink:0;align-self:stretch;width:1px;min-height:1.25rem;margin:0 2px}.host-stats-db-update{color:var(--lumo-primary-color);cursor:default;flex-shrink:0}.operation-chip-wrap{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.operation-chip-drawer{margin-top:var(--lumo-space-xs);box-sizing:border-box;overflow:hidden;width:100%!important;min-width:0!important;max-width:100%!important}.operation-chip-drawer .operation-chip{box-sizing:border-box;border-radius:var(--lumo-border-radius-s);background:0 0;border:none;justify-content:flex-start;min-height:0;overflow:hidden;width:100%!important;min-width:0!important;max-width:100%!important;padding:4px 6px!important;display:flex!important}.operation-chip-drawer .operation-chip:hover{background:var(--lumo-contrast-5pct)}.operation-chip-drawer .operation-chip-icon{display:none!important}.operation-chip-drawer .operation-chip-dot{width:6px;height:6px;margin-right:2px;display:inline-block}.operation-chip-drawer .operation-chip-content{gap:6px!important}.operation-chip-drawer .operation-chip-content,.operation-chip-drawer .operation-chip-labels{flex:auto;width:100%;max-width:100%;overflow:hidden;min-width:0!important}.operation-chip-drawer .operation-chip-text{text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:var(--lumo-font-size-xs);color:var(--lumo-body-text-color);font-weight:600;line-height:1.2;display:block;overflow:hidden;max-width:none!important}.operation-chip-drawer .operation-chip-meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--lumo-tertiary-text-color);font-size:10px;font-weight:400;line-height:1.2;display:block;overflow:hidden}.operation-chip{border:1px solid var(--lumo-contrast-20pct);border-radius:var(--lumo-border-radius-m);background:var(--lumo-contrast-5pct);max-width:100%;box-shadow:none;box-sizing:border-box;cursor:pointer;padding:var(--lumo-space-xs) var(--lumo-space-s)!important}.operation-chip:hover{background:var(--lumo-contrast-10pct)}.operation-chip-meta{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);min-width:0}.operation-chip-text{text-overflow:ellipsis;white-space:nowrap;font-size:var(--lumo-font-size-s);color:var(--lumo-body-text-color);min-width:0;font-weight:600;display:block;overflow:hidden}.operation-chip-dot{background:var(--lumo-contrast-30pct);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.operation-chip-dot.is-run{background:var(--lumo-primary-color)}.operation-chip-dot.is-ok{background:var(--lumo-success-color)}.operation-chip-dot.is-error{background:var(--lumo-error-color)}.operation-chip-dot-overlay{position:absolute;top:4px;right:4px}.operation-chip-icon{display:none;position:relative}.recent-ops-list{padding-right:var(--lumo-space-s);box-sizing:border-box;gap:0}.recent-ops-scroller{box-sizing:border-box;padding-right:2px}.recent-ops-row{padding:var(--lumo-space-s) var(--lumo-space-s) var(--lumo-space-s) 0;border-bottom:1px solid var(--lumo-contrast-10pct);box-sizing:border-box;align-items:center}.recent-ops-row:last-child{border-bottom:none}.recent-ops-row .operation-chip-dot{align-self:center;margin-top:0}.recent-ops-title{font-weight:600;font-size:var(--lumo-font-size-s);overflow-wrap:anywhere;line-height:1.3}.recent-ops-meta{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);line-height:1.3}.recent-ops-status{margin-right:var(--lumo-space-xs);flex-shrink:0}@media (width<=900px){.operation-chip{display:none!important}.operation-chip-icon{display:inline-flex!important}.host-stats-strip{font-size:var(--lumo-font-size-xxs)}.host-stats-sep{display:none}}.list-view-master-detail{background:var(--lumo-contrast-5pct);padding:var(--lumo-space-s);box-sizing:border-box}.list-view-split{gap:var(--lumo-space-s);min-width:0}.list-view-list-col,.env-detail-panel{background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);min-width:0;box-shadow:var(--lumo-box-shadow-xs);overflow:hidden}.list-view-list-col{padding:var(--lumo-space-xs);box-sizing:border-box}.env-detail-panel{box-sizing:border-box;padding:var(--lumo-space-m)!important}.env-detail-section-title{font-size:var(--lumo-font-size-s);letter-spacing:.02em;text-transform:uppercase;color:var(--lumo-secondary-text-color);font-weight:650;margin:var(--lumo-space-s) 0 var(--lumo-space-xs)!important}.env-apps-box,.env-apps-stack{gap:var(--lumo-space-m)}.env-app-section{padding:var(--lumo-space-m);padding-left:calc(var(--lumo-space-m) + 3px);background:var(--lumo-base-color);border-radius:var(--lumo-border-radius-l);border:1px solid var(--lumo-contrast-10pct);box-shadow:var(--lumo-box-shadow-xs);gap:var(--lumo-space-s);box-sizing:border-box;min-width:0;position:relative;overflow:hidden}.env-app-section:before{content:"";background:var(--lumo-contrast-30pct);width:3px;position:absolute;top:0;bottom:0;left:0}.env-app-section.is-running:before{background:var(--lumo-success-color)}.env-app-section.is-stopped:before{background:var(--lumo-contrast-30pct)}.env-app-section-head-row{gap:var(--lumo-space-s);min-width:0}.env-app-section-identity{gap:var(--lumo-space-s);flex:0 auto;min-width:0}.env-app-section-title-row{gap:var(--lumo-space-s);min-width:0}.env-app-section-name{font-weight:700;font-size:var(--lumo-font-size-l);letter-spacing:-.01em;flex-shrink:0;line-height:1.2}.env-app-state{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.4}.env-app-section.is-running .env-app-state{color:var(--lumo-success-contrast-color,#fff);background:var(--lumo-success-color)}.env-app-section.is-stopped .env-app-state{color:var(--lumo-secondary-text-color);background:var(--lumo-contrast-10pct)}.env-app-section-route-row{min-width:0;padding:var(--lumo-space-xs) var(--lumo-space-s);background:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m)}.env-app-route-icon{color:var(--lumo-tertiary-text-color);flex-shrink:0}.env-app-section-routing{font-size:var(--lumo-font-size-s);color:var(--lumo-body-text-color);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.env-app-section-metrics{gap:var(--lumo-space-s);padding-top:var(--lumo-space-xs);border-top:1px solid var(--lumo-contrast-10pct);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2px;display:grid!important}.env-app-metric{min-width:0;padding:var(--lumo-space-xs) var(--lumo-space-s);background:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m)}.env-app-metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--lumo-secondary-text-color);margin-bottom:4px;font-size:10px;font-weight:650;display:block}.env-app-version-badge{text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:7.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:10px;overflow:hidden}.env-app-uptime{font-size:var(--lumo-font-size-xs);color:var(--lumo-secondary-text-color);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.env-app-section-actions{min-width:0;margin-top:var(--lumo-space-xs);padding:var(--lumo-space-s);box-sizing:border-box;border-top:1px solid var(--lumo-contrast-10pct);background:var(--lumo-contrast-5pct);border-radius:var(--lumo-border-radius-m);flex-wrap:wrap;align-items:center;gap:var(--lumo-space-s)!important}.env-app-section-actions-primary,.env-app-section-actions-secondary{flex-wrap:wrap;flex-shrink:0;gap:var(--lumo-space-xs)!important}.env-app-section-actions-spacer{flex:auto;min-width:.5rem}.env-app-action-btn{cursor:pointer;margin:0}.env-app-action-update{font-weight:650;color:var(--lumo-success-contrast-color,#fff)!important}.env-app-action-update vaadin-icon{color:inherit}.env-app-section vaadin-progress-bar{flex-shrink:0;max-width:36px;width:36px!important}.env-detail-history-grid{background:var(--lumo-base-color);border:1px solid var(--lumo-contrast-10pct);border-radius:var(--lumo-border-radius-l);font-size:var(--lumo-font-size-xs);overflow:hidden}.env-detail-history-grid::part(cell),.env-detail-history-grid::part(header-cell){font-size:var(--lumo-font-size-xs)}.history-view-grid,.history-view-grid::part(cell),.history-view-grid::part(header-cell){font-size:var(--lumo-font-size-s)}@media (width<=900px){.list-view-master-detail.has-selection .list-view-list-col,.list-view-master-detail:not(.has-selection) .env-detail-panel{display:none!important}.list-view-master-detail .env-detail-panel{width:100%!important}.env-app-action-btn::part(label){display:none}.env-app-action-btn{min-width:2rem!important;padding:.25rem!important}.env-app-section-metrics{grid-template-columns:1fr!important}}@media (width>=901px){.env-detail-back{display:none!important}}.compose-yaml-editor{flex:auto;min-height:20rem}.compose-yaml-editor::part(input-field){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.45}
