html{color-scheme: light;--aura-background-color-light: #eef1f5;--aura-accent-color-light: #1fb9b3;--aura-accent-color-dark: #1fb9b3}:root{--ecfg-accent: #1fb9b3;--ecfg-accent-dark: #178f8b;--ecfg-accent-contrast: #ffffff;--ecfg-accent-soft: rgba(31,185,179,0.12);--ecfg-sidebar-bg: #1c2635;--ecfg-sidebar-bg-alt: #212c3d;--ecfg-sidebar-fg: #93a1b7;--ecfg-sidebar-fg-active: #ffffff;--ecfg-content-bg: var(--aura-background-color-light);--ecfg-surface: #ffffff;--ecfg-border: #e1e5eb;--ecfg-text: #29303e;--ecfg-text-secondary: #8892a0;--ecfg-text-muted: #aab2c0;--ecfg-danger: #e0526b;--ecfg-grid-header-bg: #37475c;--ecfg-grid-header-fg: #ffffff;--ecfg-grid-row-hover: #f1f8f8;--ecfg-grid-row-selected: #e2f7f5;--ecfg-radius-s: 4px;--ecfg-radius-m: 8px;--ecfg-radius-l: 14px;--ecfg-shadow-s: 0 1px 2px rgba(15,23,42,0.07);--ecfg-shadow-m: 0 6px 20px rgba(15,23,42,0.09);--ecfg-gap-xs: 4px;--ecfg-gap-s: 8px;--ecfg-gap-m: 16px;--ecfg-gap-l: 24px;--ecfg-nav-width: 104px;--ecfg-card-list-width: 288px}.ecfg-root{background: var(--ecfg-content-bg);color: var(--ecfg-text)}.ecfg-body{min-height: 0}.ecfg-toolbar{background: var(--ecfg-surface);border-bottom: 1px solid var(--ecfg-border);box-shadow: var(--ecfg-shadow-s);padding: var(--ecfg-gap-s) var(--ecfg-gap-l);gap: var(--ecfg-gap-m);box-sizing: border-box;z-index: 2}.ecfg-module-cards.ecfg-card-list-horizontal{width: 100%;background: transparent;border: none;box-shadow: none;padding: 0;flex-shrink: 1;min-width: 0}vaadin-button.ecfg-icon-btn{border-radius: var(--ecfg-radius-m);border: 1px solid var(--ecfg-border);background: var(--ecfg-surface);color: var(--ecfg-text-secondary);width: 2.5rem;height: 2.5rem;min-width: 2.5rem;padding: 0}vaadin-button.ecfg-icon-btn:hover{color: var(--ecfg-accent-dark);border-color: var(--ecfg-accent);background: var(--ecfg-accent-soft)}vaadin-button.ecfg-icon-btn.ecfg-icon-btn-danger:hover{color: var(--ecfg-danger);border-color: var(--ecfg-danger);background: rgba(224,82,107,0.1)}.ecfg-nav{width: var(--ecfg-nav-width);flex: none;background: var(--ecfg-sidebar-bg);display: flex;flex-direction: column;align-items: stretch;overflow-y: auto;overflow-x: hidden}.ecfg-nav-brand{display: flex;align-items: center;justify-content: center;gap: 6px;padding: var(--ecfg-gap-m) var(--ecfg-gap-s);color: var(--ecfg-accent);font-weight: 700;font-size: 1.05rem;letter-spacing: 0.03em;border-bottom: 1px solid var(--ecfg-sidebar-bg-alt);margin-bottom: var(--ecfg-gap-s)}vaadin-button.ecfg-nav-item{width: 100%;height: auto;min-width: 0;border-radius: 0;background: transparent;color: var(--ecfg-sidebar-fg);border-inline-start: 3px solid transparent;padding: var(--ecfg-gap-s) var(--ecfg-gap-xs);margin: 0}vaadin-button.ecfg-nav-item::part(prefix){width: 100%;margin: 0}.ecfg-nav-item-content{display: flex;flex-direction: column;align-items: center;gap: 4px;width: 100%;white-space: normal;text-align: center}.ecfg-nav-item-label{font-size: 0.6875rem;line-height: 1.2}.ecfg-nav-item-icon{width: 20px;height: 20px}vaadin-button.ecfg-nav-item:hover{color: var(--ecfg-sidebar-fg-active);background: var(--ecfg-sidebar-bg-alt)}vaadin-button.ecfg-nav-item.ecfg-nav-item-active{color: var(--ecfg-sidebar-fg-active);background: var(--ecfg-accent);border-inline-start-color: var(--ecfg-accent-dark)}.ecfg-section-container{min-width: 0}.ecfg-section{padding: var(--ecfg-gap-m);gap: var(--ecfg-gap-m);box-sizing: border-box;min-height: 0;min-width: 0}.ecfg-section-center{min-width: 0;min-height: 0}.ecfg-card-list{width: var(--ecfg-card-list-width);flex: none;background: var(--ecfg-surface);border: 1px solid var(--ecfg-border);border-radius: var(--ecfg-radius-m);box-shadow: var(--ecfg-shadow-s);box-sizing: border-box;padding: var(--ecfg-gap-s);display: flex;flex-direction: column;gap: 4px;overflow-y: auto}.ecfg-card-list-title{font-size: 0.6875rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.06em;color: var(--ecfg-text-muted);padding: var(--ecfg-gap-xs) var(--ecfg-gap-s) var(--ecfg-gap-xs)}.ecfg-card-list-empty{padding: var(--ecfg-gap-s);color: var(--ecfg-text-secondary);font-size: 0.875rem}.ecfg-card-list-horizontal{width: 100%;flex: none;background: var(--ecfg-surface);border: 1px solid var(--ecfg-border);border-radius: var(--ecfg-radius-m);box-shadow: var(--ecfg-shadow-s);box-sizing: border-box;padding: var(--ecfg-gap-s);display: flex;flex-direction: row;align-items: start;justify-content: start;gap: var(--ecfg-gap-s);overflow-x: auto}.ecfg-card-list-horizontal .ecfg-card-list-title{display: flex;align-items: center;padding: 0 var(--ecfg-gap-s) 0 0;white-space: nowrap}.ecfg-tabs-header{flex: none;gap: 2px;padding-inline-end: var(--ecfg-gap-s)}vaadin-button.ecfg-tabs-toggle{padding: 0;margin: 0;min-width: 0;height: auto;color: var(--ecfg-accent-dark);font-weight: 600}.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card{width: auto;min-width: 160px;flex: none}vaadin-button.ecfg-entity-card{width: 100%;height: auto;min-width: 0;justify-content: flex-start;background: transparent;border: 1px solid transparent;border-radius: var(--ecfg-radius-s);padding: var(--ecfg-gap-s) 10px;margin: 0}vaadin-button.ecfg-entity-card::part(prefix){width: 100%;margin: 0}.ecfg-entity-card-content{display: flex;flex-direction: column;align-items: flex-start;gap: 2px;width: 100%;white-space: normal;text-align: left}.ecfg-entity-card-title{font-weight: 600;font-size: 0.875rem;color: var(--ecfg-text)}.ecfg-entity-card-sub{font-size: 0.75rem;color: var(--ecfg-text-secondary)}vaadin-button.ecfg-entity-card:hover{background: #f2f6f7}vaadin-button.ecfg-entity-card.ecfg-entity-card-active{background: var(--ecfg-accent-soft);border-color: var(--ecfg-accent)}vaadin-button.ecfg-entity-card.ecfg-entity-card-active .ecfg-entity-card-title{color: var(--ecfg-accent-dark)}vaadin-button.ecfg-entity-card.ecfg-entity-card-highlighted{background: var(--ecfg-accent-soft);border-color: var(--ecfg-accent)}vaadin-button.ecfg-entity-card.ecfg-entity-card-highlighted .ecfg-entity-card-title{color: var(--ecfg-accent-dark)}.ecfg-entity-card-row{position: relative;width: 100%}.ecfg-card-list-horizontal .ecfg-entity-card-row{width: auto;flex: none}vaadin-button.ecfg-entity-card.ecfg-entity-card-actionable{min-height: 4.5rem;padding-inline-end: 4rem}vaadin-button.ecfg-entity-card.ecfg-entity-card-has-info{min-height: 4.5rem;padding-inline-end: 6.5rem}.ecfg-entity-card-actions{position: absolute;top: 50%;transform: translateY(-50%);inset-inline-end: 6px;display: flex;flex-direction: row;align-items: center;gap: 4px;pointer-events: none}.ecfg-entity-card-actions vaadin-button{pointer-events: auto}vaadin-button.ecfg-entity-card-action{width: 1.75rem;height: 1.75rem;min-width: 0}vaadin-button.ecfg-entity-card-action.ecfg-entity-card-action-danger:hover{color: var(--ecfg-danger)}.ecfg-entity-card-info{position: absolute;top: 6px;bottom: 6px;inset-inline-end: 10px;width: 6rem;display: flex;flex-direction: column;justify-content: space-between;align-items: flex-end;text-align: right;pointer-events: none}.ecfg-entity-card-info-top,.ecfg-entity-card-info-bottom{font-size: 0.75rem;color: var(--ecfg-text-secondary);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;max-width: 100%}vaadin-master-detail-layout.ecfg-md{flex: 1 1 auto;min-width: 0;background: var(--ecfg-surface);border: 1px solid var(--ecfg-border);border-radius: var(--ecfg-radius-m);box-shadow: var(--ecfg-shadow-s);overflow: hidden;--vaadin-master-detail-layout-border-color: var(--ecfg-border)}vaadin-grid.ecfg-grid{--vaadin-grid-header-text-color: var(--ecfg-grid-header-fg);--vaadin-grid-row-hover-background-color: var(--ecfg-grid-row-hover);--vaadin-grid-row-selected-background-color: var(--ecfg-grid-row-selected);--vaadin-grid-border-color: var(--ecfg-border);--vaadin-grid-background: var(--ecfg-surface);border: none}vaadin-grid.ecfg-grid::part(header-cell){background: var(--ecfg-grid-header-bg);font-weight: 600}.ecfg-detail{box-sizing: border-box;padding: var(--ecfg-gap-m);height: 100%;overflow-y: auto}.ecfg-detail vaadin-text-field::part(input-field){box-sizing: border-box;height: 2.5rem}.ecfg-detail vaadin-combo-box::part(input-field){box-sizing: border-box;height: 2.5rem}.ecfg-detail-header{flex-wrap: wrap;row-gap: var(--ecfg-gap-xs);margin: 0 0 var(--ecfg-gap-s)}.ecfg-detail-title{font-weight: 700;font-size: 0.9375rem;color: var(--ecfg-text);margin-inline-end: var(--ecfg-gap-s)}.ecfg-detail-actions-left,.ecfg-detail-actions-right{gap: var(--ecfg-gap-xs);flex-wrap: wrap}vaadin-button.ecfg-detail-action{min-width: 0}vaadin-button.ecfg-add-btn{min-width: 0;white-space: nowrap}.ecfg-tabs-groups-actions{flex: none;gap: var(--ecfg-gap-s)}.ecfg-tabs-groups-panel{background: var(--ecfg-surface);border: 1px solid var(--ecfg-border);border-radius: var(--ecfg-radius-m);box-shadow: var(--ecfg-shadow-s);box-sizing: border-box;padding: var(--ecfg-gap-s)}.ecfg-tabs-groups-panel .ecfg-card-list-horizontal{background: transparent;border: none;box-shadow: none;padding: 0}.ecfg-tab-cards.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card{min-width: 0;width: auto;padding-inline-start: calc(10px + 6px)}.ecfg-tab-cards.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card.ecfg-entity-card-actionable{padding-inline-end: calc(4rem + 6px)}.ecfg-tab-cards .ecfg-entity-card-content{white-space: nowrap;justify-content: center}.ecfg-tab-cards.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card.ecfg-entity-card-actionable,.ecfg-module-cards.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card.ecfg-entity-card-actionable{min-height: 0}.ecfg-module-cards.ecfg-card-list-horizontal vaadin-button.ecfg-entity-card{min-width: 220px}.ecfg-group-cards .ecfg-entity-card-actions{top: 6px;bottom: 6px;transform: none;flex-direction: column;align-items: stretch;justify-content: space-between;gap: 0}.ecfg-group-cards vaadin-button.ecfg-entity-card.ecfg-entity-card-actionable{padding-inline-end: 2.5rem}vaadin-button.ecfg-field-inline-btn{width: 1.75rem;height: 1.75rem;min-width: 0;padding: 0;margin: 0;border: none;background: transparent;color: var(--ecfg-text-secondary)}vaadin-button.ecfg-field-inline-btn:hover{color: var(--ecfg-accent-dark);background: var(--ecfg-accent-soft)}vaadin-dialog-overlay.ecfg-module-dialog::part(overlay){border-radius: var(--ecfg-radius-l)}vaadin-button.ecfg-dialog-close-btn{width: 1.75rem;height: 1.75rem;min-width: 0;padding: 0;margin: 0;border: none;background: transparent;color: var(--ecfg-text-secondary)}vaadin-button.ecfg-dialog-close-btn:hover{color: var(--ecfg-accent-dark);background: var(--ecfg-accent-soft)}.ecfg-dialog-footer{display: flex;justify-content: flex-end;gap: var(--ecfg-gap-s);padding-top: var(--ecfg-gap-s)}.ecfg-dialog-search{gap: var(--ecfg-gap-s);padding-bottom: var(--ecfg-gap-s)}