@charset "UTF-8";.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}}[data-theme=light]{--bg-primary: #f8fafc;--bg-secondary: #ffffff;--bg-tertiary: #f1f5f9;--bg-elevated: #ffffff;--sph-menu-surface: #ffffff;--card-bg: #ffffff;--card-hover-bg: #f8fafc;--card-header-bg: #eaf1ff;--card-header-text: #1e3a8a;--card-header-icon: #2563eb;--card-content-bg: #fafbfc;--table-bg: #ffffff;--table-header-bg: #f1f5f9;--table-row-hover: #f8fafc;--table-row-selected: #eff6ff;--sidebar-bg: #ffffff;--topbar-bg: #ffffff;--input-bg: #ffffff;--input-disabled-bg: #f1f5f9;--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-disabled: #94a3b8;--text-inverse: #ffffff;--border-color: #a5acb46b;--border-hover: #cbd5e1;--divider-color: #e5e7eb;--focus-ring: #3b82f680;--accent-primary: #3b6fd6;--accent-primary-hover: #2f5cc0;--accent-secondary: #0891b2;--accent-secondary-hover: #0e7490;--accent-glow-1: rgba(59, 111, 214, .09);--accent-glow-2: rgba(8, 145, 178, .08);--accent-gradient: linear-gradient(135deg, #2563eb 0%, #0891b2 100%);--btn-submit-bg: #001fd9c4;--btn-primary-bg: #1e40af;--btn-primary-hover-bg: #1e3a8a;--btn-primary-text: #ffffff;--btn-secondary-bg: transparent;--btn-secondary-hover-bg: #f1f5f9;--btn-secondary-text: #475569;--btn-secondary-border: #cbd5e1;--badge-bg: #dbeafe;--badge-text: #1e40af;--badge-icon: #3b82f6;--badge-border: #bfdbfe;--success: #16a34a;--success-bg: #f0fdf4;--success-border: #bbf7d0;--success-text: #166534;--warning: #d97706;--warning-bg: #fffbeb;--warning-border: #fde68a;--warning-text: #92400e;--critical: #dc2626;--critical-bg: #fef2f2;--critical-border: #fecaca;--critical-text: #991b1b;--info: #0284c7;--info-bg: #f0f9ff;--info-border: #bae6fd;--info-text: #075985;--neutral: #64748b;--neutral-bg: #f8fafc;--neutral-border: #e2e8f0;--neutral-text: #475569;--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);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--chart-blue: #3b82f6;--chart-green: #22c55e;--chart-yellow: #f59e0b;--chart-red: #ef4444;--chart-purple: #a855f7;--chart-cyan: #06b6d4;--chart-pink: #ec4899;--chart-orange: #f97316;--chart-grid: #e5e7eb;--chart-axis: #9ca3af;--hover-overlay: rgba(0, 0, 0, .04);--active-overlay: rgba(0, 0, 0, .08);--disabled-overlay: rgba(0, 0, 0, .12);--scrollbar-track: #f1f5f9;--scrollbar-thumb: #cbd5e1;--scrollbar-thumb-hover: #94a3b8;--icon-primary: #475569;--icon-secondary: #64748b;--icon-accent: #2563eb;--icon-success: #16a34a;--icon-warning: #d97706;--icon-critical: #dc2626;--icon-disabled: #cbd5e1;--border-subtle: rgba(0, 0, 0, .08);--border-subtle-1: rgba(0, 0, 0, .1);--border-subtle-2: rgba(0, 0, 0, .12);--elevation-shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--elevation-shadow-md: 0 2px 6px rgba(0, 0, 0, .15);--elevation-shadow-lg: 0 8px 32px rgba(0, 0, 0, .12);--menu-bg-gradient: linear-gradient(165deg, rgba(255, 255, 255, .98) 0%, rgba(248, 250, 252, .98) 100%);--menu-border: rgba(0, 0, 0, .08);--menu-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 0 1px rgba(0, 0, 0, .05);--modal-bg: rgba(255, 255, 255, 255);--modal-backdrop: rgba(0, 0, 0, .25);--modal-shadow: 0 8px 32px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .05);--modal-card-bg: rgba(241, 245, 249, .6);--modal-chart-section-bg: transparent}[data-theme=dark]{--bg-primary: rgb(5 5 5);--bg-secondary: #000815;--bg-tertiary: #1e3a5f7d;--bg-elevated: #1e293b;--sph-menu-surface: #141821;--card-bg: black;--card-hover-bg: #00010333 !important;--card-header-bg: #111728;--card-header-text: #ffffff;--card-header-icon: rgba(255, 255, 255, .95);--card-content-bg: rgba(30, 58, 95, .25);--table-bg: #111b2c6b !important;--table-header-bg: #151227fa;--table-row-hover: #1e3a5f;--table-row-selected: #1e3a5f;--sidebar-bg: rgb(15 15 18);--topbar-bg: rgb(15 15 18);--input-bg: #050b15;--input-disabled-bg: #1e293b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-disabled: #64748b;--text-inverse: #ffffff;--border-color: #334155;--border-hover: #475569;--divider-color: #334155;--focus-ring: #3b82f680;--accent-primary: #5a8aee;--accent-primary-hover: #79a2f3;--accent-secondary: #22d3ee;--accent-secondary-hover: #67e8f9;--accent-glow-1: rgba(90, 138, 238, .13);--accent-glow-2: rgba(34, 211, 238, .12);--accent-gradient: linear-gradient(135deg, #3b82f6 0%, #22d3ee 100%);--btn-submit-bg: #0659e08a;--btn-primary-bg: #1e3a8a;--btn-primary-hover-bg: #2563eb;--btn-primary-text: #ffffff;--btn-secondary-bg: transparent;--btn-secondary-hover-bg: #334155;--btn-secondary-text: #cbd5e1;--btn-secondary-border: #475569;--badge-bg: #1e3a8a;--badge-text: #bfdbfe;--badge-icon: #93c5fd;--badge-border: #1e40af;--success: #059669;--success-bg: #14532d;--success-border: #166534;--success-text: #6ee7b7;--warning: #ca8a04;--warning-bg: #463b15;--warning-border: #fde68a87;--warning-text: #fbbf24;--critical: #991b1b;--critical-bg: #450a0a;--critical-border: #7f1d1d;--critical-text: #fca5a5;--info: #0ea5e9;--info-bg: #082f49;--info-border: #075985;--info-text: #7dd3fc;--neutral: #64748b;--neutral-bg: #1e293b;--neutral-border: #334155;--neutral-text: #94a3b8;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .3);--chart-blue: #3b82f6;--chart-green: #10b981;--chart-yellow: #ca8a04;--chart-red: #991b1b;--chart-purple: #9333ea;--chart-cyan: #0891b2;--chart-pink: #db2777;--chart-orange: #c2410c;--chart-grid: #1f2937;--chart-axis: #4b5563;--hover-overlay: rgba(255, 255, 255, .05);--active-overlay: rgba(255, 255, 255, .1);--disabled-overlay: rgba(255, 255, 255, .02);--scrollbar-track: #1e293b;--scrollbar-thumb: #475569;--scrollbar-thumb-hover: #64748b;--icon-primary: #94a3b8;--icon-secondary: #64748b;--icon-accent: #3b82f6;--icon-success: #22c55e;--icon-warning: #f59e0b;--icon-critical: #ef4444;--icon-disabled: #475569;--border-subtle: rgba(255, 255, 255, .06);--border-subtle-1: rgba(255, 255, 255, .08);--border-subtle-2: rgba(255, 255, 255, .1);--border-subtle-3: rgba(255, 255, 255, .12);--border-subtle-4: rgba(255, 255, 255, .15);--border-subtle-5: rgba(255, 255, 255, .25);--elevation-shadow-sm: 0 1px 3px rgba(0, 0, 0, .2);--elevation-shadow-md: 0 2px 6px rgba(0, 0, 0, .3);--elevation-shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--menu-bg-gradient: linear-gradient(165deg, rgba(30, 35, 48, .98) 0%, rgba(20, 24, 35, .98) 100%);--menu-border: rgba(255, 255, 255, .1);--menu-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 1px rgba(255, 255, 255, .1);--modal-bg: rgba(15, 18, 25, .75);--modal-backdrop: rgba(0, 0, 0, .3);--modal-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 255, 255, .08);--modal-card-bg: rgba(30, 41, 59, .6);--modal-chart-section-bg: transparent}:root,[data-theme=light],[data-theme=dark]{--btn-primary-text: var(--text-inverse);--btn-secondary-bg: transparent;--btn-secondary-hover: var(--bg-tertiary);--btn-secondary-text: var(--text-secondary);--btn-secondary-border: var(--border-color);--btn-ghost-bg: transparent;--btn-ghost-hover: var(--hover-overlay);--btn-ghost-text: var(--text-secondary);--btn-danger-bg: var(--critical);--btn-danger-hover: var(--critical-border);--btn-danger-text: var(--text-inverse)}:root,[data-theme=light],[data-theme=dark]{--badge-default-bg: var(--neutral-bg);--badge-default-text: var(--neutral-text);--badge-default-border: var(--neutral-border);--badge-success-bg: var(--success-bg);--badge-success-text: var(--success-text);--badge-success-border: var(--success-border);--badge-warning-bg: var(--warning-bg);--badge-warning-text: var(--warning-text);--badge-warning-border: var(--warning-border);--badge-critical-bg: var(--critical-bg);--badge-critical-text: var(--critical-text);--badge-critical-border: var(--critical-border);--badge-info-bg: var(--info-bg);--badge-info-text: var(--info-text);--badge-info-border: var(--info-border)}:root,[data-theme=light],[data-theme=dark]{--log-bg: var(--card-bg);--log-text: var(--text-secondary);--log-timestamp: var(--text-tertiary);--log-level-debug: var(--neutral-text);--log-level-info: var(--info-text);--log-level-warn: var(--warning-text);--log-level-error: var(--critical-text)}:root{--space-0: 0;--space-1: .25rem;--space-2: .375rem;--space-3: .5rem;--space-4: .625rem;--space-5: .75rem;--space-6: .875rem;--space-8: 1rem;--space-10: 1.5rem;--space-12: 2rem;--space-16: 2.5rem;--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .625rem;--radius-2xl: .75rem;--radius-3xl: 1rem;--radius-full: 9999px;--font-xs: .625rem;--font-sm: .65rem;--font-base: .8125rem;--font-md: .875rem;--font-lg: .9375rem;--font-xl: 1rem;--font-2xl: 1.125rem;--font-3xl: 1.375rem;--font-4xl: 1.5rem;--font-form-label: .75rem;--font-form-input: .8125rem;--font-form-hint: .625rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", "Monaco", monospace;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--sidebar-width: 220px;--sidebar-collapsed-width: 56px;--topbar-height: 56px;--table-row-height: 40px;--z-dropdown: 1000;--z-sticky: 1100;--z-modal-backdrop: 1200;--z-modal: 1300;--z-toast: 1400;--z-tooltip: 1500;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}@media(prefers-contrast:high){:root,[data-theme=light]{--border-color: #000000;--text-primary: #000000}[data-theme=dark]{--border-color: #ffffff;--text-primary: #ffffff}}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}:root{--sph-critical: var(--critical);--sph-high: var(--warning);--sph-medium: #eab308;--sph-low: var(--info);--sph-open: var(--info);--sph-progress: var(--warning);--sph-resolved: var(--success);--sph-closed: var(--neutral);--sph-h-xxs: 20px;--sph-h-xs: 22px;--sph-h-sm: 26px;--sph-h-md: 30px}.sph-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:var(--sph-h-md);padding:0 12px;border:1px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-size:12px;font-weight:var(--font-medium);text-decoration:none;line-height:1;white-space:nowrap;cursor:pointer;transition:var(--transition-fast);-webkit-user-select:none;user-select:none}.sph-btn mat-icon,.sph-btn .sph-i{font-size:15px;width:15px;height:15px}.sph-btn:disabled{opacity:.5;cursor:not-allowed}.sph-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.sph-btn--xxs{height:20px;padding:0 6px;font-size:11px}.sph-btn--xxs mat-icon,.sph-btn--xxs .sph-i{font-size:12px;width:12px;height:12px}.sph-btn--icon.sph-btn--xxs{width:20px;padding:0}.sph-btn--xs{height:22px;padding:0 8px;font-size:11px}.sph-btn--xs mat-icon,.sph-btn--xs .sph-i{font-size:13px;width:13px;height:13px}.sph-btn--icon.sph-btn--xs{width:22px;padding:0}.sph-btn--sm{height:26px;padding:0 10px;font-size:12px}.sph-btn--sm mat-icon,.sph-btn--sm .sph-i{font-size:14px;width:14px;height:14px}.sph-btn--icon.sph-btn--sm{width:26px;padding:0}.sph-btn--md{height:30px;padding:0 12px;font-size:12px}.sph-btn--md mat-icon,.sph-btn--md .sph-i{font-size:15px;width:15px;height:15px}.sph-btn--icon.sph-btn--md{width:30px;padding:0}.sph-btn--primary{background:color-mix(in srgb,var(--accent-primary) 80%,var(--bg-primary));color:#fff}.sph-btn--primary:hover:not(:disabled){background:var(--accent-primary)}.sph-btn--secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.sph-btn--secondary:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.sph-btn--ghost{background:transparent;color:var(--text-secondary)}.sph-btn--ghost:hover:not(:disabled){background:var(--hover-overlay);color:var(--text-primary)}.sph-btn--subtle{background:var(--accent-glow-1);color:var(--accent-primary)}.sph-btn--subtle:hover:not(:disabled){background:color-mix(in srgb,var(--accent-primary) 18%,transparent)}.sph-btn--success{background:var(--success);color:#fff}.sph-btn--success:hover:not(:disabled){filter:brightness(1.05)}.sph-btn--danger{background:var(--critical);color:#fff}.sph-btn--danger:hover:not(:disabled){filter:brightness(1.05)}.sph-btn--danger-outline{background:transparent;color:var(--critical);border-color:var(--critical-border)}.sph-btn--danger-outline:hover:not(:disabled){background:var(--critical-bg)}.sph-btn--danger-subtle{background:var(--critical-bg);color:var(--critical);border-color:var(--critical-border)}.sph-btn--danger-subtle:hover:not(:disabled){background:color-mix(in srgb,var(--critical) 20%,transparent);color:var(--critical)}.sph-btn--icon{width:var(--sph-h-md);padding:0}.sph-btn--block{display:flex;width:100%}.sph-field{display:flex;flex-direction:column;gap:5px}.sph-label{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-secondary)}.sph-hint{font-size:10px;color:var(--text-tertiary)}.sph-req{color:var(--critical);font-size:var(--font-base);font-weight:var(--font-bold);line-height:1}.sph-optional{font-weight:400;color:var(--text-tertiary)}.sph-input{width:100%;box-sizing:border-box;height:var(--sph-h-md);padding:0 10px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);font-family:inherit;font-size:12px;color:var(--text-primary);outline:none;transition:var(--transition-fast)}.sph-input::placeholder{color:var(--text-disabled)}.sph-input:hover:not(:focus):not(:disabled){border-color:var(--border-hover)}.sph-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.sph-input:disabled{opacity:.55;cursor:not-allowed}.sph-input.sph-input--invalid{border-color:var(--critical)}.sph-input:-webkit-autofill,.sph-input:-webkit-autofill:hover,.sph-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--input-bg) inset;transition:background-color 9999s}textarea.sph-input{height:auto;min-height:64px;padding:8px 10px;resize:vertical;line-height:1.45}.sph-select{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer}.sph-select--fit{width:auto;min-width:0}.sph-input--xxs{height:20px;font-size:11px}textarea.sph-input--xxs{height:auto}.sph-input--xs{height:22px;font-size:11px}textarea.sph-input--xs{height:auto}.sph-input--sm{height:26px;font-size:12px}textarea.sph-input--sm{height:auto}.sph-input--md{height:30px;font-size:12px}textarea.sph-input--md{height:auto}.sph-search{display:flex;align-items:center;gap:6px;height:var(--sph-h-md);padding:0 10px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition-fast)}.sph-search:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.sph-search mat-icon{font-size:15px;width:15px;height:15px;color:var(--text-tertiary);flex:0 0 auto}.sph-search input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:inherit;font-size:12px;color:var(--text-primary)}.sph-search input::placeholder{color:var(--text-tertiary)}.sph-check,.sph-radio{display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:13px;color:var(--text-secondary)}.sph-check input,.sph-radio input{accent-color:var(--accent-primary);width:15px;height:15px;margin:0}.sph-switch{position:relative;flex:0 0 auto;width:34px;height:18px;padding:0;border:none;border-radius:var(--radius-full);background:var(--neutral);cursor:pointer;transition:var(--transition-fast)}.sph-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:var(--transition-fast)}.sph-switch.on{background:var(--accent-primary)}.sph-switch.on:after{transform:translate(16px)}.sph-switch:disabled{opacity:.5;cursor:not-allowed}.sph-switch--sm{width:28px;height:15px}.sph-switch--sm:after{width:11px;height:11px}.sph-switch--sm.on:after{transform:translate(13px)}.sph-switch--xs{width:24px;height:13px}.sph-switch--xs:after{width:9px;height:9px}.sph-switch--xs.on:after{transform:translate(11px)}.sph-table-wrap{position:relative;width:100%;display:flex;flex-direction:column;min-height:0;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--card-bg);overflow:hidden}.sph-table-scroll{overflow:auto;min-height:0;flex:1}.sph-table-scroll::-webkit-scrollbar{width:9px;height:9px}.sph-table-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.sph-table-scroll::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.sph-table{width:100%;border-collapse:collapse;font-size:12px}.sph-table thead th{position:sticky;top:0;z-index:1;text-align:left;padding:7px 12px;background:var(--table-header-bg);color:var(--text-tertiary);font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid var(--divider-color)}.sph-table tbody td{padding:7px 12px;border-bottom:1px solid var(--divider-color);color:var(--text-secondary);vertical-align:middle;line-height:1.4}.sph-table tbody tr:last-child td{border-bottom:none}.sph-table tbody tr:hover td{background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.sph-table tbody tr.is-selected td{background:var(--accent-glow-1)}.sph-table .sph-c{text-align:center}.sph-table .sph-r{text-align:right;font-variant-numeric:tabular-nums}.sph-table th.sph-c,.sph-table th.sph-r{text-align:inherit}.sph-table th.sph-c{text-align:center}.sph-table th.sph-r{text-align:right}.sph-table .sph-strong{color:var(--text-primary);font-weight:var(--font-medium)}.sph-table .sph-muted{color:var(--text-tertiary)}.sph-table .sph-clip{max-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sph-table .sph-wrap{white-space:normal;word-break:break-word}.sph-table .sph-nowrap{white-space:nowrap}.sph-table--fixed{table-layout:fixed}.sph-table--fit{width:auto}.sph-table--fit th,.sph-table--fit td{white-space:nowrap}.sph-table--bordered th,.sph-table--bordered td{border-right:1px solid var(--divider-color)}.sph-table--bordered th:last-child,.sph-table--bordered td:last-child{border-right:none}.sph-table--compact{font-size:var(--font-sm)}.sph-table--compact thead th,.sph-table--compact tbody td{padding:5px 10px}.sph-table--zebra tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--text-primary) 3%,transparent)}.sph-table th.sph-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sph-table th.sph-sortable:hover{color:var(--text-secondary)}.sph-th{display:inline-flex;align-items:center;gap:4px}.sph-th--end{flex-direction:row-reverse}.sph-sort{font-size:14px!important;width:14px!important;height:14px!important;opacity:.35;transition:var(--transition-fast)}.sph-sortable.is-sorted .sph-sort{opacity:1;color:var(--accent-primary)}.sph-table__check{width:34px;text-align:center}.sph-table__check input{accent-color:var(--accent-primary);width:14px;height:14px;margin:0;vertical-align:middle;cursor:pointer}.sph-table tbody tr.is-checked td{background:var(--accent-glow-1)}.sph-mono{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.sph-table--stickfirst th:first-child,.sph-table--stickfirst td:first-child{position:sticky;left:0;z-index:2;background:var(--card-bg)}.sph-table--stickfirst thead th:first-child{z-index:3;background:var(--table-header-bg)}.sph-table .sph-stick{position:sticky;z-index:2;background:var(--card-bg)}.sph-table thead .sph-stick{z-index:3;background:var(--table-header-bg)}.sph-table--zebra tbody tr:nth-child(2n) .sph-stick{background:color-mix(in srgb,var(--text-primary) 3%,var(--card-bg))}.sph-table tbody tr:hover .sph-stick{background:color-mix(in srgb,var(--text-primary) 5%,var(--card-bg))}.sph-table tbody tr.is-checked .sph-stick,.sph-table tbody tr.is-selected .sph-stick{background:color-mix(in srgb,var(--accent-primary) 12%,var(--card-bg))}.sph-stick-l1{left:0}.sph-stick-l2{left:44px;box-shadow:inset -1px 0 0 0 var(--border-color),6px 0 8px -6px #00000059}.sph-stick-r1{right:0;box-shadow:inset 1px 0 0 0 var(--border-color),-6px 0 8px -6px #00000059}.sph-bulkbar{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);background:var(--accent-glow-1);border:1px solid var(--accent-primary);border-radius:var(--radius-md)}.sph-bulkbar .sph-bulkbar__info{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--accent-primary)}.sph-bulkbar .sph-bulkbar__info mat-icon{font-size:18px;width:18px;height:18px}.sph-bulkbar .sph-bulkbar__actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.sph-bulkbar .sph-bulkbar__close{margin-left:auto}.sph-table-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:6px 10px;border-top:1px solid var(--divider-color);background:var(--card-bg);font-size:var(--font-xs);color:var(--text-tertiary)}.sph-table-foot__info{display:inline-flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sph-pager{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap}.sph-pager__btn{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 5px;border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:var(--font-xs);transition:var(--transition-fast)}.sph-pager__btn mat-icon{font-size:16px;width:16px;height:16px}.sph-pager__btn:hover:not(:disabled):not(.active){border-color:var(--border-hover);color:var(--text-primary)}.sph-pager__btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.sph-pager__btn:disabled{opacity:.4;cursor:not-allowed}.sph-pager__gap{display:inline-flex;align-items:flex-end;justify-content:center;min-width:18px;color:var(--text-tertiary);padding-bottom:2px}.sph-pager__jump{display:inline-flex;align-items:center;gap:4px;margin-left:var(--space-2)}.sph-pager__input{width:48px;height:24px;padding:0 6px;text-align:center;background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-xs);color:var(--text-primary);outline:none}.sph-pager__input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--focus-ring)}.sph-table__actions{display:inline-flex;align-items:center;gap:var(--space-2)}.sph-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:auto;height:24px;border:1px solid transparent;background:transparent;color:var(--text-tertiary);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.sph-iconbtn mat-icon{font-size:16px;width:16px;height:16px}.sph-iconbtn:hover{background:var(--hover-overlay);color:var(--accent-primary)}.sph-iconbtn:disabled,.sph-iconbtn.disabled{opacity:.35;cursor:not-allowed}.sph-iconbtn:disabled:hover,.sph-iconbtn.disabled:hover{background:transparent}.sph-iconbtn--view{color:var(--info)}.sph-iconbtn--view:hover{color:var(--info);background:color-mix(in srgb,var(--info) 14%,transparent)}.sph-iconbtn--edit{color:var(--accent-primary)}.sph-iconbtn--edit:hover{color:var(--accent-primary);background:var(--accent-glow-1)}.sph-iconbtn--success{color:var(--success)}.sph-iconbtn--success:hover{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.sph-iconbtn--danger{color:var(--critical)}.sph-iconbtn--danger:hover{color:var(--critical);background:var(--critical-bg)}.sph-row--expandable>td:first-child{cursor:pointer}.sph-row__caret{display:inline-flex;transition:transform var(--transition-fast);color:var(--text-tertiary)}.sph-row__caret mat-icon{font-size:16px;width:16px;height:16px}.sph-row__caret.open{transform:rotate(90deg);color:var(--accent-primary)}.sph-row__detail>td{padding:0!important;background:var(--bg-tertiary);border-bottom:1px solid var(--divider-color)}.sph-row__detail-inner{padding:var(--space-4) var(--space-5)}.sph-segment{display:inline-flex;gap:2px;padding:3px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.sph-segment button{border:none;background:transparent;color:var(--text-secondary);font-family:inherit;font-size:var(--font-sm);font-weight:var(--font-medium);padding:5px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast)}.sph-segment button:hover:not(.active){color:var(--text-primary)}.sph-segment button.active{background:var(--accent-primary);color:#fff;box-shadow:var(--shadow-sm)}.sph-tabs{display:flex;gap:var(--space-4);border-bottom:1px solid var(--border-color)}.sph-tabs button{border:none;background:transparent;color:var(--text-tertiary);font-family:inherit;font-size:var(--font-base);font-weight:var(--font-medium);padding:8px 2px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:var(--transition-fast)}.sph-tabs button:hover:not(.active){color:var(--text-primary)}.sph-tabs button.active{color:var(--accent-primary);border-bottom-color:var(--accent-primary)}.sph-filter{position:relative;flex:0 0 auto}.sph-filter__btn{padding:0 8px;gap:4px;white-space:nowrap}.sph-filter__btn mat-icon{font-size:14px;width:14px;height:14px}.sph-filter__btn.active{border-color:var(--accent-primary);color:var(--accent-primary)}.sph-filter__chev{color:var(--text-tertiary);margin-left:-2px}.sph-filter__count{line-height:1.4}.sph-filter__panel{position:absolute;top:calc(100% + 4px);left:0;z-index:var(--z-dropdown);min-width:200px;max-height:280px;overflow:auto;background:var(--sph-menu-surface, var(--bg-elevated));border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--menu-shadow);padding:4px}.sph-filter__panel--right{left:auto;right:0}.sph-filter__opt{display:flex;align-items:center;gap:8px;padding:5px 8px;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text-secondary)}.sph-filter__opt input{accent-color:var(--accent-primary);width:14px;height:14px}.sph-filter__opt:hover{background:var(--hover-overlay);color:var(--text-primary)}.sph-filter__empty{display:block;padding:8px;font-size:var(--font-xs);color:var(--text-tertiary)}.sph-filter__foot{display:flex;gap:6px;padding:6px 4px 2px;margin-top:4px;border-top:1px solid var(--divider-color);position:sticky;bottom:0;background:var(--sph-menu-surface, var(--bg-elevated))}.sph-filter__foot .sph-btn{flex:1;height:24px;padding:0 8px;font-size:var(--font-xs)}.sph-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-medium);line-height:1.4;white-space:nowrap}.sph-badge mat-icon{font-size:13px;width:13px;height:13px}.sph-badge--xxs{padding:0 6px;font-size:9px}.sph-badge--xs{padding:1px 7px;font-size:10px}.sph-badge--sm{padding:1px 8px;font-size:var(--font-xs)}.sph-badge--solid{color:#fff!important}.sph-badge--critical{color:var(--sph-critical);background:color-mix(in srgb,var(--sph-critical) 14%,transparent)}.sph-badge--critical.sph-badge--solid{background:var(--sph-critical)}.sph-status--critical{color:var(--sph-critical)}.sph-badge--high{color:var(--sph-high);background:color-mix(in srgb,var(--sph-high) 14%,transparent)}.sph-badge--high.sph-badge--solid{background:var(--sph-high)}.sph-status--high{color:var(--sph-high)}.sph-badge--medium{color:var(--sph-medium);background:color-mix(in srgb,var(--sph-medium) 14%,transparent)}.sph-badge--medium.sph-badge--solid{background:var(--sph-medium)}.sph-status--medium{color:var(--sph-medium)}.sph-badge--low{color:var(--sph-low);background:color-mix(in srgb,var(--sph-low) 14%,transparent)}.sph-badge--low.sph-badge--solid{background:var(--sph-low)}.sph-status--low{color:var(--sph-low)}.sph-badge--open{color:var(--sph-open);background:color-mix(in srgb,var(--sph-open) 14%,transparent)}.sph-badge--open.sph-badge--solid{background:var(--sph-open)}.sph-status--open{color:var(--sph-open)}.sph-badge--progress{color:var(--sph-progress);background:color-mix(in srgb,var(--sph-progress) 14%,transparent)}.sph-badge--progress.sph-badge--solid{background:var(--sph-progress)}.sph-status--progress{color:var(--sph-progress)}.sph-badge--resolved{color:var(--sph-resolved);background:color-mix(in srgb,var(--sph-resolved) 14%,transparent)}.sph-badge--resolved.sph-badge--solid{background:var(--sph-resolved)}.sph-status--resolved{color:var(--sph-resolved)}.sph-badge--closed{color:var(--sph-closed);background:color-mix(in srgb,var(--sph-closed) 14%,transparent)}.sph-badge--closed.sph-badge--solid{background:var(--sph-closed)}.sph-status--closed{color:var(--sph-closed)}.sph-badge--success{color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent)}.sph-badge--success.sph-badge--solid{background:var(--success)}.sph-status--success{color:var(--success)}.sph-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);font-weight:var(--font-medium)}.sph-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.sph-status--pulse:before{animation:sph-pulse 1.4s ease-in-out infinite}@keyframes sph-pulse{0%,to{opacity:1}50%{opacity:.35}}.status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);line-height:1.4;text-transform:capitalize;white-space:nowrap;color:var(--text-secondary);background:var(--hover-overlay);border:1px solid transparent}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.status-badge.online,.status-badge.active,.status-badge.connected,.status-badge.running{color:#16a34a;background:#22c55e24;border-color:#22c55e4d}.status-badge.offline,.status-badge.disconnected,.status-badge.inactive,.status-badge.stopped{color:#d97706;background:#f59e0b24;border-color:#f59e0b4d}.status-badge.not_reachable,.status-badge.not-reachable,.status-badge.notreachable,.status-badge.unreachable,.status-badge.error{color:#dc2626;background:#ef444424;border-color:#ef44444d}.status-badge.unknown,.status-badge.pending{color:var(--text-tertiary);background:var(--hover-overlay)}.sph-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;border-radius:var(--radius-sm);font-size:10px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.sph-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--card-bg);color:var(--text-secondary);font-family:inherit;font-size:var(--font-xs);font-weight:var(--font-medium);cursor:pointer;transition:var(--transition-fast)}.sph-chip:hover:not(.active){border-color:var(--border-hover);color:var(--text-primary)}.sph-chip.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.sph-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.sph-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);font-size:var(--font-xs);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary)}.sph-card__body{padding:var(--space-4);font-size:var(--font-base);color:var(--text-secondary);line-height:1.5}.sph-card__foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);background:var(--bg-secondary)}.sph-kpi{position:relative;overflow:hidden;display:flex;align-items:center;gap:var(--space-3);background:var(--card-bg);border:1px solid var(--border-color);border-left:3px solid var(--sph-kpi-c, var(--accent-primary));border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:10px 12px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.sph-kpi__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border-radius:var(--radius-md);background:var(--sph-kpi-bg, var(--accent-glow-1));color:var(--sph-kpi-c, var(--accent-primary))}.sph-kpi__icon mat-icon{font-size:19px;width:19px;height:19px}.sph-kpi__body{display:flex;flex-direction:column;min-width:0;gap:1px}.sph-kpi__value{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sph-kpi__label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);white-space:nowrap}.sph-kpi__sub{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sph-kpi--primary{--sph-kpi-c: var(--accent-primary);--sph-kpi-bg: var(--accent-glow-1)}.sph-kpi--info{--sph-kpi-c: var(--info);--sph-kpi-bg: var(--info-bg)}.sph-kpi--success{--sph-kpi-c: var(--success);--sph-kpi-bg: var(--success-bg)}.sph-kpi--warning{--sph-kpi-c: var(--warning);--sph-kpi-bg: var(--warning-bg)}.sph-kpi--critical{--sph-kpi-c: var(--critical);--sph-kpi-bg: var(--critical-bg)}.sph-kpi--link{cursor:pointer}.sph-kpi--link:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sph-kpi--stack{flex-direction:column;align-items:stretch;gap:6px}.sph-kpi__top{display:flex;align-items:center;gap:var(--space-2);min-width:0}.sph-kpi__text{display:flex;flex-direction:column;gap:1px;min-width:0}.sph-kpi__top .sph-kpi__value{min-width:0}.sph-kpi__value small{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-tertiary);margin-left:4px}.sph-kpi--compact{padding:var(--space-2) var(--space-3)}.sph-kpi--compact .sph-kpi__icon{width:28px;height:28px}.sph-kpi--compact .sph-kpi__icon mat-icon{font-size:16px;width:16px;height:16px}.sph-kpi--compact .sph-kpi__value{font-size:var(--font-lg)}.sph-kpi--compact .sph-kpi__label{font-size:10px;white-space:normal;line-height:1.2}.sph-kpi--compact .sph-kpi__sub{font-size:10px}.sph-card__titles{display:flex;flex-direction:column;gap:2px;min-width:0}.sph-card__title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.sph-card__sub{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;line-height:1.2}.sph-card__link{font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--accent-primary);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;white-space:nowrap}.sph-card__link:hover{color:var(--accent-secondary);text-decoration:underline}.sph-card--w-sm{width:100%;max-width:520px}.sph-card--w-md{width:100%;max-width:720px}.sph-card__head--lead{justify-content:flex-start;gap:var(--space-3);text-transform:none;letter-spacing:0}.sph-card__head-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:var(--radius-md);background:var(--accent-glow-1);color:var(--accent-primary)}.sph-card__head-icon mat-icon{font-size:20px;width:20px;height:20px}.sph-card__heading{display:flex;flex-direction:column;gap:1px;min-width:0}.sph-card__heading-title{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text-primary)}.sph-card__heading-sub{font-size:var(--font-xs);color:var(--text-tertiary)}.sph-form-page{display:flex;justify-content:center;padding:var(--space-6) var(--space-4)}.sph-form-stack{display:flex;flex-direction:column;gap:var(--space-4)}.sph-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3) var(--space-4)}@media(max-width:640px){.sph-form-grid{grid-template-columns:1fr}}.sph-identity{display:flex;align-items:center;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.sph-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--accent-glow-1);color:var(--accent-primary);font-size:var(--font-lg);font-weight:var(--font-bold);text-transform:uppercase}.sph-identity__name{font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--text-primary)}.sph-identity__sub{font-size:var(--font-sm);color:var(--text-secondary)}.sph-chipgroup{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.sph-note{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);background:var(--accent-glow-1);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-secondary);line-height:1.5}.sph-note mat-icon{font-size:18px;width:18px;height:18px;color:var(--accent-primary);flex-shrink:0;margin-top:1px}.sph-note app-icon{color:var(--accent-primary);flex-shrink:0}.sph-note p{margin:0}.sph-note a{color:var(--accent-primary);font-weight:var(--font-medium);text-decoration:none}.sph-note a:hover{text-decoration:underline}.sph-note--info{background:var(--info-bg, var(--accent-glow-1));border-color:var(--info)}.sph-note--info mat-icon,.sph-note--info app-icon{color:var(--info)}.sph-note--success{background:var(--success-bg);border-color:var(--success)}.sph-note--success mat-icon,.sph-note--success app-icon{color:var(--success)}.sph-note--warning{background:var(--warning-bg, var(--medium-bg));border-color:var(--warning, var(--medium))}.sph-note--warning mat-icon,.sph-note--warning app-icon{color:var(--warning, var(--medium))}.sph-note--danger{background:var(--critical-bg);border-color:var(--critical)}.sph-note--danger mat-icon,.sph-note--danger app-icon{color:var(--critical)}.sph-note--muted{background:var(--bg-secondary);border-color:var(--border-color)}.sph-note--muted mat-icon,.sph-note--muted app-icon{color:var(--text-tertiary)}.sph-strength{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2)}.sph-strength__bars{display:flex;gap:4px;flex:1}.sph-strength__bar{height:4px;flex:1;border-radius:2px;background:var(--bg-tertiary);transition:background var(--transition-fast)}.sph-strength__text{font-size:var(--font-xs);font-weight:var(--font-semibold)}.sph-strength[data-level=weak] .sph-strength__bar:nth-child(1){background:var(--critical)}.sph-strength[data-level=weak] .sph-strength__text{color:var(--critical)}.sph-strength[data-level=medium] .sph-strength__bar:nth-child(-n+2){background:var(--warning)}.sph-strength[data-level=medium] .sph-strength__text{color:var(--warning)}.sph-strength[data-level=strong] .sph-strength__bar{background:var(--success)}.sph-strength[data-level=strong] .sph-strength__text{color:var(--success)}.sph-reqs{margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:5px}.sph-reqs__title{font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);margin-bottom:2px}.sph-reqs .sph-req{display:flex;align-items:center;gap:6px;font-size:var(--font-xs);color:var(--text-tertiary)}.sph-reqs .sph-req mat-icon{font-size:15px;width:15px;height:15px;color:var(--text-tertiary)}.sph-reqs .sph-req.met{color:var(--success)}.sph-reqs .sph-req.met mat-icon{color:var(--success)}.modern-menu.mat-mdc-menu-panel,.sph-menu-panel.mat-mdc-menu-panel{min-width:210px;max-height:18rem;overflow-y:auto;background:var(--sph-menu-surface, var(--bg-elevated));border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--menu-shadow)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-content,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-content{padding:4px}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item{min-height:0;height:auto;padding:6px 9px;margin:0;border-radius:var(--radius-sm);line-height:1.3}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{color:var(--text-tertiary);margin-right:8px;font-size:15px;width:15px;height:15px}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item span,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item .mat-mdc-menu-item-text,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item span,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item .mat-mdc-menu-item-text{color:var(--text-secondary);font-size:12px;font-weight:400}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item:hover,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item:hover{background:var(--hover-overlay)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item:hover mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item:hover mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-icon{color:var(--accent-primary)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item:hover span,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-mdc-menu-item-text,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item:hover span,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-mdc-menu-item-text{color:var(--text-primary)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant{background:var(--accent-glow-1)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant .mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant .mat-icon{color:var(--accent-primary)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant span,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant .mat-mdc-menu-item-text,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant span,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant .mat-mdc-menu-item-text{color:var(--accent-primary);font-weight:var(--font-medium)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item .mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item mat-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item .mat-icon{color:var(--critical)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item span,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item .mat-mdc-menu-item-text,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item span,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item .mat-mdc-menu-item-text{color:var(--critical)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item:hover,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item:hover{background:var(--critical-bg)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item .check-icon,.sph-menu-panel.mat-mdc-menu-panel .mat-mdc-menu-item .check-icon{margin-left:auto;margin-right:0;color:var(--accent-primary);font-size:15px;width:15px;height:15px}.modern-menu.mat-mdc-menu-panel .menu-header,.sph-menu-panel.mat-mdc-menu-panel .menu-header{padding:6px 9px 3px}.modern-menu.mat-mdc-menu-panel .menu-title,.sph-menu-panel.mat-mdc-menu-panel .menu-title{font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.modern-menu.mat-mdc-menu-panel .menu-divider,.sph-menu-panel.mat-mdc-menu-panel .menu-divider{height:1px;background:var(--border-color);margin:4px}.sph-dropdown{position:absolute;top:calc(100% + 6px);z-index:1000;min-width:210px;max-height:18rem;overflow-y:auto;background:var(--sph-menu-surface, var(--bg-elevated));border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--menu-shadow);padding:4px}.sph-dropdown--right{right:0}.sph-dropdown--left{left:0}.sph-dropdown__header{padding:0 5px 5px}.sph-dropdown__header-title{font-size:10px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.sph-dropdown__item{width:100%;display:flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;text-align:left;text-decoration:none;font-family:inherit;font-size:12px;color:var(--text-secondary);padding:6px 9px;border-radius:var(--radius-sm)}.sph-dropdown__item mat-icon{font-size:15px;width:15px;height:15px;color:var(--text-tertiary);flex:0 0 auto}.sph-dropdown__item:hover{background:var(--hover-overlay);color:var(--text-primary)}.sph-dropdown__item:hover mat-icon{color:var(--accent-primary)}.sph-dropdown__item.active{background:var(--accent-glow-1);color:var(--accent-primary);font-weight:var(--font-medium)}.sph-dropdown__item.active mat-icon{color:var(--accent-primary)}.sph-dropdown__item.danger{color:var(--critical)}.sph-dropdown__item.danger mat-icon{color:var(--critical)}.sph-dropdown__item.danger:hover{background:var(--critical-bg);color:var(--critical)}.sph-dropdown__item.danger:hover mat-icon{color:var(--critical)}.sph-dropdown__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sph-dropdown__check{margin-left:auto;flex:0 0 auto;color:var(--accent-primary)}.sph-dropdown__divider{height:1px;background:var(--border-color);margin:4px}.sph-spin{animation:sph-spin .8s linear infinite}.sph-spinner{display:inline-block;flex:0 0 auto;box-sizing:border-box;width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:sph-spin .8s linear infinite}.sph-spinner--xs{width:14px;height:14px;border-width:2px}.sph-spinner--sm{width:18px;height:18px;border-width:2px}.sph-spinner--md{width:26px;height:26px;border-width:3px}.sph-spinner--lg{width:38px;height:38px;border-width:3px}.sph-barloader{position:relative;display:inline-block;width:100%;min-width:28px;height:2px;background:color-mix(in srgb,var(--text-primary) 12%,transparent);border-radius:var(--radius-full);overflow:hidden;vertical-align:middle}.sph-barloader:before{content:"";position:absolute;top:0;left:0;height:100%;width:40%;background:var(--accent-primary);border-radius:inherit;animation:sph-barloader 1.1s ease-in-out infinite}@keyframes sph-barloader{0%{left:-40%}to{left:100%}}.sph-loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);background:color-mix(in srgb,var(--card-bg) 55%,transparent);color:var(--text-tertiary);font-size:var(--font-sm)}.sph-loading--block{position:static;padding:var(--space-8);background:none;flex:1}@keyframes sph-spin{to{transform:rotate(360deg)}}.sph-spin{animation:sph-spin .7s linear infinite;transform-origin:center}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.form-content{display:flex;flex-direction:column;gap:var(--space-5)}.form-label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.form-label mat-icon{font-size:14px;width:14px;height:14px;vertical-align:middle;margin-right:4px}.required{color:var(--critical)}.required-mark{color:var(--critical);margin-left:2px}.form-hint{font-size:var(--font-xs);color:var(--text-tertiary)}.mb-0{margin-bottom:0}.form-input,.form-select,.form-textarea{height:34px;width:100%;padding:6px var(--space-3);background:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--font-sm);font-family:inherit;transition:all var(--transition-base);outline:none}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 .5px var(--focus-ring)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:.5;cursor:not-allowed;background:var(--input-disabled-bg)}.form-select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center}.form-select option{background:var(--card-bg);color:var(--text-primary)}.form-textarea{height:auto;min-height:52px;padding:6px var(--space-3);resize:vertical;line-height:1.5}.form-input::placeholder{color:var(--text-tertiary)}.form-input.otp-input{padding:var(--space-3) var(--space-4);text-align:center;font-size:var(--font-lg);letter-spacing:var(--space-1);font-weight:var(--font-normal)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-secondary)!important;caret-color:var(--text-secondary);transition:background-color 5000s ease-in-out 0s}.form-input:-moz-autofill,.form-input:-moz-autofill-preview{filter:none;background:var(--input-bg)!important;color:var(--text-primary)!important}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper .form-input{height:2.5rem;padding-left:var(--space-12);padding-right:var(--space-10);font-size:var(--font-md)}.input-icon{position:absolute;left:var(--space-4);color:var(--text-tertiary);pointer-events:none;display:flex}.toggle-password{position:absolute;right:var(--space-4);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--transition-base)}.toggle-password:hover{color:var(--text-secondary)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .icon-secondary{position:absolute;left:16px;pointer-events:none;z-index:1;font-size:16px;width:20px;height:20px}.password-input-wrapper .form-input{padding-right:50px}.password-input-wrapper .visibility-toggle{position:absolute;right:12px;padding:6px;display:flex}.password-input-wrapper .visibility-toggle mat-icon{font-size:18px;width:20px;height:20px}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-input{width:var(--font-xl);height:var(--font-xl);min-width:var(--font-xl);cursor:pointer;accent-color:var(--accent-primary);background:transparent;appearance:none;-webkit-appearance:none;border:2px solid var(--border-color);border-radius:var(--radius-sm);position:relative;transition:all var(--transition-base)}.checkbox-input:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.checkbox-input:checked:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:6px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.checkbox-input:hover{border-color:var(--border-hover)}.checkbox-text{font-size:var(--font-sm);color:var(--text-secondary)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]){appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;margin:0;flex:0 0 auto;border:1.5px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;cursor:pointer;position:relative;vertical-align:middle;transition:background var(--transition-base),border-color var(--transition-base)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):hover{border-color:var(--border-hover)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):checked{background:var(--accent-primary);border-color:var(--accent-primary)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):checked:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:7px;border:solid var(--text-inverse);border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):indeterminate{background:var(--accent-primary);border-color:var(--accent-primary)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):indeterminate:after{content:"";position:absolute;top:50%;left:50%;width:8px;border-top:2px solid var(--text-inverse);transform:translate(-50%,-50%)}input[type=checkbox]:not(.mdc-checkbox__native-control):not([role]):disabled{opacity:.5;cursor:not-allowed}.submit-button{display:flex;align-items:center;justify-content:center;gap:var(--space-3);width:100%;padding:var(--space-4);background:var(--btn-primary-bg);border:none;border-radius:var(--radius-xl);color:var(--btn-primary-text);font-size:var(--font-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);margin-top:var(--space-2);box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014}.submit-button:hover:not(:disabled){background:var(--btn-primary-hover-bg);transform:translateY(-1px);box-shadow:0 4px 6px #00000026,0 2px 4px #0000001a}.submit-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.submit-button:disabled{opacity:.5;cursor:not-allowed}.submit-button svg{width:var(--font-2xl);height:var(--font-2xl)}.error-message{background:var(--critical-bg);border:1px solid var(--critical-border);border-radius:var(--radius-xl);padding:var(--space-3) var(--space-4);color:var(--critical-text);font-size:var(--font-sm);margin-bottom:var(--space-4);text-align:center}.field-error{font-size:var(--font-xs);color:var(--critical-text);margin-top:calc(var(--space-1) * -1)}.spinner{width:var(--font-2xl);height:var(--font-2xl);border:2px solid var(--hover-overlay);border-top-color:var(--text-inverse);border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.security-badge{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-tertiary);font-size:var(--font-sm);margin-top:var(--space-2)}.security-badge svg{width:var(--space-4);height:var(--space-4)}.back-to-login{display:flex;justify-content:center;margin-top:var(--space-2)}.back-to-login .back-link{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:var(--font-sm);cursor:pointer;transition:color var(--transition-base);text-decoration:none}.back-to-login .back-link:hover{color:var(--accent-primary)}.back-to-login .back-link svg{width:var(--space-4);height:var(--space-4)}.mat-mdc-menu-panel{background:var(--card-bg)!important;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;overflow:hidden}.mat-mdc-menu-panel .mat-mdc-menu-content{padding:var(--space-2)}.mat-mdc-menu-panel .mat-mdc-menu-item{min-height:38px;color:var(--text-primary);font-size:var(--font-sm);border-radius:var(--radius-md);margin:2px 0;transition:all var(--transition-fast)}.mat-mdc-menu-panel .mat-mdc-menu-item .mat-mdc-menu-item-text,.mat-mdc-menu-panel .mat-mdc-menu-item span{color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--font-medium)}.mat-mdc-menu-panel .mat-mdc-menu-item mat-icon,.mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon{color:var(--text-secondary);margin-right:var(--space-2);font-size:18px;width:18px;height:18px}.mat-mdc-menu-panel .mat-mdc-menu-item:hover{background:var(--hover-overlay)}.mat-mdc-menu-panel .mat-mdc-menu-item:hover mat-icon,.mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-icon{color:var(--accent-primary)}.modern-menu.mat-mdc-menu-panel{min-width:220px;border-radius:var(--radius-xl);background:var(--bg-elevated)!important;border:1px solid var(--border-subtle-2)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-content{padding:var(--space-1)}.modern-menu.mat-mdc-menu-panel .menu-header{padding:var(--space-2) var(--space-3) var(--space-1);background:var(--bg-tertiary);margin-bottom:var(--space-1);border-bottom:1px solid var(--border-subtle)}.modern-menu.mat-mdc-menu-panel .menu-header .menu-title{font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item{min-height:34px;border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);margin:2px 0}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant{background:var(--accent-glow-1)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant .mat-icon{color:var(--accent-primary)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.active-tenant span{color:var(--accent-primary);font-weight:var(--font-semibold)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item .mat-icon,.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item span{color:var(--critical)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item.logout-item:hover{background:var(--critical-bg)}.modern-menu.mat-mdc-menu-panel .mat-mdc-menu-item .check-icon{margin-left:auto;margin-right:0;color:var(--success)}.modern-menu.mat-mdc-menu-panel .menu-divider{height:1px;background:var(--divider-color);margin:var(--space-2) 0}.mat-mdc-menu-panel:has(.active-tenant) .mat-mdc-menu-content,.mat-mdc-menu-panel:has(a[class*=active-tenant]) .mat-mdc-menu-content{max-height:320px;overflow-y:auto}.mat-mdc-menu-panel:has(.active-tenant) .mat-mdc-menu-content::-webkit-scrollbar,.mat-mdc-menu-panel:has(a[class*=active-tenant]) .mat-mdc-menu-content::-webkit-scrollbar{width:6px}.mat-mdc-menu-panel:has(.active-tenant) .mat-mdc-menu-content::-webkit-scrollbar-track,.mat-mdc-menu-panel:has(a[class*=active-tenant]) .mat-mdc-menu-content::-webkit-scrollbar-track{background:var(--scrollbar-track)}.mat-mdc-menu-panel:has(.active-tenant) .mat-mdc-menu-content::-webkit-scrollbar-thumb,.mat-mdc-menu-panel:has(a[class*=active-tenant]) .mat-mdc-menu-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.mat-mdc-menu-panel:has(.active-tenant) .mat-mdc-menu-content::-webkit-scrollbar-thumb:hover,.mat-mdc-menu-panel:has(a[class*=active-tenant]) .mat-mdc-menu-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.mat-mdc-select-panel,.mat-mdc-autocomplete-panel{background:var(--card-bg)!important;border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.mat-mdc-option{min-height:34px;font-size:var(--font-sm);color:var(--text-primary)}.mat-mdc-option:hover{background:var(--hover-overlay)}.mat-mdc-option.mat-mdc-option-active{background:var(--active-overlay)}.mat-mdc-option.mdc-list-item--selected{background:var(--accent-glow-1);color:var(--accent-primary)}.mat-mdc-tooltip .mdc-tooltip__surface{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);max-width:280px}.mat-mdc-dialog-container .mat-mdc-dialog-surface{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.cdk-overlay-dark-backdrop{background:#00000080}.cdk-overlay-backdrop{z-index:calc(var(--z-dropdown) - 1)}.sph-dialog-panel .mat-mdc-dialog-surface,.mat-mdc-dialog-surface:has(.sph-dialog){padding:0;overflow:hidden}.sph-dialog{display:flex;flex-direction:column;min-width:0;max-height:82vh}.sph-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-shrink:0;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color)}.sph-dialog__title{display:flex;align-items:center;gap:var(--space-3);min-width:0}.sph-dialog__title>mat-icon{font-size:20px;width:20px;height:20px;color:var(--accent-primary);flex-shrink:0}.sph-dialog__title h3{margin:0;font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary);line-height:1.2}.sph-dialog__title .sph-dialog__sub{display:block;font-size:var(--font-xs);color:var(--text-tertiary);margin-top:1px}.sph-dialog__body{padding:var(--space-4);overflow-y:auto;flex:1;min-height:0}.sph-dialog__body .sph-search{margin-bottom:var(--space-3)}.sph-dialog__body .sph-field+.sph-dialog__sub{display:block;margin-top:var(--space-2)}.sph-dialog__foot{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color)}.sph-dialog__foot .sph-spacer{flex:1}.sph-dialog__selcount{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--accent-primary)}.sph-dialog__selcount mat-icon{font-size:15px;width:15px;height:15px}.sph-dialog__info{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:var(--accent-glow-1);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--font-sm)}.sph-dialog__info mat-icon{font-size:16px;width:16px;height:16px;color:var(--accent-primary);flex-shrink:0;margin-top:1px}.sph-dialog__info p{margin:0}.sph-dialog__list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.sph-pick{display:flex;align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-sm);color:var(--text-primary)}.sph-pick input[type=checkbox]{accent-color:var(--accent-primary);width:15px;height:15px;margin:0;flex-shrink:0;cursor:pointer}.sph-pick:hover{background:var(--hover-overlay)}.sph-pick.selected{background:var(--accent-glow-1)}.sph-pick .sph-pick__label{flex:1;min-width:0}.sph-pick .sph-pick__meta{display:inline-flex;align-items:center;gap:3px;font-size:var(--font-xs);color:var(--text-tertiary)}.sph-pick .sph-pick__meta mat-icon{font-size:13px;width:13px;height:13px}.sph-dialog__state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8) var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--font-sm)}.sph-dialog__state>mat-icon{font-size:32px;width:32px;height:32px;color:var(--icon-disabled)}.sph-dialog__state p{margin:0}.header-action-buttons{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.table-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3)}.table-controls .left-controls,.table-controls .right-controls{display:flex;align-items:center;gap:var(--space-3)}.controls-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}@media(max-width:1024px){.controls-row{flex-direction:column;align-items:stretch}}.al-search{flex:0 1 380px;min-width:220px}.al-toolbar-actions{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.filter-section-compact{margin:var(--space-2) 0}.active-filters{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-3);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.active-filters .filters-label{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin-right:var(--space-2)}.al-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.al-filterchip{gap:5px;cursor:default}.al-filterchip em{font-style:italic;color:var(--text-tertiary)}.al-chipremove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm)}.al-chipremove mat-icon{font-size:13px;width:13px;height:13px}.al-chipremove:hover{color:var(--critical)}.filter-panel-compact{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.filter-panel-compact .filter-panel-header-compact{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-4);background:var(--card-content-bg);border-bottom:1px solid var(--border-color)}.filter-panel-compact .filter-panel-header-compact .filter-header-left{display:flex;align-items:center;gap:var(--space-2)}.filter-panel-compact .filter-panel-header-compact .filter-header-left mat-icon{color:var(--accent-primary);font-size:17px;width:17px;height:17px}.filter-panel-compact .filter-panel-header-compact .filter-header-left h4{margin:0;font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary)}.filter-panel-compact .filter-panel-header-compact .filter-header-left .filter-count-text{font-size:var(--font-sm);color:var(--text-tertiary)}.filter-panel-compact .filter-panel-header-compact .filter-header-actions{display:flex;gap:var(--space-2)}.filter-panel-compact .filter-logic-toggle{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color)}.filter-panel-compact .filter-logic-toggle .toggle-label{font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary)}.filter-panel-compact .filter-logic-toggle .toggle-description{font-size:10px;color:var(--text-tertiary);font-style:italic}.filter-panel-compact .filter-logic-toggle .sph-segment button{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:var(--font-xs)}.filter-panel-compact .filter-logic-toggle .sph-segment button mat-icon{font-size:14px;width:14px;height:14px}.filter-panel-compact .filter-panel-body-compact{padding:var(--space-4)}.filter-panel-compact .filter-panel-body-compact .filter-rows-scrollable{max-height:220px;overflow-y:auto;padding-right:var(--space-2)}.filter-panel-compact .filter-panel-body-compact .filter-header-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-xs);font-weight:var(--font-bold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-panel-compact .filter-panel-body-compact .filter-col-index{min-width:24px;text-align:center;flex:0 0 auto}.filter-panel-compact .filter-panel-body-compact .filter-col-field,.filter-panel-compact .filter-panel-body-compact .filter-col-operator{flex:1;min-width:0}.filter-panel-compact .filter-panel-body-compact .filter-col-value{flex:2;min-width:0}.filter-panel-compact .filter-panel-body-compact .filter-col-action{width:40px;flex:0 0 auto}.filter-panel-compact .filter-panel-body-compact .filter-row-compact{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0}.filter-panel-compact .filter-panel-body-compact .filter-row-compact .filter-index-compact{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;background:var(--accent-glow-1);color:var(--accent-primary);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-bold);flex:0 0 auto}.filter-panel-compact .filter-panel-body-compact .filter-empty-compact{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center}.filter-panel-compact .filter-panel-body-compact .filter-empty-compact mat-icon{font-size:35px;width:35px;height:35px;color:var(--icon-disabled);margin-bottom:var(--space-3)}.filter-panel-compact .filter-panel-body-compact .filter-empty-compact p{margin:0;color:var(--text-tertiary);font-size:var(--font-sm)}.al-chipinput{display:flex;flex-wrap:wrap;align-items:center;gap:4px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--input-bg);padding:3px 6px;min-height:26px}.al-valuechip{display:inline-flex;align-items:center;gap:3px}.al-chipinput__field{flex:1;min-width:80px;border:none;background:transparent;outline:none;font-family:inherit;font-size:12px;color:var(--text-primary)}.al-filter-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color)}.sph-list-page{padding:var(--space-3) 0;display:flex;flex-direction:column;gap:var(--space-3)}.sph-namecell{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-semibold);color:var(--text-primary)}.sph-namecell mat-icon{font-size:14px;width:14px;height:14px}.sph-namecell--accent{color:var(--accent-primary)}.sph-cellinfo{display:flex;flex-direction:column;gap:2px}.sph-cellinfo .sph-cellinfo__primary{font-size:11px;color:var(--text-primary);line-height:1.25}.sph-cellinfo .sph-cellinfo__secondary{font-size:10px;color:var(--text-secondary);line-height:1.25}.sph-platforms{display:flex;justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sph-platforms .sph-platform{display:inline-flex;align-items:center;gap:var(--space-1)}.sph-platforms .sph-platform svg{width:15px;height:15px;color:var(--icon-primary);flex-shrink:0}.sph-platforms .sph-platform__count{font-size:11px;font-weight:var(--font-semibold);color:var(--text-primary)}.sph-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-5)}.sph-empty>mat-icon{font-size:44px;width:44px;height:44px;color:var(--icon-disabled)}.sph-empty h4{margin:0;font-size:var(--font-lg);color:var(--text-primary)}.sph-empty p{margin:0;font-size:var(--font-sm);color:var(--text-tertiary)}.sph-empty .sph-btn{margin-top:var(--space-2)}.sph-dialog-backdrop{background:color-mix(in srgb,#000 45%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sph-dialog{max-width:92vw!important;max-height:92vh}.sph-dialog .mat-mdc-dialog-surface,.sph-dialog .mdc-dialog__surface{padding:0;max-height:92vh;background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden}.sph-inlineform{display:grid;grid-template-columns:1fr 2fr auto;gap:var(--space-4);align-items:end;margin:0}@media(max-width:1024px){.sph-inlineform{grid-template-columns:1fr}}.sph-form-actions{display:flex;align-items:center;gap:var(--space-2);padding-bottom:1px}.sph-modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal, 1000);animation:sph-fade-in .15s ease-out}.sph-modal{width:90%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;box-shadow:var(--shadow-xl);animation:sph-slide-up .2s ease-out}.sph-modal form{display:flex;flex-direction:column;min-height:0}.sph-head-icon{font-size:16px;width:16px;height:16px;color:var(--accent-primary);vertical-align:middle;margin-right:6px}.sph-modal__body{flex:1;overflow-y:auto;min-height:0}.sph-form-row{display:flex;gap:var(--space-3);align-items:flex-start;margin-bottom:var(--space-3)}.sph-form-col{display:flex;flex-direction:column}.sph-field-inline{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:var(--space-3)}.sph-field-inline .form-label{margin:0}.sph-field-spacer{visibility:hidden}.sph-form-col--aligninput .checkbox-label{min-height:34px;align-items:center}.sph-section{margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.sph-section .sph-section__head{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.sph-section .sph-section__head mat-icon{font-size:16px;width:16px;height:16px;color:var(--accent-primary)}.sph-section .sph-section__head h3{margin:0;font-size:12px;font-weight:var(--font-semibold);color:var(--text-primary)}.sph-section .sph-section__sub{margin:0 0 var(--space-3) 0;font-size:10px;color:var(--text-secondary)}.sph-section .form-group{margin-bottom:var(--space-3)}.sph-section .form-group:last-child{margin-bottom:0}.sph-section .label-icon{font-size:14px;width:14px;height:14px;vertical-align:middle;margin-right:4px;color:var(--icon-secondary)}@keyframes sph-fade-in{0%{opacity:0}to{opacity:1}}@keyframes sph-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.sph-mattable{overflow:auto;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--card-bg)}.sph-mattable::-webkit-scrollbar{height:10px;width:10px}.sph-mattable::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px}.sph-mattable::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sph-mattable::-webkit-scrollbar-track{background:transparent}.sph-mattable table.mat-mdc-table{width:auto;min-width:100%;border-collapse:separate;border-spacing:0;background:var(--card-bg)}.sph-mattable .mat-mdc-header-row{height:auto;min-height:40px}.sph-mattable .mat-mdc-row{height:auto;min-height:36px}.sph-mattable .mat-mdc-header-cell{position:sticky;top:0;z-index:5;background:var(--card-header-bg);color:var(--text-secondary);font-size:var(--font-xs);font-weight:var(--font-semibold);letter-spacing:.04em;text-transform:uppercase;padding:var(--space-2) var(--space-3);white-space:nowrap;border-bottom:1px solid var(--border-color)}.sph-mattable .mat-mdc-cell{background:var(--card-bg);color:var(--text-primary);font-size:var(--font-xs);padding:var(--space-2) var(--space-3);vertical-align:middle;border-bottom:1px solid var(--border-color)}.sph-mattable .mat-mdc-row:last-child .mat-mdc-cell{border-bottom:none}.sph-mattable .mat-mdc-cell:not(.mat-mdc-table-sticky),.sph-mattable .mat-mdc-header-cell:not(.mat-mdc-table-sticky){min-width:150px}.sph-mattable .mat-mdc-row:nth-child(2n) .mat-mdc-cell{background:var(--bg-secondary)}.sph-mattable .mat-mdc-row:hover .mat-mdc-cell{background:var(--hover-overlay)}.sph-mattable .mat-mdc-cell.mat-mdc-table-sticky{background:var(--card-bg);z-index:6}.sph-mattable .mat-mdc-row:nth-child(2n) .mat-mdc-cell.mat-mdc-table-sticky{background:var(--bg-secondary)}.sph-mattable .mat-mdc-row:hover .mat-mdc-cell.mat-mdc-table-sticky{background:var(--hover-overlay)}.sph-mattable .mat-mdc-header-cell.mat-mdc-table-sticky{z-index:7}.sph-mattable .sph-sticky-edge-l{box-shadow:8px 0 10px -8px #00000080}.sph-mattable .sph-sticky-edge-r{box-shadow:-8px 0 10px -8px #00000080}.sph-mattable .sph-col-select{width:44px;min-width:44px;max-width:44px;text-align:center;padding-left:var(--space-2);padding-right:var(--space-2)}.sph-mattable .sph-col-actions{width:60px;min-width:60px;max-width:60px;text-align:center}.sph-mattable .mat-mdc-checkbox{--mdc-checkbox-state-layer-size: 28px}.sph-mattable .mat-mdc-checkbox .mdc-checkbox,.sph-mattable .mat-mdc-checkbox .mdc-checkbox__background{width:16px;height:16px}.mat-mdc-paginator{background:transparent!important;color:var(--text-secondary)!important;font-size:var(--font-xs)!important}.mat-mdc-paginator .mat-mdc-paginator-container{min-height:40px;padding:var(--space-2) var(--space-1)}.mat-mdc-paginator .mat-mdc-paginator-range-label{color:var(--text-secondary)}.mat-mdc-paginator .mat-mdc-icon-button{width:32px;height:32px;padding:4px}.mat-mdc-paginator .mat-mdc-icon-button .mat-mdc-paginator-icon{fill:var(--icon-secondary)}.mat-mdc-paginator .mat-mdc-icon-button:hover:not([disabled]){background:var(--hover-overlay)}.mat-mdc-paginator .mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon{fill:var(--icon-disabled)}.mat-drawer{background:var(--card-bg)!important;border-left:1px solid var(--border-color)!important;box-shadow:var(--shadow-xl)}.mat-drawer-backdrop.mat-drawer-shown{background:#0006}.sph-drawer-overlay{position:fixed;inset:0;z-index:var(--z-modal, 1000);background:var(--overlay-bg, rgba(0, 0, 0, .4));display:flex;justify-content:flex-end;animation:sph-fade-in .15s ease-out}.sph-drawer{position:relative;height:100%;display:flex;flex-direction:column;width:380px;max-width:96vw;background:var(--card-bg);border-left:1px solid var(--border-color);box-shadow:var(--shadow-xl);animation:sph-drawer-in .2s cubic-bezier(.16,1,.3,1)}.sph-drawer--sm{width:320px}.sph-drawer--md{width:420px}.sph-drawer--lg{width:560px}.sph-drawer__head{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-4);border-bottom:1px solid var(--border-color);background:var(--card-header-bg)}.sph-drawer__title{display:flex;align-items:center;gap:var(--space-2);font-size:13px;font-weight:var(--font-semibold);color:var(--text-primary)}.sph-drawer__title mat-icon{font-size:17px;width:17px;height:17px;color:var(--accent-primary)}.sph-drawer__spacer{flex:1 1 auto}.sph-drawer__body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:var(--space-3) var(--space-4)}.sph-drawer__foot{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-color);background:var(--card-header-bg)}@keyframes sph-drawer-in{0%{transform:translate(24px);opacity:0}to{transform:translate(0);opacity:1}}.mat-mdc-checkbox{--mdc-checkbox-selected-icon-color: var(--accent-primary);--mdc-checkbox-selected-hover-icon-color: var(--accent-primary);--mdc-checkbox-selected-focus-icon-color: var(--accent-primary);--mdc-checkbox-selected-pressed-icon-color: var(--accent-primary);--mdc-checkbox-selected-checkmark-color: #fff;--mdc-checkbox-unselected-icon-color: var(--border-color);--mdc-checkbox-unselected-hover-icon-color: var(--text-tertiary);--mdc-checkbox-unselected-focus-icon-color: var(--text-tertiary);--mat-checkbox-label-text-color: var(--text-primary)}.mat-mdc-checkbox .mdc-checkbox__background{border-color:var(--border-color)!important;background-color:transparent!important}.mat-mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background{background-color:var(--accent-primary)!important;border-color:var(--accent-primary)!important}.mat-mdc-checkbox .mdc-checkbox__checkmark{color:#fff!important}.mat-mdc-checkbox .mdc-checkbox__mixedmark{background-color:#fff!important}.mat-mdc-checkbox .mdc-checkbox__ripple,.mat-mdc-checkbox .mat-mdc-checkbox-ripple,.mat-mdc-checkbox .mat-mdc-checkbox-touch-target,.mat-mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{display:none!important}.mat-mdc-checkbox{--mdc-checkbox-state-layer-size: 18px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background:var(--card-bg)!important;border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.mat-mdc-snack-bar-container .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--text-primary)}.mat-mdc-snack-bar-container.error-notification-overlay .mdc-snackbar__surface{background:var(--critical-bg)!important;border-color:var(--critical-border)}.mat-mdc-snack-bar-container.error-notification-overlay .mat-mdc-snack-bar-label{color:var(--critical-text)}*{margin:0;padding:0;box-sizing:border-box}html{height:100%;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{height:100%;font-family:var(--font-sans);background:var(--topbar-bg);color:var(--text-primary);line-height:var(--leading-normal);overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}:focus-visible{outline-offset:2px}::selection{background:var(--accent-primary);color:var(--text-inverse)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.align-center{display:flex;justify-content:center;align-items:center}.loading-state,.error-state{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);color:var(--text-secondary)}.loading-state mat-icon,.error-state mat-icon{font-size:20px;width:20px;height:20px}.loading-state mat-icon.spinning,.error-state mat-icon.spinning{animation:spin 1s linear infinite}.error-state{color:var(--critical)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.manage-dashboard-menu.mat-mdc-menu-panel{min-width:200px!important;max-width:260px!important;border-radius:var(--radius-lg)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-lg)!important;background:var(--card-bg)!important}.manage-dashboard-menu.mat-mdc-menu-panel .mat-mdc-menu-content{padding:0!important}.manage-dashboard-menu.mat-mdc-menu-panel .menu-header{display:flex!important;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--font-sm);letter-spacing:.3px}.manage-dashboard-menu.mat-mdc-menu-panel .menu-header mat-icon{font-size:18px!important;width:18px!important;height:18px!important;color:var(--accent-primary)}.manage-dashboard-menu.mat-mdc-menu-panel .warning-message{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin:var(--space-2) var(--space-3);background:#f59e0b1a;border:1px solid var(--warning);border-radius:var(--radius-sm);color:var(--warning);font-size:var(--font-xs);font-weight:var(--font-medium);line-height:1.4}.manage-dashboard-menu.mat-mdc-menu-panel .warning-message mat-icon{font-size:16px!important;width:16px!important;height:16px!important;color:var(--warning);flex-shrink:0}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin:0;transition:background var(--transition-fast);cursor:pointer;color:var(--text-primary);font-size:var(--font-sm);font-weight:var(--font-medium)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item:hover{background:var(--hover-overlay)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item:first-of-type{margin-top:var(--space-2)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item:last-of-type{margin-bottom:var(--space-2)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item .custom-checkbox{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:2px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:all .2s ease}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item .custom-checkbox:checked{background:var(--accent-primary);border-color:var(--accent-primary)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item .custom-checkbox:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item .custom-checkbox:hover{border-color:var(--accent-primary)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item .custom-checkbox:focus{outline:none;box-shadow:0 0 0 2px var(--accent-glow-1)}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item mat-icon{font-size:18px!important;width:18px!important;height:18px!important;color:var(--text-secondary);flex-shrink:0}.manage-dashboard-menu.mat-mdc-menu-panel .menu-item span{flex:1;white-space:nowrap}.mat-mdc-snack-bar-container.error-snackbar{--mdc-snackbar-container-color: #dc2626;--mdc-snackbar-supporting-text-color: #ffffff;--mat-snack-bar-button-color: #ffffff}.mat-mdc-snack-bar-container.error-snackbar .mdc-snackbar__surface{background-color:#dc2626!important}.mat-mdc-snack-bar-container.error-snackbar .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.error-snackbar .mat-mdc-button{color:#fff!important}.mat-mdc-snack-bar-container.success-snackbar{--mdc-snackbar-container-color: var(--success);--mdc-snackbar-supporting-text-color: var(--text-inverse);--mat-snack-bar-button-color: var(--text-inverse)}.mat-mdc-snack-bar-container.success-snackbar .mdc-snackbar__surface{background-color:var(--success)!important}.mat-mdc-snack-bar-container.success-snackbar .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.success-snackbar .mat-mdc-button{color:var(--text-inverse)!important}.mat-mdc-snack-bar-container.snack-success,.mat-mdc-snack-bar-container.snack-warn,.mat-mdc-snack-bar-container.snack-error,.mat-mdc-snack-bar-container.snack-info{min-height:36px!important}.mat-mdc-snack-bar-container.snack-success .mdc-snackbar__surface,.mat-mdc-snack-bar-container.snack-warn .mdc-snackbar__surface,.mat-mdc-snack-bar-container.snack-error .mdc-snackbar__surface,.mat-mdc-snack-bar-container.snack-info .mdc-snackbar__surface{min-width:0!important;padding:0 14px!important;border-radius:6px!important;box-shadow:0 4px 14px #00000026!important}.mat-mdc-snack-bar-container.snack-success .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-warn .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-error .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-info .mat-mdc-snack-bar-label{font-size:12px!important;line-height:1.4!important;padding:6px 0!important;font-weight:500!important}.mat-mdc-snack-bar-container.snack-success .mat-mdc-button,.mat-mdc-snack-bar-container.snack-warn .mat-mdc-button,.mat-mdc-snack-bar-container.snack-error .mat-mdc-button,.mat-mdc-snack-bar-container.snack-info .mat-mdc-button{font-size:11px!important;min-width:28px!important;padding:2px 6px!important}.mat-mdc-snack-bar-container.snack-success .mdc-snackbar__surface{background-color:#d1fae5!important;border:1px solid #10b981!important}.mat-mdc-snack-bar-container.snack-success .mdc-snackbar__surface .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-success .mdc-snackbar__surface .mat-mdc-button,.mat-mdc-snack-bar-container.snack-success .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-success .mat-mdc-button{color:#065f46!important}.mat-mdc-snack-bar-container.snack-warn .mdc-snackbar__surface{background-color:#fef3c7!important;border:1px solid #f59e0b!important}.mat-mdc-snack-bar-container.snack-warn .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-warn .mat-mdc-button{color:#92400e!important}.mat-mdc-snack-bar-container.snack-error .mdc-snackbar__surface{background-color:#fee2e2!important;border:1px solid #ef4444!important}.mat-mdc-snack-bar-container.snack-error .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-error .mat-mdc-button{color:#991b1b!important}.mat-mdc-snack-bar-container.snack-info .mdc-snackbar__surface{background-color:#dbeafe!important;border:1px solid #3b82f6!important}.mat-mdc-snack-bar-container.snack-info .mat-mdc-snack-bar-label,.mat-mdc-snack-bar-container.snack-info .mat-mdc-button{color:#1e3a8a!important}.email-preview-dialog-panel .mat-mdc-dialog-container{--mdc-dialog-container-color: var(--card-bg);padding:0!important;border-radius:var(--radius-lg)!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-lg)!important;overflow:hidden}.email-preview-dialog-panel .mat-mdc-dialog-container .mdc-dialog__surface{background:var(--card-bg)!important;border-radius:var(--radius-lg)!important;overflow:hidden}body:has(.aqlx-sqd) .mat-mdc-menu-panel,html:has(.aqlx-sqd) .mat-mdc-menu-panel{--mat-menu-container-color: var(--bg-elevated, #ffffff);--mat-menu-container-shape: 6px;--mat-menu-item-label-text-color: var(--text-primary, #0f172a);--mat-menu-item-label-text-size: var(--font-sm, 12px);--mat-menu-item-label-text-line-height: 1.3;--mat-menu-item-label-text-weight: 400;--mat-menu-item-label-text-tracking: 0;--mat-menu-item-icon-size: 14px;--mat-menu-item-icon-color: var(--icon-secondary, #64748b);--mdc-list-list-item-one-line-container-height: 30px;--mdc-list-list-item-label-text-size: var(--font-sm, 12px);--mdc-list-list-item-label-text-color: var(--text-primary, #0f172a);--mdc-list-list-item-label-text-line-height: 1.3;min-width:200px!important;max-width:280px!important;border-radius:6px!important;background:var(--bg-elevated, #ffffff)!important;box-shadow:var(--elevation-shadow-md, 0 4px 12px rgba(0, 0, 0, .15))!important}body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-content,body:has(.aqlx-sqd) .mat-mdc-menu-panel .mdc-list{padding:4px 0!important}body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item,body:has(.aqlx-sqd) .mat-mdc-menu-panel button.mat-mdc-menu-item{min-height:30px!important;height:auto!important;padding:0 12px!important;font-size:var(--font-sm, 12px)!important;line-height:1.3!important;letter-spacing:0!important;display:flex!important;align-items:center!important;gap:8px!important}body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item .mat-icon,body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item mat-icon{font-size:14px!important;width:14px!important;height:14px!important;margin:0!important;line-height:14px!important;color:var(--icon-secondary, #64748b)!important;flex-shrink:0}body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item:hover .mat-icon,body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item:hover mat-icon{color:var(--accent-primary, #6366f1)!important}body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item .mdc-list-item__primary-text,body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item .mat-mdc-menu-item-text,body:has(.aqlx-sqd) .mat-mdc-menu-panel .mat-mdc-menu-item>span{font-size:var(--font-sm, 12px)!important;line-height:1.3!important;font-weight:400!important;color:var(--text-primary, #0f172a)!important;letter-spacing:0!important}.mat-mdc-menu-panel:has(.aqlx-page__auto-refresh-config){min-width:220px!important;max-width:280px!important;border:1px solid var(--border-color, #e2e8f0)!important;border-radius:6px!important;background:var(--bg-elevated, #ffffff)!important;box-shadow:var(--elevation-shadow-md, 0 4px 12px rgba(0, 0, 0, .15))!important}.mat-mdc-menu-panel:has(.aqlx-page__auto-refresh-config) .mat-mdc-menu-content,.mat-mdc-menu-panel:has(.aqlx-page__auto-refresh-config) .mdc-list{padding:0!important}.aqlx-page__auto-refresh-config{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--bg-elevated, #fff);color:var(--text-primary, #0f172a)}.aqlx-page__auto-refresh-label{font-size:var(--font-xs, 11px);color:var(--text-tertiary, #64748b);letter-spacing:.06em;font-weight:600;text-transform:uppercase}.aqlx-page__auto-refresh-row{display:flex;align-items:center;gap:6px}.aqlx-page__auto-refresh-input{width:56px;height:28px;background:var(--input-bg, #fff);color:var(--text-primary, #0f172a);border:1px solid var(--border-color, #e2e8f0);border-radius:4px;padding:0 6px;font-size:var(--font-sm, 12px);font-family:var(--font-sans, system-ui, sans-serif);outline:none;transition:border-color var(--transition-fast, .15s)}.aqlx-page__auto-refresh-input:focus{border-color:var(--accent-primary, #6366f1);box-shadow:0 0 0 2px var(--accent-glow-1, rgba(99, 102, 241, .15))}.aqlx-page__auto-refresh-input::-webkit-inner-spin-button,.aqlx-page__auto-refresh-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.aqlx-page__auto-refresh-input{-moz-appearance:textfield}.aqlx-page__auto-refresh-unit{flex:1;min-width:0;height:28px;background:var(--input-bg, #fff);color:var(--text-primary, #0f172a);border:1px solid var(--border-color, #e2e8f0);border-radius:4px;padding:0 6px;font-size:var(--font-sm, 12px);font-family:var(--font-sans, system-ui, sans-serif);outline:none;cursor:pointer}.aqlx-page__auto-refresh-unit:focus{border-color:var(--accent-primary, #6366f1)}.aqlx-page__auto-refresh-toggle{display:inline-flex;align-items:center;gap:4px;height:28px;padding:0 12px;background:var(--accent-primary, #6366f1);color:var(--text-on-accent, #ffffff);border:0;border-radius:4px;cursor:pointer;font-size:var(--font-xs, 11px);font-weight:600;letter-spacing:.02em;font-family:var(--font-sans, system-ui, sans-serif);white-space:nowrap;transition:background var(--transition-fast, .15s),filter var(--transition-fast, .15s)}.aqlx-page__auto-refresh-toggle mat-icon{font-size:14px!important;width:14px!important;height:14px!important;line-height:14px!important;color:inherit!important}.aqlx-page__auto-refresh-toggle:hover{filter:brightness(1.05)}.aqlx-page__auto-refresh-toggle.stop{background:var(--critical, #dc2626)}.aqlx-page__auto-refresh-toggle.stop:hover{filter:brightness(1.05)}
