@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}}:root{--brand-50: #eefdf4;--brand-100: #dcfce9;--brand-200: #bbf7d0;--brand-300: #86efac;--brand-400: #4ade80;--brand-500: #2ecc71;--brand-600: #27ae60;--brand-700: #1e8449;--brand-800: #196f3d;--brand-900: #145a32;--accent-400: #22d3ee;--accent-500: #06b6d4;--accent-600: #0891b2;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-150: #edf1f7;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-850: #172033;--slate-900: #0f172a;--slate-950: #07101f;--emerald-400: #34d399;--emerald-500: #10b981;--emerald-600: #059669;--rose-400: #fb7185;--rose-500: #f43f5e;--rose-600: #e11d48;--amber-400: #fbbf24;--amber-500: #f59e0b;--sky-400: #38bdf8;--sky-500: #0ea5e9;--bg-body: #f8fafc;--bg-primary: #ffffff;--bg-secondary: var(--brand-50);--bg-tertiary: var(--slate-100);--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .75);--text-primary: var(--slate-900);--text-secondary: var(--slate-600);--text-tertiary: var(--slate-500);--text-muted: var(--slate-400);--border-color: var(--slate-200);--border-hover: var(--slate-300);--border-focus: var(--brand-500);--primary: var(--brand-500);--primary-hover: var(--brand-600);--primary-light: var(--brand-50);--primary-dark: var(--brand-700);--primary-alpha-10: rgba(46, 204, 113, .1);--primary-alpha-20: rgba(46, 204, 113, .2);--secondary: var(--accent-500);--secondary-hover: var(--accent-600);--success: var(--emerald-500);--success-light: #ecfdf5;--success-hover: var(--emerald-600);--danger: var(--rose-500);--danger-light: #fff1f2;--danger-hover: var(--rose-600);--warning: var(--amber-500);--warning-light: #fffbeb;--info: var(--sky-500);--info-light: #f0f9ff;--shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, .08), 0 1px 2px -1px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .12), 0 8px 10px -6px rgba(15, 23, 42, .06);--shadow-brand: 0 8px 24px rgba(46, 204, 113, .25);--shadow-glow: 0 0 24px rgba(46, 204, 113, .18);--radius-xs: .25rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--header-height: 68px;--sidebar-width: 272px;--sidebar-collapsed-width: 72px;--gradient-brand: linear-gradient(135deg, var(--brand-500) 0%, var(--accent-500) 100%);--gradient-brand-soft: linear-gradient(135deg, var(--brand-50) 0%, #f0f9ff 100%);--gradient-success: linear-gradient(135deg, var(--emerald-400) 0%, var(--emerald-600) 100%);--gradient-danger: linear-gradient(135deg, var(--rose-400) 0%, var(--rose-600) 100%);--gradient-warning: linear-gradient(135deg, #fcd34d 0%, var(--amber-500) 100%);--gradient-info: linear-gradient(135deg, var(--sky-400) 0%, var(--sky-500) 100%);--font-sans: "Plus Jakarta Sans", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Fira Code", "JetBrains Mono", monospace}@media(prefers-color-scheme:dark){:root{--bg-body: var(--slate-950);--bg-primary: var(--slate-900);--bg-secondary: var(--slate-850);--bg-tertiary: var(--slate-800);--bg-elevated: var(--slate-800);--bg-glass: rgba(15, 23, 42, .8);--text-primary: var(--slate-50);--text-secondary: var(--slate-300);--text-tertiary: var(--slate-400);--text-muted: var(--slate-500);--border-color: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .12);--primary: var(--brand-400);--primary-hover: var(--brand-300);--primary-light: rgba(99, 102, 241, .12);--primary-dark: var(--brand-600);--primary-alpha-10: rgba(14, 165, 233, .12);--primary-alpha-20: rgba(14, 165, 233, .22);--success-light: rgba(16, 185, 129, .1);--danger-light: rgba(244, 63, 94, .1);--warning-light: rgba(245, 158, 11, .1);--info-light: rgba(14, 165, 233, .1);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .35), 0 1px 2px -1px rgba(0, 0, 0, .25);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .45), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .35);--shadow-brand: 0 8px 24px rgba(46, 204, 113, .35);--shadow-glow: 0 0 30px rgba(46, 204, 113, .25);--gradient-brand-soft: linear-gradient(135deg, rgba(14, 165, 233, .15) 0%, rgba(6, 182, 212, .1) 100%)}}[data-theme=dark]{--bg-body: var(--slate-950);--bg-primary: var(--slate-900);--bg-secondary: var(--slate-850);--bg-tertiary: var(--slate-800);--bg-elevated: var(--slate-800);--bg-glass: rgba(15, 23, 42, .8);--text-primary: var(--slate-50);--text-secondary: var(--slate-300);--text-tertiary: var(--slate-400);--text-muted: var(--slate-500);--border-color: rgba(255, 255, 255, .07);--border-hover: rgba(255, 255, 255, .12);--primary: var(--brand-400);--primary-hover: var(--brand-300);--primary-light: rgba(99, 102, 241, .12);--primary-dark: var(--brand-600);--primary-alpha-10: rgba(14, 165, 233, .12);--primary-alpha-20: rgba(14, 165, 233, .22);--success-light: rgba(16, 185, 129, .1);--danger-light: rgba(244, 63, 94, .1);--warning-light: rgba(245, 158, 11, .1);--info-light: rgba(14, 165, 233, .1);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .35), 0 1px 2px -1px rgba(0, 0, 0, .25);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .45), 0 4px 6px -4px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .35);--shadow-brand: 0 8px 24px rgba(14, 165, 233, .35);--shadow-glow: 0 0 30px rgba(14, 165, 233, .25);--gradient-brand-soft: linear-gradient(135deg, rgba(14, 165, 233, .15) 0%, rgba(6, 182, 212, .1) 100%)}[data-theme=light]{--bg-body: #f8fafc;--bg-primary: #ffffff;--bg-secondary: var(--brand-50);--bg-tertiary: var(--slate-100);--bg-elevated: #ffffff;--text-primary: var(--slate-900);--text-secondary: var(--slate-600);--text-tertiary: var(--slate-500);--text-muted: var(--slate-400);--border-color: var(--slate-200);--border-hover: var(--slate-300);--primary: var(--brand-500);--primary-hover: var(--brand-600);--primary-light: var(--brand-50);--primary-alpha-10: rgba(46, 204, 113, .1);--primary-alpha-20: rgba(46, 204, 113, .2);--bg-glass: rgba(255, 255, 255, .85)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans, "Plus Jakarta Sans", "Inter", -apple-system, sans-serif);background:var(--bg-body);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;font-size:15px}a{text-decoration:none;color:inherit;transition:color .2s ease}button{font-family:inherit;cursor:pointer}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass{background:var(--bg-glass);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--border-color)}.card{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);padding:1.5rem;transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-elevated{background:var(--bg-elevated);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.text-gradient{background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.01em}.badge.badge-success{background:var(--success-light);color:var(--success);border:1px solid rgba(16,185,129,.2)}.badge.badge-danger{background:var(--danger-light);color:var(--danger);border:1px solid rgba(244,63,94,.2)}.badge.badge-warning{background:var(--warning-light);color:var(--warning);border:1px solid rgba(245,158,11,.2)}.badge.badge-info{background:var(--info-light);color:var(--info);border:1px solid rgba(14,165,233,.2)}.badge.badge-primary{background:var(--primary-alpha-10);color:var(--primary);border:1px solid var(--primary-alpha-20)}input,select,textarea{font-family:inherit;font-size:.9rem;padding:.6rem .9rem;border:1.5px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease;outline:none;width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-10)}input::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-lg);border:1.5px solid transparent;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;white-space:nowrap;text-decoration:none;font-family:inherit;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;background:#fff0;transition:background .2s ease;border-radius:inherit}.btn:hover:after{background:#ffffff14}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn.btn-primary{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand)}.btn.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px #6366f159;filter:brightness(1.07)}.btn.btn-primary:active{transform:translateY(0)}.btn.btn-secondary{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-color)}.btn.btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-1px)}.btn.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:0 4px 14px #f43f5e4d}.btn.btn-danger:hover{transform:translateY(-1px);box-shadow:0 8px 20px #f43f5e66;filter:brightness(1.05)}.btn.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--radius-lg);border-color:var(--border-color);background:var(--bg-primary);color:var(--text-secondary);flex-shrink:0}.btn.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-hover);transform:scale(1.08)}.btn.btn-icon.edit:hover{background:var(--primary-alpha-10);color:var(--primary);border-color:var(--primary-alpha-20)}.btn.btn-icon.delete:hover{background:var(--danger-light);color:var(--danger);border-color:#f43f5e33}.btn.btn-icon.view:hover{background:var(--info-light);color:var(--info);border-color:#0ea5e933}.btn.btn-icon.success:hover{background:var(--success-light);color:var(--success);border-color:#10b98133}.btn.btn-sm{padding:.4rem .85rem;font-size:.8rem;border-radius:var(--radius-md)}.btn.btn-lg{padding:.8rem 1.75rem;font-size:1rem;border-radius:var(--radius-xl)}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.page-header .page-title h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin:0 0 .25rem;letter-spacing:-.025em}.page-header .page-title p{font-size:.9rem;color:var(--text-secondary);margin:0}.page-header .page-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.section-title{font-size:1.1rem;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;letter-spacing:-.015em}.section-title:before{content:"";width:3px;height:18px;background:var(--gradient-brand);border-radius:var(--radius-full)}.data-table{width:100%;border-collapse:collapse}.data-table thead tr{background:var(--bg-secondary)}.data-table th{padding:.9rem 1.1rem;text-align:left;font-size:.72rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;border-bottom:1.5px solid var(--border-color);white-space:nowrap}.data-table td{padding:1rem 1.1rem;font-size:.9rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:var(--bg-secondary)}.data-table tbody tr:last-child td{border-bottom:none}.data-table .table-wrapper{background:var(--bg-elevated);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow:hidden;box-shadow:var(--shadow-sm)}.modal-overlay{position:fixed;inset:0;background:#07101f99;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:1000;animation:fadeIn .2s ease;display:flex;align-items:center;justify-content:center}.cdk-overlay-backdrop{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background-color:#07101f66!important}.mat-mdc-dialog-container .mdc-dialog__surface{background:var(--bg-glass)!important;backdrop-filter:blur(20px) saturate(160%)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;border:1px solid var(--border-color-alpha)!important;border-radius:var(--radius-2xl)!important;box-shadow:var(--shadow-2xl)!important}.modal{background:var(--bg-glass);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--border-color-alpha);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl);z-index:1001;width:calc(100% - 2rem);max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideUp .3s cubic-bezier(.16,1,.3,1)}.modal .modal-header{padding:1.5rem 1.75rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal .modal-header h2{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.02em}.modal .modal-header .btn-close{width:32px;height:32px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:1rem}.modal .modal-header .btn-close:hover{background:var(--danger-light);color:var(--danger);border-color:#f43f5e33}.modal .modal-body{padding:1.75rem;overflow-y:auto}.modal .modal-body .form-group{margin-bottom:1.25rem}.modal .modal-body .form-group label{display:block;font-size:.82rem;font-weight:600;color:var(--text-secondary);margin-bottom:.45rem;letter-spacing:.01em}.modal .modal-body .form-group input,.modal .modal-body .form-group select,.modal .modal-body .form-group textarea{background:var(--bg-secondary);border:1.5px solid var(--border-color);color:var(--text-primary)}.modal .modal-body .form-group input:focus,.modal .modal-body .form-group select:focus,.modal .modal-body .form-group textarea:focus{background:var(--bg-primary);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-alpha-10)}.modal .modal-body .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}.modal .modal-body .form-grid .full{grid-column:span 2}.modal .modal-footer{padding:1.25rem 1.75rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.75rem;flex-shrink:0;background:var(--bg-secondary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;gap:.75rem;color:var(--text-muted)}.empty-state .empty-icon{font-size:3rem;opacity:.4;margin-bottom:.5rem}.empty-state h3{font-size:1.1rem;font-weight:600;color:var(--text-secondary)}.empty-state p{font-size:.9rem}.search-bar{display:flex;gap:.75rem;align-items:center}.search-bar .search-input-wrapper{flex:1;position:relative}.search-bar .search-input-wrapper i,.search-bar .search-input-wrapper mat-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none}.search-bar .search-input-wrapper input{padding-left:2.5rem;background:var(--bg-elevated);border:1.5px solid var(--border-color);border-radius:var(--radius-lg)}.search-bar .search-input-wrapper input:focus{border-color:var(--primary);background:var(--bg-primary);box-shadow:0 0 0 3px var(--primary-alpha-10)}.filter-chips{display:flex;gap:.5rem;flex-wrap:wrap}.filter-chips .chip{padding:.35rem .8rem;border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;border:1.5px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);transition:all .15s ease}.filter-chips .chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chips .chip.active{background:var(--primary-alpha-10);border-color:var(--primary-alpha-20);color:var(--primary);font-weight:600}.loading-spinner{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1rem;padding:3rem;color:var(--text-muted)}.loading-spinner .spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .75s linear infinite}.loader-inline{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
