.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;left:0;top:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:transparent}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{width:1600px;height:1600px;-webkit-transform-origin:0 0}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{max-width:none!important;max-height:none!important;width:auto;padding:0}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{width:0;height:0;-moz-box-sizing:border-box;box-sizing:border-box;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{position:relative;z-index:800;pointer-events:visiblePainted;pointer-events:auto}.leaflet-top,.leaflet-bottom{position:absolute;z-index:1000;pointer-events:none}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;-webkit-transition:opacity .2s linear;-moz-transition:opacity .2s linear;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{-webkit-transition:none;-moz-transition:none;transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{border:2px dotted #38f;background:#ffffff80}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{box-shadow:0 1px 5px #000000a6;border-radius:4px}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;display:block;text-align:center;text-decoration:none;color:#000}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom:none}.leaflet-bar a.leaflet-disabled{cursor:default;background-color:#f4f4f4;color:#bbb}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{box-shadow:0 1px 5px #0006;background:#fff;border-radius:5px}.leaflet-control-layers-toggle{background-image:url("./media/layers-55W3Q4RM.png");width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url("./media/layers-2x-TBM42ERR.png");background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{padding:6px 10px 6px 6px;color:#333;background:#fff}.leaflet-control-layers-scrollbar{overflow-y:scroll;overflow-x:hidden;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{height:0;border-top:1px solid #ddd;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url("./media/marker-icon-2V3QKKVC.png")}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{padding:0 5px;color:#333;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;vertical-align:baseline!important;width:1em;height:.6669em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{border:2px solid #777;border-top:none;line-height:1.1;padding:2px 5px 1px;white-space:nowrap;-moz-box-sizing:border-box;box-sizing:border-box;background:#fffc;text-shadow:1px 1px #fff}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{border:2px solid rgba(0,0,0,.2);background-clip:padding-box}.leaflet-popup{position:absolute;text-align:center;margin-bottom:20px}.leaflet-popup-content-wrapper{padding:1px;text-align:left;border-radius:12px}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3;font-size:13px;font-size:1.08333em;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{width:40px;height:20px;position:absolute;left:50%;margin-top:-1px;margin-left:-20px;overflow:hidden;pointer-events:none}.leaflet-popup-tip{width:17px;height:17px;padding:1px;margin:-10px auto 0;pointer-events:auto;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:#333;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{position:absolute;top:0;right:0;border:none;text-align:center;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;color:#757575;text-decoration:none;background:transparent}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{width:24px;margin:0 auto;-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.70710678,M12=.70710678,M21=-.70710678,M22=.70710678)}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{position:absolute;padding:6px;background-color:#fff;border:1px solid #fff;border-radius:3px;color:#222;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{position:absolute;pointer-events:none;border:6px solid transparent;background:transparent;content:""}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{bottom:0;margin-bottom:-12px;border-top-color:#fff}.leaflet-tooltip-bottom:before{top:0;margin-top:-12px;margin-left:-6px;border-bottom-color:#fff}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{top:50%;margin-top:-6px}.leaflet-tooltip-left:before{right:0;margin-right:-12px;border-left-color:#fff}.leaflet-tooltip-right:before{left:0;margin-left:-12px;border-right-color:#fff}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.status-badge.active,.status-badge.online{background:#22c55e1f;color:#16a34a}.status-badge.active .status-dot,.status-badge.online .status-dot{background:#22c55e}.status-badge.inactive{background:#9ca3af1f;color:#6b7280}.status-badge.inactive .status-dot{background:#9ca3af}.status-badge.error,.status-badge.expired{background:#ef44441f;color:#dc2626}.status-badge.error .status-dot,.status-badge.expired .status-dot{background:#ef4444}.status-badge.warning,.status-badge.suspended{background:#f59e0b1f;color:#d97706}.status-badge.warning .status-dot,.status-badge.suspended .status-dot{background:#f59e0b}.status-badge.info,.status-badge.trial{background:#3b82f61f;color:#2563eb}.status-badge.info .status-dot,.status-badge.trial .status-dot{background:#3b82f6}.status-badge.offline{background:#ef44441f;color:#dc2626}.status-badge.offline .status-dot{background:#ef4444}.status-badge.processing{background:#6366f11f;color:#6366f1}.status-badge.processing .status-dot{background:#6366f1;animation:pulse 1.5s infinite}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .5rem;border-radius:12px;font-size:.75rem;font-weight:500;background-color:var(--bg-tertiary);color:var(--text-secondary)}.count-badge.primary{background-color:rgba(var(--primary-rgb),.12);color:var(--primary)}.count-badge.success{background-color:#22c55e1f;color:#16a34a}.count-badge.warning{background-color:#f59e0b1f;color:#d97706}.count-badge.error{background-color:#ef44441f;color:#dc2626}.license-badge{display:inline-flex;align-items:center;padding:.25rem 10px;border-radius:12px;font-size:.75rem;font-weight:500}.license-badge.type-free,.license-badge.type-0{background-color:var(--bg-tertiary);color:var(--text-secondary)}.license-badge.type-pro,.license-badge.type-1{background-color:#3b82f61f;color:#3b82f6}.license-badge.type-enterprise,.license-badge.type-2{background-color:#9c27b01f;color:#9c27b0}.stat-badge{display:flex;align-items:center;gap:2px;padding:2px .5rem;border-radius:16px;font-size:.75rem;font-weight:500}.stat-badge .stat-dot{width:6px;height:6px;border-radius:9999px}.stat-badge .stat-value{font-weight:600}.stat-badge.active,.stat-badge.online{background:#22c55e1f;color:#16a34a}.stat-badge.active .stat-dot,.stat-badge.online .stat-dot{background:#22c55e}.stat-badge.inactive{background:#9ca3af1f;color:#6b7280}.stat-badge.inactive .stat-dot{background:#9ca3af}.stat-badge.offline{background:#ef44441f;color:#dc2626}.stat-badge.offline .stat-dot{background:#ef4444}.stat-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem 14px;background:var(--bg-card, var(--bg-elevated));border:1px solid var(--border-color, var(--border-primary));border-radius:8px;font-size:.8125rem}.stat-chip .stat-value{font-weight:700;font-size:1rem;color:var(--text-primary)}.stat-chip .stat-label{color:var(--text-secondary);font-size:.75rem}.tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:6px;font-size:.75rem;color:var(--text-secondary)}.tag.removable{padding-right:.25rem}.tag.removable .tag-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:4px;cursor:pointer;transition:background-color .15s ease}.tag.removable .tag-remove:hover{background-color:#ef444433;color:#ef4444}.tag.removable .tag-remove mat-icon{font-size:14px;width:14px;height:14px}.search-input{display:flex;flex-direction:row;align-items:center;gap:.5rem;height:34px;padding:0 14px;background:var(--bg-tertiary);border:1px solid var(--border-color, var(--border-primary));border-radius:9999px;min-width:200px;transition:all .2s ease cubic-bezier(.4,0,.2,1)}.search-input:hover{border-color:var(--text-tertiary)}.search-input:focus-within{border-color:var(--primary, var(--mat-sys-primary));background:var(--bg-card, var(--bg-elevated));box-shadow:0 0 0 3px rgba(var(--primary-rgb, 33, 150, 243),.15)}.search-input mat-icon{font-size:20px;width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.search-input input{flex:1;border:none;background:transparent;font-size:.875rem;color:var(--text-primary);outline:none;min-width:0}.search-input input::placeholder{color:var(--text-secondary)}.search-input .clear-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;padding:0;margin-left:.25rem;opacity:.6;transition:opacity .15s ease cubic-bezier(.4,0,.2,1)}.search-input .clear-btn:hover{opacity:1}.search-input .clear-btn mat-icon{font-size:16px;width:16px;height:16px}.search-input.search-input-sm{height:30px;padding:0 .75rem;min-width:160px;border-radius:15px}.search-input.search-input-sm mat-icon{font-size:1.125rem;width:18px;height:18px}.search-input.search-input-sm input{font-size:.8125rem}.search-input.search-input-lg{height:40px;padding:0 1rem;min-width:280px;border-radius:9999px}.toggle-group{display:flex;flex-direction:row;align-items:center;gap:2px;background:var(--bg-tertiary);border-radius:6px;padding:2px}.toggle-btn{display:flex;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.toggle-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.toggle-btn{width:32px;height:32px;border-radius:4px;background-color:transparent;color:var(--text-tertiary)}.toggle-btn mat-icon{font-size:20px;width:20px;height:20px}.toggle-btn:hover:not(.active){color:var(--text-secondary);background-color:var(--bg-hover)}.toggle-btn.active{background-color:var(--mat-sys-primary, var(--primary));color:#fff}.toggle-btn.active mat-icon{color:#fff}.toggle-btn.disabled{opacity:.35;cursor:not-allowed}.toggle-btn.toggle-btn-sm{width:28px;height:28px}.toggle-btn.toggle-btn-sm mat-icon{font-size:1.125rem;width:18px;height:18px}.controls-divider{width:1px;height:20px;background:var(--border-color, var(--border-primary));margin:0 .25rem}.filter-btn{display:flex;flex-direction:row;gap:6px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.filter-btn:disabled{opacity:.5;cursor:not-allowed}.filter-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.filter-btn{height:34px;font-size:.8125rem;padding:0 14px;border-radius:8px;border:1px solid var(--border-color, var(--border-primary));background:var(--bg-card, var(--bg-elevated));color:var(--text-secondary)}.filter-btn mat-icon{font-size:1.125rem;width:18px;height:18px}.filter-btn:hover{border-color:var(--text-tertiary);background:var(--bg-secondary);color:var(--text-primary)}.filter-btn.has-filters{border-color:var(--primary, var(--mat-sys-primary));background:rgba(var(--primary-rgb, 33, 150, 243),.08);color:var(--primary, var(--mat-sys-primary))}.filter-btn .filter-count{display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:.25rem;background:var(--text-tertiary);color:#fff;border-radius:9px;font-size:.6875rem;font-weight:700}.filter-btn .filter-count.hidden{visibility:hidden}.sort-btn{display:flex;flex-direction:row;gap:6px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.sort-btn:disabled{opacity:.5;cursor:not-allowed}.sort-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.sort-btn{padding:6px .75rem;height:32px;font-size:.8125rem;border-radius:8px;background:transparent;color:var(--text-secondary)}.sort-btn mat-icon{font-size:1.125rem;width:18px;height:18px}.sort-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sort-btn.active-sort{background:rgba(var(--primary-rgb, 33, 150, 243),.08);color:var(--primary, var(--mat-sys-primary))}.filter-popup{padding:1rem;min-width:400px;max-width:520px}.filter-row{display:flex;flex-direction:row;align-items:center;gap:.5rem;margin-bottom:10px}.filter-select{flex:1;height:40px;padding:0 .75rem;border:1px solid var(--border-color, var(--border-primary));border-radius:8px;background:var(--bg-card, var(--bg-elevated));font-size:.875rem;color:var(--text-primary);cursor:pointer}.filter-select:hover{border-color:var(--text-tertiary)}.filter-select:focus{border-color:var(--primary, var(--mat-sys-primary));outline:none}.filter-select.filter-op{flex:0 0 80px;text-align:center}.filter-remove{display:flex;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.filter-remove:disabled{opacity:.5;cursor:not-allowed}.filter-remove:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.filter-remove{width:36px;height:36px;border-radius:8px;background:transparent;color:var(--text-tertiary);flex-shrink:0}.filter-remove:hover{background:#ef44441f;color:#ef4444}.filter-remove mat-icon{font-size:20px;width:20px;height:20px}.filter-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding-top:.75rem;border-top:1px solid var(--border-color, var(--border-primary));margin-top:6px}.filter-add{display:flex;flex-direction:row;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.filter-add:disabled{opacity:.5;cursor:not-allowed}.filter-add:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.filter-add{height:38px;padding:0 1rem;border:1px dashed var(--border-color, var(--border-primary));border-radius:8px;background:transparent;color:var(--text-secondary);font-size:.875rem;font-family:inherit}.filter-add mat-icon{font-size:20px;width:20px;height:20px}.filter-add:hover{border-color:var(--primary, var(--mat-sys-primary));color:var(--primary, var(--mat-sys-primary))}.filter-clear{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.filter-clear:disabled{opacity:.5;cursor:not-allowed}.filter-clear:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.filter-clear{height:38px;padding:0 1rem;border-radius:8px;background:transparent;color:var(--text-tertiary);font-size:.875rem;font-family:inherit}.filter-clear:hover{color:#ef4444}.controls-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;min-height:48px;background:var(--bg-card, var(--bg-elevated));border-top:1px solid var(--border-color, var(--border-primary));border-bottom:1px solid var(--border-color, var(--border-primary));gap:1rem}.controls-bar .controls-left,.controls-bar .controls-right{display:flex;flex-direction:row;align-items:center;gap:.5rem}.stats-section{display:flex;flex-direction:row;align-items:center;gap:.75rem}.action-btn-group{display:flex;flex-direction:row;align-items:center;gap:.5rem}.inline-input{display:flex;align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.inline-input input{width:48px;padding:.25rem .5rem;border:none;background:transparent;font-size:.8125rem;color:var(--text-primary);text-align:center}.inline-input input:focus{outline:none}.inline-input input::-webkit-outer-spin-button,.inline-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.inline-input input{-moz-appearance:textfield}.inline-input .unit{padding:.25rem .5rem;background:var(--bg-tertiary);font-size:.75rem;color:var(--text-secondary);border-left:1px solid var(--border-color);white-space:nowrap}.inline-input.inline-input-wide input{width:80px}.field-group{display:flex;align-items:center;gap:.5rem}.field-group label{font-size:.75rem;color:var(--text-secondary);white-space:nowrap}.field-group .field-icon{font-size:16px;width:16px;height:16px;color:var(--text-tertiary)}.loading-state,.loading-container{display:flex;align-items:center;justify-content:center;padding:3rem 1.25rem;flex:1;min-height:200px}.loading-state.loading-state-sm,.loading-container.loading-state-sm{padding:2rem 1.25rem;min-height:100px}.loading-state.loading-state-lg,.loading-container.loading-state-lg{padding:100px 1.25rem;min-height:300px}.loading-state.loading-state-full,.loading-container.loading-state-full{height:100%;min-height:400px}.empty-state,.no-results-state{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:3rem 1.25rem;color:var(--text-tertiary);flex:1;min-height:200px;text-align:center}.empty-state mat-icon,.no-results-state mat-icon{font-size:48px;width:48px;height:48px;margin-bottom:1rem;opacity:.5}.empty-state h3,.no-results-state h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem}.empty-state p,.no-results-state p{font-size:.875rem;margin:0;max-width:300px}.empty-state .empty-state-action,.no-results-state .empty-state-action{margin-top:1rem}.empty-state.empty-state-sm,.empty-state-sm.no-results-state{padding:2rem 1.25rem;min-height:100px}.empty-state.empty-state-sm mat-icon,.empty-state-sm.no-results-state mat-icon{font-size:32px;width:32px;height:32px;margin-bottom:.5rem}.empty-state.empty-state-sm p,.empty-state-sm.no-results-state p{font-size:.8125rem}.empty-state.empty-state-lg,.empty-state-lg.no-results-state{padding:100px 1.25rem;min-height:300px}.empty-state.empty-state-lg mat-icon,.empty-state-lg.no-results-state mat-icon{font-size:4rem;width:64px;height:64px;margin-bottom:1.5rem}.empty-state.empty-state-full,.empty-state-full.no-results-state{height:100%;min-height:400px}.error-state{display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:3rem 1.25rem;flex:1;min-height:200px;text-align:center}.error-state mat-icon{font-size:48px;width:48px;height:48px;margin-bottom:1rem;color:#ef4444}.error-state h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.error-state p{font-size:.875rem;color:var(--text-secondary);margin:0;max-width:400px}.error-state .error-state-action{margin-top:1rem}.no-results-state mat-icon{color:var(--text-tertiary)}.skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-text{height:1em;width:100%}.skeleton-text-sm{height:.75em;width:60%}.skeleton-text-lg{height:1.25em;width:80%}.skeleton-circle{border-radius:9999px}.skeleton-avatar{width:40px;height:40px;border-radius:9999px}.skeleton-card{height:120px;border-radius:8px}.skeleton-row{display:flex;flex-direction:row;align-items:center;gap:1rem;padding:1rem}.skeleton-row .skeleton-avatar{flex-shrink:0}.skeleton-row .skeleton-content{display:flex;flex-direction:column;gap:.5rem;flex:1}.skeleton-table-rows{display:flex;flex-direction:column}.skeleton-table-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-color)}.skeleton-table-row .skeleton-icon{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;width:36px;height:36px;border-radius:6px;flex-shrink:0}.skeleton-table-row .skeleton-cell{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:14px;border-radius:4px}.skeleton-table-row .skeleton-cell.cell-name{width:160px}.skeleton-table-row .skeleton-cell.cell-md{width:120px}.skeleton-table-row .skeleton-cell.cell-sm{width:80px}.skeleton-table-row .skeleton-cell.cell-lg{width:200px}.skeleton-table-row .skeleton-cell.cell-xl{width:260px}.skeleton-table-row .skeleton-cell.cell-badge{width:56px;height:24px;border-radius:12px}.skeleton-table-row .skeleton-cell.cell-status{width:24px;height:24px;border-radius:9999px}.skeleton-table-row .skeleton-cell.cell-actions{width:32px;height:32px;border-radius:9999px;margin-left:auto}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.25rem}.skeleton-grid-card{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;gap:.75rem;height:180px;background:var(--bg-card);border:1px solid var(--border-color);background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.04) 50%,transparent 100%),var(--bg-card);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-mat-table-rows{display:flex;flex-direction:column}.skeleton-mat-table-rows .skeleton-mat-row{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color);min-height:52px}.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:14px;border-radius:4px;flex:1}.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell.cell-icon{width:40px;height:40px;border-radius:9999px;flex:0 0 40px}.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell.cell-short{max-width:100px}.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell.cell-medium{max-width:160px}.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell.cell-actions{width:32px;height:32px;border-radius:9999px;flex:0 0 32px}.overlay-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(var(--bg-primary-rgb, 255, 255, 255),.8);z-index:1040}.dark .overlay-loading{background:#000c}.inline-loading{display:flex;flex-direction:row;align-items:center;gap:.5rem;display:inline-flex;color:var(--text-secondary);font-size:.875rem}.skeleton-edit-page{flex:1;display:flex;flex-direction:column;padding:1.5rem;gap:1rem}.skeleton-edit-page .skeleton-tabs{display:flex;gap:1rem;padding:.75rem 1.5rem;background:var(--bg-card);border-top:1px solid var(--border-color);margin:-1.5rem -1.5rem 1rem}.skeleton-edit-page .skeleton-tabs .skeleton-tab{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:14px;width:80px;border-radius:4px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--xs{width:65px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--sm{width:70px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--md{width:75px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--lg{width:80px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--xl{width:85px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--2xl{width:90px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--3xl{width:95px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--4xl{width:100px}.skeleton-edit-page .skeleton-tabs .skeleton-tab--5xl{width:105px}.skeleton-edit-page .skeleton-form-card{max-width:800px;width:100%;margin:0 auto;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}@media(min-width:1600px){.skeleton-edit-page .skeleton-form-card{max-width:900px}}.skeleton-edit-page .skeleton-form-card.skeleton-form-card-sm{max-width:600px}@media(min-width:1600px){.skeleton-edit-page .skeleton-form-card.skeleton-form-card-sm{max-width:650px}}.skeleton-edit-page .skeleton-form-card.skeleton-form-card-lg{max-width:1000px}@media(min-width:1600px){.skeleton-edit-page .skeleton-form-card.skeleton-form-card-lg{max-width:1100px}}.skeleton-edit-page .skeleton-section-title{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:18px;width:140px;border-radius:4px;margin-bottom:.5rem}.skeleton-edit-page .skeleton-section-hint{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:12px;width:220px;border-radius:4px;margin-bottom:.75rem}.skeleton-edit-page .skeleton-form-field{display:flex;flex-direction:column;gap:.5rem}.skeleton-edit-page .skeleton-form-field .skeleton-label{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:12px;width:100px;border-radius:4px}.skeleton-edit-page .skeleton-form-field .skeleton-input{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:40px;width:100%;border-radius:6px}.skeleton-edit-page .skeleton-form-field .skeleton-input-sm{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:32px;width:100%;border-radius:6px}.skeleton-edit-page .skeleton-form-row{display:flex;gap:1rem}.skeleton-edit-page .skeleton-form-row .skeleton-form-field{flex:1;min-width:0}@media(max-width:600px){.skeleton-edit-page .skeleton-form-row{flex-direction:column}}.skeleton-edit-page .skeleton-checkbox{display:flex;align-items:center;gap:.75rem}.skeleton-edit-page .skeleton-checkbox .skeleton-check-box{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;width:20px;height:20px;border-radius:4px;flex-shrink:0}.skeleton-edit-page .skeleton-checkbox .skeleton-check-label{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:14px;width:160px;border-radius:4px}.skeleton-edit-page .skeleton-textarea{display:flex;flex-direction:column;gap:.5rem}.skeleton-edit-page .skeleton-textarea .skeleton-label{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:12px;width:100px;border-radius:4px}.skeleton-edit-page .skeleton-textarea .skeleton-textarea-box{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:100px;width:100%;border-radius:6px}.skeleton-edit-page .skeleton-divider{height:1px;background:var(--border-color);margin:.5rem 0}.skeleton-edit-header{display:flex;flex-direction:column;gap:.25rem}.skeleton-edit-header .skeleton-title{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:22px;width:200px;border-radius:4px}.skeleton-edit-header .skeleton-subtitle{background:linear-gradient(90deg,#eee 25%,#f5f5f5,#eee 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;height:13px;width:300px;border-radius:4px}.nav-progress-bar{position:fixed;top:0;left:0;right:0;height:3px;z-index:1080;background:transparent;overflow:hidden}.nav-progress-bar .nav-progress-fill{height:100%;width:30%;background:var(--mat-sys-primary, #2196f3);border-radius:0 2px 2px 0;animation:nav-progress-indeterminate 1.5s infinite ease-in-out}@keyframes nav-progress-indeterminate{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}@media(prefers-reduced-motion:reduce){.nav-progress-bar .nav-progress-fill{animation:none;width:100%;opacity:.5}.skeleton,.skeleton-table-row .skeleton-icon,.skeleton-table-row .skeleton-cell,.skeleton-grid-card,.skeleton-mat-table-rows .skeleton-mat-row .skeleton-cell,.skeleton-edit-page .skeleton-tab,.skeleton-edit-page .skeleton-section-title,.skeleton-edit-page .skeleton-section-hint,.skeleton-edit-page .skeleton-form-field .skeleton-label,.skeleton-edit-page .skeleton-form-field .skeleton-input,.skeleton-edit-page .skeleton-form-field .skeleton-input-sm,.skeleton-edit-page .skeleton-checkbox .skeleton-check-box,.skeleton-edit-page .skeleton-checkbox .skeleton-check-label,.skeleton-edit-page .skeleton-textarea .skeleton-label,.skeleton-edit-page .skeleton-textarea .skeleton-textarea-box,.skeleton-edit-header .skeleton-title,.skeleton-edit-header .skeleton-subtitle{animation:none;background:var(--bg-tertiary)}}.progress-container{width:100%;height:.25rem;background:var(--bg-tertiary);border-radius:2px;overflow:hidden}.progress-container .progress-bar{height:100%;background:var(--primary, var(--mat-sys-primary));border-radius:2px;transition:width .3s ease cubic-bezier(.4,0,.2,1)}.progress-container.progress-success .progress-bar{background:#22c55e}.progress-container.progress-warning .progress-bar{background:#f59e0b}.progress-container.progress-error .progress-bar{background:#ef4444}.page-container{display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.list-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:14px 1.5rem;background:var(--bg-card, var(--bg-elevated))}.list-page-header .header-left{flex:1;min-width:0}.list-page-header .header-left h1{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.list-page-header .header-left p{margin:2px 0 0;font-size:.8125rem;color:var(--text-secondary)}.list-page-header .header-right{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-shrink:0}@media(max-width:768px){.list-page-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.list-page-header .header-right{flex-wrap:wrap}}.content-area{flex:1;overflow:auto;background:var(--bg-primary)}.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1.5rem;align-content:start}.entity-grid.entity-grid-lg{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.entity-grid.entity-grid-sm{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;padding:1rem}@media(max-width:768px){.entity-grid{padding:1rem;grid-template-columns:1fr}}.flex-table{display:flex;flex-direction:column}.flex-table .table-header,.flex-table .table-row{display:flex;flex-direction:row;align-items:center;gap:.75rem;padding:.75rem 1.5rem}.flex-table .table-header{min-height:52px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color, var(--border-primary));position:sticky;top:0;z-index:1}.flex-table .table-header .th-cell{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-table .table-body .table-row{border-bottom:1px solid var(--border-color, var(--border-primary));cursor:pointer;transition:background-color .15s ease cubic-bezier(.4,0,.2,1)}.flex-table .table-body .table-row:hover{background:var(--bg-hover)}.flex-table .table-body .table-row .td-cell{font-size:.875rem;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex-table .col-icon{flex:0 0 48px}.flex-table .col-actions{flex:0 0 48px;text-align:right}.flex-table .col-xs{flex:0 0 60px}.flex-table .col-sm{flex:0 0 100px}.flex-table .col-md{flex:0 0 150px}.flex-table .col-lg{flex:0 0 200px}.flex-table .col-auto{flex:1;min-width:0}.flex-table .col-center{text-align:center}@media(max-width:768px){.flex-table .table-header,.flex-table .table-row{padding:.75rem 1rem}}.entity-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-tertiary);transition:transform .15s ease cubic-bezier(.4,0,.2,1);flex-shrink:0}.entity-icon mat-icon{font-size:20px;width:20px;height:20px;color:var(--text-secondary)}.entity-icon.active{background:#22c55e1f}.entity-icon.active mat-icon{color:#22c55e}.entity-icon.inactive{background:#9ca3af1f}.entity-icon.inactive mat-icon{color:#9ca3af}.entity-icon.pending{background:#f59e0b1f}.entity-icon.pending mat-icon{color:#f59e0b}.entity-icon.error{background:#ef44441f}.entity-icon.error mat-icon{color:#ef4444}.entity-icon.primary{background:rgba(var(--primary-rgb, 33, 150, 243),.15)}.entity-icon.primary mat-icon{color:var(--primary, var(--mat-sys-primary))}.entity-icon.entity-icon-sm{width:28px;height:28px;border-radius:6px}.entity-icon.entity-icon-sm mat-icon{font-size:16px;width:16px;height:16px}.entity-icon.entity-icon-lg{width:48px;height:48px;border-radius:10px}.entity-icon.entity-icon-lg mat-icon{font-size:24px;width:24px;height:24px}.paginator-container{border-top:1px solid var(--border-color, var(--border-primary));background:var(--bg-card, var(--bg-elevated))}.card-elevated{background-color:var(--bg-elevated, #ffffff);border:1px solid var(--border-primary, #eeeeee);border-radius:12px;box-shadow:0 1px 2px #0000000d;padding:1rem;overflow:hidden}.card-flat{background-color:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px}.split-layout{display:flex;height:100%;overflow:hidden}.split-layout .split-master{width:320px;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;overflow:hidden}.split-layout .split-detail{flex:1;display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){.split-layout{flex-direction:column}.split-layout .split-master{width:100%;height:auto;max-height:40%;border-right:none;border-bottom:1px solid var(--border-primary)}}.section-divider{height:1px;background:var(--border-color, var(--border-primary));margin:1rem 0}.table-card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 1px 2px #0000000d;overflow:hidden;flex:1;display:flex;flex-direction:column}.loading-container{display:flex;align-items:center;justify-content:center;padding:3rem 1.25rem;flex:1}.table-container{overflow:auto;flex:1}table{width:100%}tr.table-row{transition:background-color .1s cubic-bezier(.4,0,.2,1)}tr.table-row:hover{background-color:var(--bg-hover)}th.mat-mdc-header-cell{font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);background-color:var(--bg-secondary);position:relative}th.mat-mdc-header-cell .mat-sort-header-arrow{opacity:.4;transition:opacity .15s ease cubic-bezier(.4,0,.2,1)}th.mat-mdc-header-cell:hover .mat-sort-header-arrow{opacity:.7}th.mat-mdc-header-cell[aria-sort=ascending] .mat-sort-header-arrow,th.mat-mdc-header-cell[aria-sort=descending] .mat-sort-header-arrow{opacity:1}.header-with-filter{display:flex;flex-direction:row;align-items:center;gap:.25rem;cursor:pointer}.header-with-filter .header-label{flex:1}.header-with-filter .filter-icon{font-size:16px;width:16px;height:16px;color:var(--text-tertiary);opacity:.5;transition:opacity color .15s ease cubic-bezier(.4,0,.2,1)}.header-with-filter:hover .filter-icon{opacity:1;color:var(--text-secondary)}.header-with-filter.filter-active .filter-icon{opacity:1;color:var(--mat-sys-primary)}.header-filter-menu .filter-option{display:flex;flex-direction:row;align-items:center;gap:.5rem}.header-filter-menu .filter-option mat-icon{font-size:1.125rem;width:18px;height:18px}.header-filter-menu .filter-active-indicator{width:6px;height:6px;border-radius:9999px;background-color:var(--mat-sys-primary);margin-left:auto}td.mat-mdc-cell{font-size:.8125rem;color:var(--text-primary)}.actions-header{width:48px}.actions-cell{text-align:center}.row-menu-btn{opacity:.5;transition:opacity .15s ease cubic-bezier(.4,0,.2,1)}.row-menu-btn:hover{opacity:1}.delete-item,.danger-item{color:#ef4444!important}.delete-item mat-icon,.danger-item mat-icon{color:#ef4444!important}.success-item{color:#22c55e!important}.success-item mat-icon{color:#22c55e!important}mat-paginator{border-top:1px solid var(--border-primary);margin-top:auto}.status-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 6px;border-radius:12px;font-size:.75rem;font-weight:500;white-space:nowrap}.status-badge .status-dot{width:6px;height:6px;border-radius:9999px;flex-shrink:0}.status-badge.active{background:#22c55e1f;color:#16a34a}.status-badge.active .status-dot{background:#22c55e}.status-badge.inactive{background:#ef44441f;color:#dc2626}.status-badge.inactive .status-dot{background:#ef4444}.status-badge.pending{background:#f59e0b1f;color:#d97706}.status-badge.pending .status-dot{background:#f59e0b}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .5rem;border-radius:12px;font-size:.75rem;font-weight:500;background-color:var(--bg-secondary);color:var(--text-secondary)}.text-success{color:#22c55e!important}.text-error{color:#ef4444!important}.text-warning{color:#f59e0b!important}@media(max-width:768px){.table-container{min-height:300px}}.form-page{display:flex;flex-direction:column;width:100%}.form-card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:calc(100vh - 250px)}.form-loading{display:flex;align-items:center;justify-content:center;min-height:400px}.tab-content{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.full-width{width:100%}.form-row{display:flex;gap:1rem}.form-row>mat-form-field{flex:1;min-width:0}.form-row>.flex-field,.form-row>.flex-grow{flex:1;min-width:0}.form-row>.small-field{flex:0 0 180px}.form-row>.medium-field{flex:0 0 280px}@media(max-width:600px){.form-row{flex-direction:column;gap:.5rem}.form-row>mat-form-field,.form-row>.flex-field,.form-row>.flex-grow,.form-row>.small-field,.form-row>.medium-field{flex:none;width:100%}}.flex-field{flex:1}.small-field{width:180px;flex-shrink:0}@media(max-width:600px){.small-field{width:100%}}.medium-field{width:280px;flex-shrink:0}@media(max-width:600px){.medium-field{width:100%}}.form-section{max-width:800px;width:100%;margin:0 auto}.form-section mat-form-field{width:100%}.form-section.form-section-sm{max-width:600px}.form-section.form-section-lg{max-width:1000px}.form-section.form-section-xl{max-width:1200px}.form-section.form-section-full{max-width:none}@media(min-width:1600px){.form-section{max-width:900px}.form-section.form-section-sm{max-width:650px}.form-section.form-section-lg{max-width:1100px}.form-section.form-section-xl{max-width:1350px}}@media(min-width:2200px){.form-section{max-width:1000px}.form-section.form-section-sm{max-width:700px}.form-section.form-section-lg{max-width:1200px}.form-section.form-section-xl{max-width:1500px}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.section-header h3{font-size:.875rem;font-weight:600;margin:0}.section-header .hint{font-size:.8125rem;color:var(--text-secondary);margin:0}.section-header .add-btn,.section-header button[mat-icon-button]{color:#3b82f6;background:transparent;border:none}.section-header .add-btn:hover:not(:disabled),.section-header button[mat-icon-button]:hover:not(:disabled){filter:brightness(.85)}.section-header .add-btn:disabled,.section-header button[mat-icon-button]:disabled{opacity:.4}.section-description{font-size:.8125rem;color:var(--text-secondary);margin:0 0 .75rem}.section-intro{margin:0 0 .75rem;font-size:.8125rem;color:var(--text-secondary)}.form-card mat-divider{margin:1.5rem 0 1rem}.form-card mat-tab-group{flex:1;display:flex;flex-direction:column}.form-card mat-tab-group .mat-mdc-tab-labels{gap:.5rem;padding:0 1rem}.form-card mat-tab-group .mat-mdc-tab{min-width:auto;padding:0 1rem}.form-card mat-tab-group .mat-mdc-tab .mdc-tab__content{gap:.75rem}.form-card mat-tab-group .mat-mdc-tab-body-wrapper{flex:1;display:flex;flex-direction:column}.form-card mat-tab-group .mat-mdc-tab-body{flex:1;display:flex;flex-direction:column}.form-card mat-tab-group .mat-mdc-tab-body-content{flex:1;display:flex;flex-direction:column}.form-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;justify-content:flex-end;padding:.75rem 1.25rem;border-top:1px solid var(--border-primary)}.form-actions button{min-width:100px}.form-actions mat-spinner{display:inline-block}.password-toggle{cursor:pointer}.chip-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 0}@media(max-width:600px){.tab-content{padding:1rem}.form-actions{padding:1rem;flex-direction:column-reverse}.form-actions button{width:100%}}.edit-container{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--bg-primary)}.edit-content{flex:1;display:flex;flex-direction:column;min-height:0}.edit-page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:10px 1.25rem;background:var(--bg-card);border-bottom:1px solid var(--border-color)}.edit-page-header .header-left{display:flex;flex-direction:row;align-items:center;gap:.75rem}.edit-page-header .back-btn{color:var(--text-secondary)}.edit-page-header .back-btn:hover{color:var(--text-primary)}.edit-page-header .header-titles h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.edit-page-header .header-titles p{margin:2px 0 0;font-size:.75rem;color:var(--text-secondary)}.edit-page-header .header-right{display:flex;flex-direction:row;align-items:center;gap:.5rem}@media(max-width:768px){.edit-page-header{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.edit-page-header .header-left{justify-content:flex-start}.edit-page-header .header-right{justify-content:flex-end}}.tabs-nav{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:0 1.25rem;background:var(--bg-card)}@media(max-width:768px){.tabs-nav{padding:0 1rem;overflow-x:auto;gap:.25rem}.tabs-nav::-webkit-scrollbar{display:none}}.tab-btn{display:flex;flex-direction:row;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;cursor:pointer;font-weight:500;transition:all .15s ease;outline:none}.tab-btn:disabled{opacity:.5;cursor:not-allowed}.tab-btn:focus-visible{outline:2px solid var(--mat-sys-primary, #2196f3);outline-offset:2px}.tab-btn{padding:.75rem;background:transparent;color:var(--text-secondary);font-size:.8125rem;font-weight:500;font-family:inherit;position:relative}.tab-btn mat-icon{font-size:20px;width:20px;height:20px}.tab-btn:hover:not(.active):not(:disabled){color:var(--text-primary)}.tab-btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.tab-btn.active{color:#3b82f6}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:.5rem;right:.5rem;height:2px;background:#3b82f6;border-radius:2px 2px 0 0}@media(max-width:768px){.tab-btn{padding:.75rem;font-size:.8125rem;white-space:nowrap}.tab-btn mat-icon{font-size:1.125rem;width:18px;height:18px}}.tab-count-badge{display:flex;align-items:center;justify-content:center;display:inline-flex;padding:2px .5rem;margin-left:.25rem;background:var(--bg-tertiary);border-radius:10px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.tab-count-badge.valid{background:#3b82f61f;color:#3b82f6}.tab-count-badge.invalid{background:#ef44441f;color:#ef4444}.tab-btn.active .tab-count-badge,.tab-btn.active .tab-count-badge.valid{background:#3b82f626;color:#3b82f6}.tab-btn.active .tab-count-badge.invalid{background:#ef444426;color:#ef4444}.tab-beta-badge{display:flex;align-items:center;justify-content:center;display:inline-flex;padding:2px 6px;margin-left:.25rem;background:#8b5cf626;border-radius:4px;font-size:.625rem;font-weight:600;color:#8b5cf6;text-transform:uppercase;letter-spacing:.03em}.tab-check{font-size:16px!important;width:16px!important;height:16px!important;margin-left:.25rem;color:#22c55e}.edit-content .tab-content{flex:1;overflow:auto;padding:1.25rem;background:var(--bg-primary)}@media(max-width:768px){.edit-content .tab-content{padding:1rem}}.form-section-card{width:100%;max-width:800px;margin:0 auto 1rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem}.form-section-card.form-section-sm{max-width:600px}.form-section-card.form-section-lg{max-width:1000px}.form-section-card.form-section-xl,.form-section-card.form-section-wide{max-width:1200px}.form-section-card.form-section-full{max-width:none}@media(min-width:1600px){.form-section-card{max-width:900px}.form-section-card.form-section-sm{max-width:650px}.form-section-card.form-section-lg{max-width:1100px}.form-section-card.form-section-xl,.form-section-card.form-section-wide{max-width:1350px}}.form-section-card h2{margin:0 0 .5rem;font-size:1rem;font-weight:500;color:var(--text-primary)}.form-section-card h3{margin:1rem 0 .5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-section-card mat-form-field{width:100%;margin-bottom:.5rem}.form-section-card .section-hint{margin:-.25rem 0 1rem;font-size:.8125rem;color:var(--text-secondary)}.checkbox-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0}.checkbox-row .checkbox-hint{font-size:.75rem;color:var(--text-tertiary);margin-left:2rem}.validation-hint{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ef44441f;border-radius:8px;margin-top:1rem;font-size:.8125rem;color:#ef4444}.validation-hint mat-icon{font-size:1.125rem;width:18px;height:18px}.notice-box{display:flex;gap:.75rem;padding:1rem;margin-bottom:1.5rem;border-radius:8px}.notice-box>mat-icon{font-size:24px;width:24px;height:24px;flex-shrink:0}.notice-box strong{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.notice-box p{margin:0;font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.notice-box.notice-info{background:#3b82f614;border:1px solid rgba(59,130,246,.2)}.notice-box.notice-info>mat-icon{color:#3b82f6}.notice-box.notice-warning{background:#f59e0b14;border:1px solid rgba(245,158,11,.2)}.notice-box.notice-warning>mat-icon{color:#f59e0b}.notice-box.notice-beta{background:#8b5cf614;border:1px solid rgba(139,92,246,.2)}.notice-box.notice-beta>mat-icon{color:#8b5cf6}.notice-box.notice-success{background:#22c55e14;border:1px solid rgba(34,197,94,.2)}.notice-box.notice-success>mat-icon{color:#22c55e}.notice-box.notice-error{background:#ef444414;border:1px solid rgba(239,68,68,.2)}.notice-box.notice-error>mat-icon{color:#ef4444}.page-container{padding:1.5rem;display:flex;flex-direction:column;height:100%;box-sizing:border-box}.search-field{width:260px}.search-field .mat-mdc-form-field-subscript-wrapper{display:none}.search-field .mat-mdc-text-field-wrapper{border-radius:9999px;background:transparent;padding:0 .25rem}.search-field .mat-mdc-form-field-flex{height:40px;align-items:center}.search-field .mdc-notched-outline__leading{border-radius:20px 0 0 20px!important;width:20px!important;border-color:var(--mat-sys-outline)!important}.search-field .mdc-notched-outline__trailing{border-radius:0 20px 20px 0!important;border-color:var(--mat-sys-outline)!important}.search-field .mdc-notched-outline__notch{border-color:var(--mat-sys-outline)!important}.search-field input{font-size:.875rem;color:var(--mat-sys-on-surface)}.search-field input::placeholder{color:var(--mat-sys-on-surface-variant)}.search-field .mat-mdc-form-field-icon-prefix{padding:0 .25rem 0 .5rem}.search-field .mat-mdc-form-field-icon-prefix mat-icon{color:var(--mat-sys-on-surface-variant)}.search-field .mat-mdc-form-field-icon-suffix{padding:0 .25rem}.search-field .mat-mdc-form-field-icon-suffix button{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.view-toggle.mat-button-toggle-group{border:1px solid var(--mat-sys-outline);border-radius:9999px;overflow:hidden}.view-toggle .mat-button-toggle{background:transparent}.view-toggle .mat-button-toggle.mat-button-toggle-checked{background:var(--mat-sys-secondary-container)}.view-toggle .mat-button-toggle.mat-button-toggle-checked .mat-button-toggle-label-content mat-icon{color:var(--mat-sys-on-secondary-container)}.view-toggle .mat-button-toggle .mat-button-toggle-button{width:44px;height:40px}.view-toggle .mat-button-toggle .mat-button-toggle-label-content{padding:0;display:flex;align-items:center;justify-content:center;line-height:40px}.view-toggle .mat-button-toggle .mat-button-toggle-label-content mat-icon{color:var(--mat-sys-on-surface-variant)}.page-header{flex-shrink:0}.header-content{display:flex;align-items:center;justify-content:space-between;align-items:flex-start;gap:1.5rem}.header-title h1{margin:0 0 .25rem;font-size:1.75rem;font-weight:500;color:var(--text-primary)}.header-title p{margin:0;color:var(--text-secondary);font-size:.875rem}.header-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-shrink:0}.content-card{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;overflow:hidden}.entity-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem;overflow:auto;align-content:start}.loading-container,.empty-state{flex:1;display:flex;flex-direction:column;gap:1rem;align-items:center;justify-content:center;padding:3rem 1.5rem}.loading-container mat-icon,.empty-state mat-icon{font-size:48px;width:48px;height:48px;color:var(--text-tertiary)}.loading-container p,.empty-state p{margin:0;color:var(--text-secondary);font-size:.875rem}.table-container{flex:1;overflow:auto}@media(max-width:1024px){.header-content,.header-actions{flex-wrap:wrap}.search-field{width:200px}}@media(max-width:768px){.page-container{padding:1rem}.header-content{flex-direction:column;align-items:stretch}.header-actions{justify-content:space-between}.header-actions button[mat-flat-button]{flex:1}.search-field{flex:1;width:auto;min-width:0}.entity-grid{grid-template-columns:1fr;padding:1rem}}html{height:100%;--mat-sys-background: light-dark(#faf9fd, #121316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f2f0f4, #2f3033);--mat-sys-inverse-primary: light-dark(#abc7ff, #005cbb);--mat-sys-inverse-surface: light-dark(#2f3033, #e3e2e6);--mat-sys-on-background: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #002f65);--mat-sys-on-primary-container: light-dark(#00458f, #d7e3ff);--mat-sys-on-primary-fixed: light-dark(#001b3f, #001b3f);--mat-sys-on-primary-fixed-variant: light-dark(#00458f, #00458f);--mat-sys-on-secondary: light-dark(#ffffff, #283041);--mat-sys-on-secondary-container: light-dark(#3e4759, #dae2f9);--mat-sys-on-secondary-fixed: light-dark(#131c2b, #131c2b);--mat-sys-on-secondary-fixed-variant: light-dark(#3e4759, #3e4759);--mat-sys-on-surface: light-dark(#1a1b1f, #e3e2e6);--mat-sys-on-surface-variant: light-dark(#44474e, #e0e2ec);--mat-sys-on-tertiary: light-dark(#ffffff, #42008a);--mat-sys-on-tertiary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-outline: light-dark(#74777f, #8e9099);--mat-sys-outline-variant: light-dark(#c4c6d0, #44474e);--mat-sys-primary: light-dark(#005cbb, #abc7ff);--mat-sys-primary-container: light-dark(#d7e3ff, #00458f);--mat-sys-primary-fixed: light-dark(#d7e3ff, #d7e3ff);--mat-sys-primary-fixed-dim: light-dark(#abc7ff, #abc7ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#565e71, #bec6dc);--mat-sys-secondary-container: light-dark(#dae2f9, #3e4759);--mat-sys-secondary-fixed: light-dark(#dae2f9, #dae2f9);--mat-sys-secondary-fixed-dim: light-dark(#bec6dc, #bec6dc);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#faf9fd, #121316);--mat-sys-surface-bright: light-dark(#faf9fd, #38393c);--mat-sys-surface-container: light-dark(#efedf0, #1f2022);--mat-sys-surface-container-high: light-dark(#e9e7eb, #292a2c);--mat-sys-surface-container-highest: light-dark(#e3e2e6, #343537);--mat-sys-surface-container-low: light-dark(#f4f3f6, #1a1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0d0e11);--mat-sys-surface-dim: light-dark(#dbd9dd, #121316);--mat-sys-surface-tint: light-dark(#005cbb, #abc7ff);--mat-sys-surface-variant: light-dark(#e0e2ec, #44474e);--mat-sys-tertiary: light-dark(#7d00fa, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Inter;--mat-sys-body-large-font: Inter;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Inter;--mat-sys-body-medium-font: Inter;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Inter;--mat-sys-body-small-font: Inter;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Inter;--mat-sys-display-large-font: Inter;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Inter;--mat-sys-display-medium-font: Inter;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Inter;--mat-sys-display-small-font: Inter;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Inter;--mat-sys-headline-large-font: Inter;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Inter;--mat-sys-headline-medium-font: Inter;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Inter;--mat-sys-headline-small-font: Inter;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Inter;--mat-sys-label-large-font: Inter;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Inter;--mat-sys-label-medium-font: Inter;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Inter;--mat-sys-label-small-font: Inter;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Inter;--mat-sys-title-large-font: Inter;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Inter;--mat-sys-title-medium-font: Inter;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Inter;--mat-sys-title-small-font: Inter;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-checkbox-touch-target-display: none;--mat-checkbox-state-layer-size: 32px;--mat-chip-container-height: 24px;--mat-expansion-header-collapsed-state-height: 40px;--mat-expansion-header-expanded-state-height: 56px;--mat-fab-small-touch-target-display: ;--mat-fab-touch-target-display: none;--mat-button-filled-touch-target-display: none;--mat-button-filled-container-height: 32px;--mat-button-outlined-container-height: 32px;--mat-button-outlined-touch-target-display: none;--mat-button-protected-touch-target-display: none;--mat-button-protected-container-height: 32px;--mat-button-text-touch-target-display: none;--mat-button-text-container-height: 32px;--mat-button-tonal-container-height: 32px;--mat-button-tonal-touch-target-display: none;--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px;--mat-icon-button-touch-target-display: none;--mat-icon-button-state-layer-size: 32px;--mat-list-list-item-leading-icon-start-space: 8px;--mat-list-list-item-leading-icon-end-space: 8px;--mat-list-list-item-one-line-container-height: 40px;--mat-list-list-item-two-line-container-height: 56px;--mat-list-list-item-three-line-container-height: 80px;--mat-paginator-container-size: 48px;--mat-paginator-form-field-container-height: 40px;--mat-paginator-form-field-container-vertical-padding: 8px;--mat-paginator-touch-target-display: none;--mat-radio-touch-target-display: none;--mat-radio-state-layer-size: 32px;--mat-tab-container-height: 40px;--mat-select-arrow-transform: none;--mat-button-toggle-height: 40px;--mat-stepper-header-height: 64px;--mat-table-header-container-height: 48px;--mat-table-footer-container-height: 44px;--mat-table-row-item-container-height: 44px;--mat-toolbar-standard-height: 56px;--mat-toolbar-mobile-height: 48px;--mat-tree-node-min-height: 40px;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}html.dark{--mat-sys-background: #121316;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2f3033;--mat-sys-inverse-primary: #005cbb;--mat-sys-inverse-surface: #e3e2e6;--mat-sys-on-background: #e3e2e6;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #002f65;--mat-sys-on-primary-container: #d7e3ff;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #283041;--mat-sys-on-secondary-container: #dae2f9;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #e3e2e6;--mat-sys-on-surface-variant: #e0e2ec;--mat-sys-on-tertiary: #42008a;--mat-sys-on-tertiary-container: #ecdcff;--mat-sys-on-tertiary-fixed: #270057;--mat-sys-on-tertiary-fixed-variant: #5f00c0;--mat-sys-outline: #8e9099;--mat-sys-outline-variant: #44474e;--mat-sys-primary: #abc7ff;--mat-sys-primary-container: #00458f;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #bec6dc;--mat-sys-secondary-container: #3e4759;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #121316;--mat-sys-surface-bright: #38393c;--mat-sys-surface-container: #1f2022;--mat-sys-surface-container-high: #292a2c;--mat-sys-surface-container-highest: #343537;--mat-sys-surface-container-low: #1a1b1f;--mat-sys-surface-container-lowest: #0d0e11;--mat-sys-surface-dim: #121316;--mat-sys-surface-tint: #abc7ff;--mat-sys-surface-variant: #44474e;--mat-sys-tertiary: #d5baff;--mat-sys-tertiary-container: #5f00c0;--mat-sys-tertiary-fixed: #ecdcff;--mat-sys-tertiary-fixed-dim: #d5baff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--bg-hover: #f1f5f9;--bg-active: #e2e8f0;--bg-card: var(--bg-elevated);--border-color: var(--border-primary);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #6b7280;--text-inverse: #ffffff;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--primary: #2196f3;--primary-rgb: 33, 150, 243;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--sidebar-width: 240px;--sidebar-collapsed-width: 76px;--header-height: 56px;--success: #22c55e;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6}.dark{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-elevated: #1e293b;--bg-hover: #334155;--bg-active: #475569;--bg-card: var(--bg-elevated);--border-color: var(--border-primary);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #8b99ab;--text-inverse: #0f172a;--border-primary: #334155;--border-secondary: #475569;--primary: #64b5f6;--primary-rgb: 100, 181, 246;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--success: #4ade80;--warning: #fbbf24;--error: #f87171;--info: #60a5fa}*{box-sizing:border-box}body{margin:0;height:100%;background-color:var(--bg-secondary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:.875rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .2s ease,color .2s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.material-icons,mat-icon{font-family:Material Icons!important;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-display:block}.material-icons:not(.mat-icon-no-color),mat-icon:not(.mat-icon-no-color){color:inherit}mat-icon{overflow:hidden}.mat-mdc-card{background-color:var(--bg-elevated)!important;border:1px solid var(--border-primary);box-shadow:var(--shadow-sm)!important}.mat-mdc-dialog-container{--mdc-dialog-container-color: var(--bg-elevated)}.mat-mdc-menu-panel{background-color:var(--bg-elevated)!important;border:1px solid var(--border-primary)}.mat-mdc-menu-panel .mat-mdc-menu-item{display:flex!important;flex-direction:row!important;align-items:center!important}.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{margin-right:.75rem}.ai-model-menu.mat-mdc-menu-panel{max-width:360px}.ai-model-menu.mat-mdc-menu-panel .ai-model-item.mat-mdc-menu-item{align-items:flex-start!important;height:auto!important;min-height:48px;padding-top:8px!important;padding-bottom:8px!important}.ai-model-menu.mat-mdc-menu-panel .ai-model-item.mat-mdc-menu-item .mat-icon{margin-top:2px}.mat-mdc-form-field{--mdc-filled-text-field-container-color: var(--bg-tertiary);--mdc-outlined-text-field-outline-color: var(--border-primary)}.mat-mdc-table{background-color:var(--bg-elevated)!important}.mat-mdc-table .mat-mdc-header-row{background-color:var(--bg-secondary)}.mat-mdc-table .mat-mdc-row:hover{background-color:var(--bg-hover)}.mat-mdc-chip{--mdc-chip-container-shape-radius: 8px}.mat-mdc-chip,.mat-mdc-chip .mdc-evolution-chip__cell--primary,.mat-mdc-chip .mdc-evolution-chip__action--primary{border-radius:8px!important}.custom-snackbar{--mdc-snackbar-container-color: #323232;--mdc-snackbar-supporting-text-color: #ffffff}.custom-snackbar .mdc-snackbar__surface{border-radius:8px!important}.custom-snackbar .mat-mdc-snack-bar-label{padding:0!important}.custom-snackbar .snackbar-content{display:flex;align-items:center;gap:.75rem;padding:.75rem .25rem .75rem 1rem;min-height:40px}.custom-snackbar .snackbar-icon{flex-shrink:0;font-size:1.375rem;width:22px;height:22px}.custom-snackbar .snackbar-message{flex:1;font-size:.875rem;line-height:1.4;color:#fff}.custom-snackbar .snackbar-close{flex-shrink:0;width:32px;height:32px;opacity:.6;transition:opacity .15s ease;display:flex;align-items:center;justify-content:center}.custom-snackbar .snackbar-close mat-icon{font-size:1.125rem;width:18px;height:18px;color:#fff;display:flex;align-items:center;justify-content:center}.custom-snackbar .snackbar-close:hover{opacity:1}.custom-snackbar.snackbar-success .snackbar-icon{color:#22c55e}.custom-snackbar.snackbar-error .snackbar-icon{color:#ef4444}.custom-snackbar.snackbar-warning .snackbar-icon{color:#f59e0b}.custom-snackbar.snackbar-info .snackbar-icon{color:#3b82f6}.page-container{padding:1.5rem;max-width:1400px;margin:0 auto;display:flex;flex-direction:column;min-height:calc(100vh - var(--header-height))}.page-container-full{padding:1.5rem;display:flex;flex-direction:column;min-height:calc(100vh - var(--header-height))}.page-header{display:flex;align-items:flex-start;gap:.75rem}.page-header h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.page-header p{font-size:.875rem;color:var(--text-secondary);margin:0}.page-header .header-content{flex:1}.card{background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm)}.card-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between}.card-header h2{font-size:1rem;font-weight:600;margin:0}.card-body{padding:1.25rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:6px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-slide-in-up{animation:slideInUp .3s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.status-badge,.stat-badge,.stat-chip,.count-badge,.license-badge,.tag{border:1px solid ButtonText;forced-color-adjust:none}[class$=-badge],.toggle-btn,.toggle-group .toggle-btn{border:1px solid ButtonText}.toggle-btn.active,.toggle-btn[aria-pressed=true],.toggle-group .toggle-btn.active,.toggle-group .toggle-btn[aria-pressed=true]{border:2px solid Highlight;background:Highlight;color:HighlightText}.entity-card,.media-card{border:1px solid ButtonText}.entity-card:hover,.entity-card:focus-visible,.media-card:hover,.media-card:focus-visible{border-color:Highlight}.sort-btn,.filter-btn,.card-menu-btn,.menu-btn,.search-input{border:1px solid ButtonText}.search-input:focus-within{border-color:Highlight}mat-icon{forced-color-adjust:auto}.skip-to-content:focus{border:2px solid ButtonText}.readonly-banner{border:1px solid ButtonText}}.skip-to-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:1080}.skip-to-content:focus{position:fixed;top:.5rem;left:.5rem;width:auto;height:auto;padding:.75rem 1.5rem;background:var(--mat-sys-primary, #2196f3);color:#fff;border-radius:8px;font-size:.875rem;font-weight:600;text-decoration:none;box-shadow:var(--shadow-lg);outline:2px solid #ffffff;outline-offset:2px}.permission-disabled{pointer-events:auto!important;cursor:not-allowed!important;opacity:.5}.readonly-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.readonly-banner mat-icon{font-size:1.125rem;width:1.125rem;height:1.125rem}mat-spinner.inherit-color circle,.mat-mdc-progress-spinner.inherit-color circle{stroke:currentColor}.no-subscript .mat-mdc-form-field-subscript-wrapper{display:none}.compact-field .mat-mdc-text-field-wrapper{height:34px;padding:0 .5rem}.compact-field .mat-mdc-form-field-infix{padding-top:0;padding-bottom:0;min-height:34px;display:flex;align-items:center}.compact-field .mdc-notched-outline__notch{border-right:none}.compact-field .mat-mdc-select{font-size:.75rem}.compact-field .mat-mdc-form-field-flex{height:34px;align-items:center}.compact-field .mat-mdc-form-field-subscript-wrapper{display:none}.multiline-tooltip{white-space:pre-line}.tag-autocomplete-panel{max-height:320px}.tag-autocomplete-panel .mat-mdc-optgroup-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);padding:.75rem 1rem 6px;min-height:auto;line-height:1.4}.tag-autocomplete-panel .mat-mdc-option{min-height:44px;padding:.5rem 1rem}.tag-autocomplete-panel .mat-mdc-option:hover:not(.mdc-list-item--disabled){background:var(--bg-hover)}.compact-option-panel .mat-mdc-option{min-height:60px;padding:.5rem 1rem}.compact-option-panel .mat-mdc-option .option-content{width:100%}.danger-menu-item{color:var(--mat-sys-error)}.danger-menu-item mat-icon{color:var(--mat-sys-error)}.compact-checkbox .mdc-form-field{padding:0;margin:0}.compact-checkbox .mdc-checkbox{padding:0;margin:0;width:18px;height:18px;flex:0 0 18px}.compact-checkbox .mdc-checkbox__background{top:0;left:0}.compact-checkbox .mat-mdc-checkbox-touch-target,.compact-checkbox .mdc-checkbox__ripple,.compact-checkbox .mat-mdc-checkbox-ripple{display:none}.transparent-expansion-panel .mat-expansion-panel-header{padding:0 .5rem;background:transparent!important}.transparent-expansion-panel .mat-expansion-panel-header:hover{background:var(--bg-hover)!important}.transparent-expansion-panel .mat-expansion-panel-body{padding:0}.mat-mdc-table .icon-header,.mat-mdc-table .icon-cell{width:56px;min-width:56px;max-width:56px}@media(max-width:768px){.page-container{padding:1rem}.page-header h1{font-size:1.25rem}}
