:root{--font-family-base: "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono: "Cascadia Code", "Fira Code", Consolas, ui-monospace, monospace;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 20px;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-active: #1e40af;--color-primary-soft: #eff6ff;--color-primary-border: #bfdbfe;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .14);--color-success: #16a34a;--color-success-soft: #f0fdf4;--color-success-border: #bbf7d0;--color-danger: #dc2626;--color-danger-hover: #b91c1c;--color-danger-soft: #fef2f2;--color-danger-border: #fecaca;--color-warning: #d97706;--color-warning-soft: #fffbeb;--color-warning-border: #fde68a;--color-bg: #f4f6fa;--color-surface: #ffffff;--color-surface-soft: #f8fafc;--color-border: #e2e8f0;--color-border-strong:#cbd5e1;--color-text: #0f172a;--color-text-secondary:#334155;--color-text-muted: #64748b;--color-text-subtle: #94a3b8;--color-overlay: rgba(15, 23, 42, .5);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .05);--shadow-lg: 0 16px 40px rgba(15, 23, 42, .14), 0 4px 12px rgba(15, 23, 42, .08);--space-2: 6px;--space-4: 10px;--space-5: 12px;--space-6: 14px;--space-7: 16px;--space-8: 18px;--space-9: 20px;--space-10: 24px;--topbar-height: 56px;--sidebar-width: 280px;--control-height: 36px;--control-height-sm: 30px;--bs-border-radius-lg: var(--radius-lg);--bs-dropdown-border-radius: var(--radius-lg);--bs-modal-border-radius: var(--radius-xl)}*,*:before,*:after{box-sizing:border-box}html{font-size:87.5%}html,.app,body{margin:0;padding:0;min-height:100%;font-family:var(--font-family-base)!important;background-color:var(--color-bg);color:var(--color-text)}body{min-height:100vh;overflow-x:hidden;font-size:var(--text-md);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.01em}.app-shell{min-height:100vh;width:100%}.main{min-width:0;width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);transition:margin-left .2s ease,width .2s ease}.page{width:100%;max-width:none;padding:var(--space-10)}.page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-7);margin-bottom:var(--space-9)}.page__title,.page-header__title{margin:0;font-size:var(--text-xl);font-weight:650;line-height:1.25;color:var(--color-text)}.page__subtitle,.page-header__subtitle{margin:var(--space-2) 0 0;font-size:var(--text-md);color:var(--color-text-muted)}.grid{display:grid;gap:var(--space-7)}.grid--stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid--two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2);min-width:180px}.field label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.stack{display:flex;flex-direction:column;gap:var(--space-7)}.small{font-size:var(--text-sm);color:var(--color-text-muted)}.empty-state{padding:30px var(--space-8);text-align:center;color:var(--color-text-muted)}.kpi-positive{font-weight:700;color:var(--color-success)}.kpi-negative{font-weight:700;color:var(--color-danger)}.stat-card__label{font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.stat-card__value{margin-top:4px;font-size:24px;font-weight:700;line-height:1.2;color:var(--color-text);font-variant-numeric:tabular-nums}.stat-card__meta{margin-top:4px;font-size:var(--text-sm);color:var(--color-text-muted)}.form-label{margin-bottom:5px;font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.form-control,.form-select{min-height:var(--control-height);padding:.375rem .65rem;font-size:var(--text-md);color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);transition:border-color .14s ease,box-shadow .14s ease}.form-control:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus){border-color:var(--color-text-subtle)}.form-control:focus,.form-select:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.form-control:disabled,.form-select:disabled{background-color:var(--color-surface-soft);color:var(--color-text-muted)}.form-control::placeholder{color:var(--color-text-subtle)}.form-text{font-size:var(--text-sm);color:var(--color-text-muted)}.form-check-input{border-color:var(--color-border-strong)}.form-check-input:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.form-check-input:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:.3rem 1rem;font-size:var(--text-md);font-weight:500;letter-spacing:.01em;border-radius:var(--radius-md);transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn-sm{min-height:var(--control-height-sm);padding:.2rem .75rem;font-size:var(--text-sm)}.btn-primary{--bs-btn-bg: var(--color-primary);--bs-btn-border-color: var(--color-primary);--bs-btn-hover-bg: var(--color-primary-hover);--bs-btn-hover-border-color: var(--color-primary-hover);--bs-btn-active-bg: var(--color-primary-active);--bs-btn-active-border-color: var(--color-primary-active);--bs-btn-disabled-bg: #93b4f5;--bs-btn-disabled-border-color: #93b4f5;box-shadow:var(--shadow-xs)}.btn-secondary,.btn-light{--bs-btn-bg: var(--color-surface);--bs-btn-color: var(--color-text-secondary);--bs-btn-border-color: var(--color-border-strong);--bs-btn-hover-bg: var(--color-surface-soft);--bs-btn-hover-color: var(--color-text);--bs-btn-hover-border-color: var(--color-text-subtle);--bs-btn-active-bg: #eef2f7;--bs-btn-active-color: var(--color-text);--bs-btn-active-border-color: var(--color-text-subtle);box-shadow:var(--shadow-xs)}.btn-outline-secondary{--bs-btn-color: var(--color-text-secondary);--bs-btn-border-color: var(--color-border-strong);--bs-btn-hover-bg: var(--color-surface-soft);--bs-btn-hover-color: var(--color-text);--bs-btn-hover-border-color: var(--color-text-subtle);--bs-btn-active-bg: #eef2f7;--bs-btn-active-color: var(--color-text);--bs-btn-active-border-color: var(--color-text-subtle)}.btn-danger{--bs-btn-bg: var(--color-danger);--bs-btn-border-color: var(--color-danger);--bs-btn-hover-bg: var(--color-danger-hover);--bs-btn-hover-border-color: var(--color-danger-hover);--bs-btn-active-bg: #991b1b;--bs-btn-active-border-color: #991b1b}.btn-success{--bs-btn-bg: var(--color-success);--bs-btn-border-color: var(--color-success);--bs-btn-hover-bg: #15803d;--bs-btn-hover-border-color: #15803d}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-xs)}.card-header{padding:.875rem 1.25rem;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);border-top-left-radius:calc(var(--radius-lg) - 1px)!important;border-top-right-radius:calc(var(--radius-lg) - 1px)!important;font-size:var(--text-md);font-weight:600;color:var(--color-text)}.card-body{padding:1.25rem}.card-title{font-size:var(--text-md);font-weight:600;color:var(--color-text)}.card__header{padding:.875rem 1.25rem;border-bottom:1px solid var(--color-border)}.card__title{margin:0;font-size:var(--text-md);font-weight:600;color:var(--color-text)}.card__body{padding:1.25rem}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;border-radius:999px;border:1px solid transparent}.badge.bg-success{background-color:var(--color-success-soft)!important;border-color:var(--color-success-border);color:#166534!important}.badge.bg-danger{background-color:var(--color-danger-soft)!important;border-color:var(--color-danger-border);color:#991b1b!important}.badge.bg-warning{background-color:var(--color-warning-soft)!important;border-color:var(--color-warning-border);color:#854d0e!important}.badge.bg-info,.badge.bg-primary{background-color:var(--color-primary-soft)!important;border-color:var(--color-primary-border);color:#1e40af!important}.badge.bg-secondary{background-color:var(--color-surface-soft)!important;border-color:var(--color-border-strong);color:var(--color-text-secondary)!important}.dropdown-menu{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:4px;font-size:var(--text-md)}.dropdown-item{border-radius:var(--radius-sm);padding:7px 10px}.dropdown-item:hover{background-color:var(--color-surface-soft)}.nav-tabs{border-bottom:1px solid var(--color-border);gap:2px}.nav-tabs .nav-link{margin-bottom:-1px;padding:9px 14px;font-size:var(--text-md);font-weight:500;color:var(--color-text-muted);background:transparent;border:0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease}.nav-tabs .nav-link:hover{color:var(--color-text);border-color:transparent}.nav-tabs .nav-link.active{color:var(--color-primary);font-weight:600;background:transparent;border:0;border-bottom:2px solid var(--color-primary)}.nav-tabs .nav-link:focus{box-shadow:none}:root{--table-brand: var(--color-primary);--table-brand-light: var(--color-primary-soft);--table-header-bg: var(--color-surface-soft);--table-header-text: var(--color-text-secondary);--table-row-height: 40px;--table-header-height: 42px;--table-font-size: 13px;--table-border: var(--color-border);--table-row-hover: #f5f8fd;--table-row-selected: var(--color-primary-soft);--table-row-selected-border: var(--color-primary);--table-radius: 0px}.app-table{width:100%;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border);background:var(--color-surface)}.app-table{--ag-background-color: #ffffff;--ag-foreground-color: var(--color-text);--ag-border-color: var(--table-border);--ag-secondary-border-color: #f1f5f9;--ag-row-border-color: #f1f5f9;--ag-header-background-color: var(--table-header-bg);--ag-header-foreground-color: var(--table-header-text);--ag-header-column-separator-color: var(--table-border);--ag-header-column-resize-handle-color: var(--table-brand);--ag-row-hover-color: var(--table-row-hover);--ag-selected-row-background-color: var(--table-row-selected);--ag-font-family: var(--font-family-base);--ag-font-size: var(--table-font-size);--ag-row-height: var(--table-row-height);--ag-header-height: var(--table-header-height);--ag-cell-horizontal-padding: 14px;--ag-checkbox-checked-color: var(--table-brand);--ag-checkbox-unchecked-color: var(--color-border-strong);--ag-checkbox-background-color: #ffffff;--ag-input-focus-border-color: var(--table-brand);--ag-input-border-color: var(--color-border-strong);--ag-input-border-color-invalid: var(--color-danger);--ag-range-selection-border-color: var(--table-brand);--ag-range-selection-background-color: rgba(37, 99, 235, .06);--ag-pagination-button-color: var(--table-brand);--ag-odd-row-background-color: #ffffff;--ag-material-primary-color: var(--table-brand);--ag-material-accent-color: var(--table-brand);--ag-header-column-separator-display: block}.app-table .ag-header{border-bottom:1px solid var(--table-border)!important}.app-table .ag-header-cell-text{color:var(--color-text-muted)!important;font-weight:600!important;font-size:11px!important;text-transform:uppercase;letter-spacing:.05em}.app-table .ag-header-cell:after{display:none!important}.app-table .ag-row{border-bottom:1px solid #f1f5f9!important;transition:background-color 80ms ease!important}.app-table .ag-row:last-child{border-bottom:none!important}.app-table .ag-row-hover{background-color:var(--table-row-hover)!important}.app-table .ag-row-selected{background-color:var(--table-row-selected)!important;border-left:2px solid var(--table-row-selected-border)!important}.app-table .ag-cell{line-height:var(--table-row-height)!important;color:var(--color-text)}.app-table .ag-cell:focus{outline:none!important;border:1px solid rgba(37,99,235,.3)!important}.app-table .ag-checkbox-input-wrapper{border-radius:4px!important}.app-table .ag-checkbox-input-wrapper.ag-checked{background-color:var(--table-brand)!important;border-color:var(--table-brand)!important}.app-table .ag-floating-filter-input{border-radius:var(--radius-sm)!important;border:1px solid var(--color-border-strong)!important;font-size:12px!important;padding:4px 8px!important}.app-table .ag-floating-filter-input:focus{border-color:var(--table-brand)!important;box-shadow:var(--focus-ring)!important}.app-table .ag-paging-panel{border-top:1px solid var(--table-border)!important;background:var(--color-surface-soft)!important;font-size:12px!important;color:var(--color-text-muted)!important;padding:8px 16px!important;min-height:44px!important}.app-table .ag-paging-button{border-radius:var(--radius-sm)!important;transition:background .12s ease!important}.app-table .ag-paging-button:not(.ag-disabled):hover{background:var(--table-brand-light)!important;color:var(--table-brand)!important}.app-table .ag-paging-button.ag-disabled{opacity:.35!important}.app-table .ag-header-cell-resize:after{background-color:var(--table-border)!important;width:1px!important}.app-table .ag-sort-indicator-icon{color:var(--table-brand)!important}.app-table .ag-overlay-no-rows-wrapper{font-size:13px!important;color:var(--color-text-subtle)!important}.app-table .ag-body-horizontal-scroll::-webkit-scrollbar,.app-table .ag-body-viewport::-webkit-scrollbar{width:6px;height:6px}.app-table .ag-body-horizontal-scroll::-webkit-scrollbar-thumb,.app-table .ag-body-viewport::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:3px}.app-table .ag-body-horizontal-scroll::-webkit-scrollbar-thumb:hover,.app-table .ag-body-viewport::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}.ag-popup .ag-menu{border-radius:var(--radius-md)!important;border:1px solid var(--table-border)!important;box-shadow:var(--shadow-md)!important;overflow:hidden!important;font-size:13px!important}.ag-popup .ag-menu-option-active{background:var(--table-row-hover)!important}.app-table .ag-loading-text{font-size:13px!important;color:var(--color-text-subtle)!important}.app-breadcrumb{background:transparent;border-bottom:1px solid rgba(15,23,42,.06)}.app-breadcrumb__nav{display:flex;align-items:center;min-height:28px}.app-breadcrumb__list{background:transparent;padding:0;margin:0;font-size:var(--text-sm)}.app-breadcrumb .breadcrumb-item{color:var(--color-text-muted)}.app-breadcrumb .breadcrumb-item+.breadcrumb-item:before{color:var(--color-text-subtle)}.app-breadcrumb__link{color:var(--color-text-muted);text-decoration:none;transition:color .15s ease-in-out}.app-breadcrumb__link:hover{color:var(--color-text);text-decoration:none}.app-breadcrumb__current{color:var(--color-text)!important;font-weight:500}.capacity-planner-timeline__host{overflow:overlay!important}.capacity-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;min-height:0;box-shadow:var(--shadow-xs)}.capacity-panel__header{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.vis-timeline{border-radius:var(--radius-sm);border:none!important}.vis-panel.vis-top{border-top-left-radius:inherit;border-top-right-radius:inherit}.vis-panel.vis-left{border-bottom-left-radius:inherit}.vis-panel.vis-center{border-bottom-right-radius:inherit}.capacity-planner-timeline__tooltip{max-width:360px}.capacity-planner-timeline__tooltip-card{min-width:280px;max-width:360px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;font-size:13px;color:var(--color-text)}.capacity-planner-timeline__tooltip-header{padding:12px 14px;background:var(--color-surface-soft);border-bottom:1px solid var(--color-border)}.capacity-planner-timeline__tooltip-title{font-size:14px;font-weight:600;color:var(--color-text);line-height:1.3}.capacity-planner-timeline__tooltip-body{padding:10px 14px 12px}.capacity-planner-timeline__tooltip-row+.capacity-planner-timeline__tooltip-row{margin-top:10px}.capacity-planner-timeline__tooltip-label{font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:3px}.capacity-planner-timeline__tooltip-value{font-size:13px;color:var(--color-text);line-height:1.4;word-break:break-word}.grid-admin-page{gap:18px}.grid-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.grid-admin-title-block{min-width:0}.grid-admin-kicker{font-size:var(--text-sm);font-weight:650;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.045em;margin-bottom:4px}.grid-admin-title{margin:0;color:var(--color-text);font-size:var(--text-xl);font-weight:650;line-height:1.25}.grid-admin-subtitle{color:var(--color-text-muted);font-size:var(--text-md);margin-top:4px}.grid-admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.grid-admin-tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-border)}.grid-admin-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-text-muted);padding:9px 14px;font-size:var(--text-md);font-weight:500;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease}.grid-admin-tab:hover{color:var(--color-text)}.grid-admin-tab--active{color:var(--color-primary);font-weight:600;border-bottom-color:var(--color-primary)}.grid-admin-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}.grid-admin-section__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.grid-admin-section__title-block{min-width:0}.grid-admin-section__title{color:var(--color-text);font-size:var(--text-md);font-weight:600;margin:0}.grid-admin-section__description{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:3px}.grid-admin-section__actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.grid-admin-section__actions-row{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.grid-admin-section__body{padding:16px}.grid-admin-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}.grid-admin-field{display:flex;flex-direction:column;gap:6px}.grid-admin-field--span-3{grid-column:span 3}.grid-admin-field--span-4{grid-column:span 4}.grid-admin-field--span-6{grid-column:span 6}.grid-admin-field--span-12{grid-column:span 12}.grid-admin-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.grid-admin-control{width:100%;min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);padding:8px 10px;font-size:var(--text-md);outline:none;transition:border-color .14s ease,box-shadow .14s ease}.grid-admin-control:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.grid-admin-control:disabled{background:var(--color-surface-soft);color:var(--color-text-muted)}.grid-admin-control--mono{font-family:var(--font-family-mono);font-size:var(--text-sm);line-height:1.5}.grid-admin-switch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.grid-admin-switch{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.grid-admin-switch input{margin-top:2px}.grid-admin-switch__title{color:var(--color-text);font-size:var(--text-md);font-weight:600}.grid-admin-switch__hint{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.grid-admin-table-wrap{width:100%;overflow:auto}.grid-admin-table{width:100%;margin:0;border-collapse:separate;border-spacing:0}.grid-admin-table th{color:var(--color-text-muted);background:var(--color-surface-soft);font-size:var(--text-xs);font-weight:650;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:10px 12px}.grid-admin-table td{color:var(--color-text);font-size:var(--text-md);vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 12px}.grid-admin-table tr:last-child td{border-bottom:0}.grid-admin-table tr:hover td{background:var(--color-surface-soft)}.grid-admin-code{font-family:var(--font-family-mono);font-size:var(--text-sm);color:var(--color-text)}.grid-admin-muted{color:var(--color-text-muted)}.grid-admin-badge{display:inline-flex;align-items:center;gap:4px;min-height:22px;border:1px solid var(--color-border-strong);border-radius:999px;padding:2px 8px;color:var(--color-text-secondary);background:var(--color-surface);font-size:var(--text-xs);font-weight:600;white-space:nowrap}.grid-admin-badge--active{color:#166534;border-color:var(--color-success-border);background:var(--color-success-soft)}.grid-admin-badge--inactive{color:#991b1b;border-color:var(--color-danger-border);background:var(--color-danger-soft)}.grid-admin-badge--system{color:#1e40af;border-color:var(--color-primary-border);background:var(--color-primary-soft)}.grid-admin-badge--email{color:#854d0e;border-color:var(--color-warning-border);background:var(--color-warning-soft)}.grid-admin-badge--grid{color:#155e75;border-color:#a5f3fc;background:#ecfeff}.grid-admin-badge--protected{color:#7f1d1d;border-color:var(--color-danger-border);background:var(--color-danger-soft)}.grid-admin-alert{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-soft);margin-bottom:12px;padding:11px 12px}.grid-admin-alert--info{border-color:var(--color-primary-border);background:var(--color-primary-soft)}.grid-admin-alert--danger{border-color:var(--color-danger-border);background:var(--color-danger-soft)}.grid-admin-alert__title{color:var(--color-text);font-size:var(--text-md);font-weight:600;margin-bottom:3px}.grid-admin-alert__text{color:var(--color-text-muted);font-size:var(--text-sm);line-height:1.45}.grid-admin-check{color:#166534;font-weight:800}.grid-admin-dash{color:var(--color-text-subtle)}.grid-admin-row-actions{display:inline-flex;justify-content:flex-end;gap:6px}.grid-admin-empty{padding:28px 16px;color:var(--color-text-muted);text-align:center;font-size:var(--text-md)}.grid-admin-explanation-section{border-bottom:1px solid var(--color-border);padding-bottom:16px}.grid-admin-explanation-section:last-child{border-bottom:0;padding-bottom:0}.grid-admin-explanation-title{color:var(--color-text);font-size:var(--text-md);font-weight:600;margin-bottom:8px}.grid-admin-explanation-section p{color:var(--color-text-muted);font-size:var(--text-md);margin-bottom:7px}@media(max-width:900px){.grid-admin-field--span-3,.grid-admin-field--span-4,.grid-admin-field--span-6{grid-column:span 12}.grid-admin-switch-grid{grid-template-columns:1fr}}@media(max-width:980px){:root{--sidebar-width: 0px}.main{width:100%;margin-left:0}.topbar{padding-inline:var(--space-7)}.page{padding:var(--space-7)}}@media(max-width:767px){html,body{font-size:100%}.page{padding:var(--space-7) var(--space-5)}.page__header{flex-direction:column;align-items:flex-start}.page__title{font-size:var(--text-lg)}.page__header .d-flex.gap-2,.page__header .d-flex.flex-wrap{width:100%;justify-content:stretch}.row>[class*=col-md-]{width:100%!important;flex:0 0 100%!important;max-width:100%!important}.card-body{padding:1rem!important}.card-header{padding:.875rem 1rem .75rem!important}.grid--stats,.grid--two{grid-template-columns:1fr}.filters{flex-direction:column;align-items:stretch}.filters .field,.filters>*{min-width:0;width:100%}.form-grid{grid-template-columns:1fr}.nav-tabs,.nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:1px}.nav-tabs .nav-link,.nav .nav-link{white-space:nowrap}.d-flex.gap-2.flex-wrap.align-items-center{flex-wrap:wrap}.capacity-filter-bar{grid-template-columns:1fr!important}.app-btn{flex:1 1 auto;min-width:80px}.pm-kpi-grid,.db-kpi-row{grid-template-columns:1fr 1fr}.app-table{border-radius:var(--radius-md);overflow-x:auto;-webkit-overflow-scrolling:touch;--ag-font-size: 12px;--ag-row-height: 36px;--ag-header-height: 38px;--ag-cell-horizontal-padding: 10px}.app-table .ag-paging-panel{flex-wrap:wrap;gap:4px;padding:6px 10px!important;font-size:11px!important}}@media(max-width:400px){.pm-kpi-grid,.db-kpi-row{grid-template-columns:1fr}.app-btn{width:100%;justify-content:center}}.ts-control{border:1px solid var(--bs-border-color);padding:.375rem .75rem;width:100%;overflow:hidden;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:var(--bs-border-radius);display:flex;flex-wrap:wrap}.ts-wrapper.multi.has-items .ts-control{padding:calc(.375rem - 1px + -0) .75rem calc(.375rem - 4px + -0)}.full .ts-control{background-color:var(--bs-body-bg)}.disabled .ts-control,.disabled .ts-control *{cursor:default!important}.focus .ts-control{box-shadow:none}.ts-control>*{vertical-align:baseline;display:inline-block}.ts-wrapper.multi .ts-control>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#343a40;border:0 solid #dee2e6;overflow:auto}.ts-wrapper.multi .ts-control>div.active{background:#0d6efd;color:#fff;border:0 solid rgba(0,0,0,0)}.ts-wrapper.multi.disabled .ts-control>div,.ts-wrapper.multi.disabled .ts-control>div.active{color:#878787;background:#fff;border:0 solid white}.ts-control>input{flex:1 1 auto;min-width:7rem;display:inline-block!important;padding:0!important;min-height:0!important;max-height:none!important;max-width:100%!important;margin:0!important;text-indent:0!important;border:0 none!important;background:none!important;line-height:inherit!important;-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important;box-shadow:none!important}.ts-control>input::-ms-clear{display:none}.ts-control>input:focus{outline:none!important}.has-items .ts-control>input{margin:0 4px!important}.ts-control.rtl{text-align:right}.ts-control.rtl.single .ts-control:after{left:calc(.75rem + 5px);right:auto}.ts-control.rtl .ts-control>input{margin:0 4px 0 -2px!important}.disabled .ts-control{opacity:1;background-color:var(--bs-secondary-bg)}.input-hidden .ts-control>input{opacity:0;position:absolute;left:-10000px}.ts-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:var(--bs-body-bg);margin:.25rem 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px #0000001a;border-radius:0 0 var(--bs-border-radius) var(--bs-border-radius)}.ts-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.ts-dropdown [data-selectable] .highlight{background:#ffed2866;border-radius:1px}.ts-dropdown .option,.ts-dropdown .optgroup-header,.ts-dropdown .no-results,.ts-dropdown .create{padding:3px .75rem}.ts-dropdown .option,.ts-dropdown [data-disabled],.ts-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.ts-dropdown [data-selectable].option{opacity:1;cursor:pointer}.ts-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.ts-dropdown .optgroup-header{color:#6c757d;background:var(--bs-body-bg);cursor:default}.ts-dropdown .active{background-color:var(--bs-tertiary-bg);color:var(--bs-body-color)}.ts-dropdown .active.create{color:var(--bs-body-color)}.ts-dropdown .create{color:#343a4080}.ts-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.ts-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ts-dropdown-content{overflow:hidden auto;max-height:200px;scroll-behavior:smooth}.ts-wrapper.plugin-drag_drop .ts-dragging{color:transparent!important}.ts-wrapper.plugin-drag_drop .ts-dragging>*{visibility:hidden!important}.plugin-checkbox_options:not(.rtl) .option input{margin-right:.5rem}.plugin-checkbox_options.rtl .option input{margin-left:.5rem}.plugin-clear_button{--ts-pr-clear-button: 1em}.plugin-clear_button .clear-button{opacity:0;position:absolute;top:50%;transform:translateY(-50%);right:calc(.75rem - 5px);margin-right:0!important;background:transparent!important;transition:opacity .5s;cursor:pointer}.plugin-clear_button.form-select .clear-button,.plugin-clear_button.single .clear-button{right:max(var(--ts-pr-caret),.75rem)}.plugin-clear_button.focus.has-items .clear-button,.plugin-clear_button:not(.disabled):hover.has-items .clear-button{opacity:1}.ts-wrapper .dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:color-mix(var(--bs-body-bg),#d0d0d0,85%);border-radius:var(--bs-border-radius) var(--bs-border-radius) 0 0}.ts-wrapper .dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#343a40;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px!important}.ts-wrapper .dropdown-header-close:hover{color:#000}.plugin-dropdown_input.focus.dropdown-active .ts-control{box-shadow:none;border:1px solid var(--bs-border-color);box-shadow:var(--bs-box-shadow-inset)}.plugin-dropdown_input .dropdown-input{border:1px solid #d0d0d0;border-width:0 0 1px;display:block;padding:.375rem .75rem;box-shadow:none;width:100%;background:transparent}.plugin-dropdown_input.focus .ts-dropdown .dropdown-input{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.plugin-dropdown_input .items-placeholder{border:0 none!important;box-shadow:none!important;width:100%}.plugin-dropdown_input.has-items .items-placeholder,.plugin-dropdown_input.dropdown-active .items-placeholder{display:none!important}.ts-wrapper.plugin-input_autogrow.has-items .ts-control>input{min-width:0}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input{flex:none;min-width:4px}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::-ms-input-placeholder{color:transparent}.ts-wrapper.plugin-input_autogrow.has-items.focus .ts-control>input::placeholder{color:transparent}.ts-dropdown.plugin-optgroup_columns .ts-dropdown-content{display:flex}.ts-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.ts-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.ts-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.ts-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.ts-wrapper.plugin-remove_button .item{display:inline-flex;align-items:center}.ts-wrapper.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:0 5px;border-radius:0 2px 2px 0;box-sizing:border-box}.ts-wrapper.plugin-remove_button .item .remove:hover{background:#0000000d}.ts-wrapper.plugin-remove_button.disabled .item .remove:hover{background:none}.ts-wrapper.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}.ts-wrapper.plugin-remove_button:not(.rtl) .item{padding-right:0!important}.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove{border-left:1px solid #dee2e6;margin-left:5px}.ts-wrapper.plugin-remove_button:not(.rtl) .item.active .remove{border-left-color:#0000}.ts-wrapper.plugin-remove_button:not(.rtl).disabled .item .remove{border-left-color:#fff}.ts-wrapper.plugin-remove_button.rtl .item{padding-left:0!important}.ts-wrapper.plugin-remove_button.rtl .item .remove{border-right:1px solid #dee2e6;margin-right:5px}.ts-wrapper.plugin-remove_button.rtl .item.active .remove{border-right-color:#0000}.ts-wrapper.plugin-remove_button.rtl.disabled .item .remove{border-right-color:#fff}:root{--ts-pr-clear-button: 0px;--ts-pr-caret: 0px;--ts-pr-min: .75rem}.ts-wrapper.single .ts-control,.ts-wrapper.single .ts-control input{cursor:pointer}.ts-control:not(.rtl){padding-right:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-control.rtl{padding-left:max(var(--ts-pr-min),var(--ts-pr-clear-button) + var(--ts-pr-caret))!important}.ts-wrapper{position:relative}.ts-dropdown,.ts-control,.ts-control input{color:#343a40;font-family:inherit;font-size:inherit;line-height:1.5}.ts-control,.ts-wrapper.single.input-active .ts-control{background:var(--bs-body-bg);cursor:text}.ts-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.ts-dropdown,.ts-dropdown.form-control,.ts-dropdown.form-select{height:auto;padding:0;z-index:1000;background:var(--bs-body-bg);border:1px solid var(--bs-border-color-translucent);border-radius:.375rem;box-shadow:0 6px 12px #0000002d}.ts-dropdown .optgroup-header{font-size:.875rem;line-height:1.5}.ts-dropdown .optgroup:first-child:before{display:none}.ts-dropdown .optgroup:before{content:" ";display:block;height:0;overflow:hidden;border-top:1px solid var(--bs-border-color-translucent);margin:.5rem -.75rem}.ts-dropdown .create{padding-left:.75rem}.ts-dropdown-content{padding:5px 0}.ts-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.ts-control{transition:none}}.ts-control{display:flex;align-items:center}.focus .ts-control{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}.ts-control .item{display:flex;align-items:center}.ts-control input::-ms-input-placeholder{color:var(--bs-secondary-color, #a7aeb8);opacity:1}.ts-control input::placeholder{color:var(--bs-secondary-color, #a7aeb8);opacity:1}.ts-wrapper.is-invalid,.was-validated .invalid,.was-validated :invalid+.ts-wrapper{border-color:var(--bs-form-invalid-color)}.ts-wrapper.is-invalid:not(.single),.was-validated .invalid:not(.single),.was-validated :invalid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.single,.was-validated .invalid.single,.was-validated :invalid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);background-repeat:no-repeat}.ts-wrapper.is-invalid.focus .ts-control,.was-validated .invalid.focus .ts-control,.was-validated :invalid+.ts-wrapper.focus .ts-control{border-color:var(--bs-form-invalid-color);box-shadow:0 0 0 .25rem rgba(var(--bs-form-invalid-color),.25)}.ts-wrapper.is-valid,.was-validated .valid,.was-validated :valid+.ts-wrapper{border-color:var(--bs-form-valid-color)}.ts-wrapper.is-valid:not(.single),.was-validated .valid:not(.single),.was-validated :valid+.ts-wrapper:not(.single){background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.single,.was-validated .valid.single,.was-validated :valid+.ts-wrapper.single{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);background-repeat:no-repeat}.ts-wrapper.is-valid.focus .ts-control,.was-validated .valid.focus .ts-control,.was-validated :valid+.ts-wrapper.focus .ts-control{border-color:var(--bs-form-valid-color);box-shadow:0 0 0 .25rem rgba(var(--bs-form-valid-color),.25)}.ts-wrapper{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));display:flex}.input-group-sm>.ts-wrapper,.ts-wrapper.form-select-sm,.ts-wrapper.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.input-group-sm>.ts-wrapper .ts-control,.ts-wrapper.form-select-sm .ts-control,.ts-wrapper.form-control-sm .ts-control{border-radius:var(--bs-border-radius-sm);font-size:.875rem}.input-group-sm>.ts-wrapper.has-items .ts-control,.ts-wrapper.form-select-sm.has-items .ts-control,.ts-wrapper.form-control-sm.has-items .ts-control{font-size:.875rem}.input-group-sm>.ts-wrapper.multi.has-items .ts-control,.ts-wrapper.form-select-sm.multi.has-items .ts-control,.ts-wrapper.form-control-sm.multi.has-items .ts-control{padding-top:calc((calc(1.5em + .5rem + calc(var(--bs-border-width) * 2)) - 1.5 * .875rem - calc((var(--bs-border-width) + 1px) * 2)) / 2)!important}.ts-wrapper.multi.has-items .ts-control{padding-left:calc(.75rem - 5px);--ts-pr-min: calc(.75rem - 5px) }.ts-wrapper.multi .ts-control>div{border-radius:calc(var(--bs-border-radius) - 1px)}.input-group-lg>.ts-wrapper,.ts-wrapper.form-control-lg,.ts-wrapper.form-select-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.input-group-lg>.ts-wrapper .ts-control,.ts-wrapper.form-control-lg .ts-control,.ts-wrapper.form-select-lg .ts-control{border-radius:var(--bs-border-radius-lg);font-size:1.25rem}.ts-wrapper:not(.form-control,.form-select){padding:0;border:none;height:auto;box-shadow:none;background:none}.ts-wrapper:not(.form-control,.form-select).single .ts-control{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.ts-wrapper.form-select,.ts-wrapper.single{--ts-pr-caret: 2.25rem}.ts-wrapper.form-control,.ts-wrapper.form-select{padding:0!important;height:auto;box-shadow:none;display:flex}.ts-wrapper.form-control .ts-control,.ts-wrapper.form-control.single.input-active .ts-control,.ts-wrapper.form-select .ts-control,.ts-wrapper.form-select.single.input-active .ts-control{border:none!important}.ts-wrapper.form-control:not(.disabled) .ts-control,.ts-wrapper.form-control:not(.disabled).single.input-active .ts-control,.ts-wrapper.form-select:not(.disabled) .ts-control,.ts-wrapper.form-select:not(.disabled).single.input-active .ts-control{background:transparent!important}.input-group>.ts-wrapper{flex-grow:1;width:1%}.input-group>.ts-wrapper:not(:nth-child(2))>.ts-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.ts-wrapper:not(:last-child)>.ts-control{border-top-right-radius:0;border-bottom-right-radius:0}.form-select .ts-dropdown,.form-select .ts-control,.form-select .ts-control input{color:var(--bs-body-color)}
