.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{--sp-primary: #41C59C;--sp-primary-light: #75DBBD;--sp-primary-dark: #359E7D;--sp-primary-rgb: 65, 197, 156;--sp-primary-50: rgba(var(--sp-primary-rgb), .04);--sp-primary-100: rgba(var(--sp-primary-rgb), .08);--sp-primary-200: rgba(var(--sp-primary-rgb), .12);--sp-primary-300: rgba(var(--sp-primary-rgb), .2);--sp-primary-400: rgba(var(--sp-primary-rgb), .35);--sp-success: #10b981;--sp-success-rgb: 16, 185, 129;--sp-warning: #f59e0b;--sp-warning-rgb: 245, 158, 11;--sp-danger: #ef4444;--sp-danger-rgb: 239, 68, 68;--sp-info: #3b82f6;--sp-info-rgb: 59, 130, 246;--sp-white: #ffffff;--sp-black: #000000;--sp-heading-color: #5e5873;--sp-body-color: #6e6b7b;--sp-muted-color: #b9b9c3;--sp-gray-50: #fafafc;--sp-gray-100: #f8f8f8;--sp-gray-150: #f6f6f9;--sp-gray-200: #f3f2f7;--sp-gray-300: #ebe9f1;--sp-gray-400: #d8d6de;--sp-gray-500: #b8b4c7;--sp-gray-600: #a0a3a8;--sp-gray-700: #6e6b7b;--sp-gray-800: #5e5873;--sp-gray-900: #2c2c2c;--sp-disabled-bg: #efefef;--sp-disabled-opacity: .7;--sp-dark-bg: #161d31;--sp-dark-card: #283046;--sp-dark-border: #3b4253;--sp-darker-bg: #0f1422;--sp-footer-bg: #0a0f1a;--sp-bg: var(--sp-white);--sp-bg-light: #f0f4f2;--sp-bg-card: var(--sp-white);--sp-border-color: var(--sp-gray-300);--sp-border-input: var(--sp-gray-400);--sp-border-input-hover: var(--sp-gray-500);--sp-font-family: "Montserrat", Helvetica, Arial, sans-serif;--sp-font-size-xs: .72rem;--sp-font-size-sm: .857rem;--sp-font-size-base: 1rem;--sp-font-size-md: 1.1rem;--sp-font-size-lg: 1.25rem;--sp-font-size-xl: 1.5rem;--sp-font-size-2xl: 2rem;--sp-font-size-3xl: 2.5rem;--sp-font-size-4xl: 4rem;--sp-line-height: 1.6;--sp-radius-sm: .25rem;--sp-radius: .375rem;--sp-radius-md: .5rem;--sp-radius-lg: .75rem;--sp-radius-xl: 1rem;--sp-radius-2xl: 1.5rem;--sp-radius-full: 50%;--sp-radius-pill: 10rem;--sp-shadow-xs: 0 2px 12px rgba(0, 0, 0, .04);--sp-shadow-sm: 0 3px 10px 0 rgba(34, 41, 47, .1);--sp-shadow: 0 4px 24px 0 rgba(0, 0, 0, .1);--sp-shadow-lg: 0 8px 40px 0 rgba(0, 0, 0, .12);--sp-shadow-xl: 0 5px 20px 0 rgba(0, 0, 0, .1);--sp-shadow-primary: 0 0 20px rgba(var(--sp-primary-rgb), .3);--sp-shadow-primary-lg: 0 0 25px rgba(var(--sp-primary-rgb), .6);--sp-space-xs: .25rem;--sp-space-sm: .5rem;--sp-space-md: 1rem;--sp-space-lg: 1.5rem;--sp-space-xl: 2rem;--sp-space-2xl: 3rem;--sp-space-3xl: 4rem;--sp-space-4xl: 6rem;--sp-transition: all .3s ease-in-out;--sp-transition-fast: all .15s ease-in-out;--sp-transition-color: color .15s ease-in-out;--sp-z-dropdown: 1050;--sp-z-sticky: 997;--sp-z-modal-backdrop: 1050;--sp-z-toast: 1080;--sp-z-tooltip: 1090;--sp-z-sidebar: 1000;--sp-gradient-primary: linear-gradient(118deg, var(--sp-primary), var(--sp-primary-light));--sp-gradient-primary-faded: linear-gradient(118deg, rgba(var(--sp-primary-rgb), 1), rgba(var(--sp-primary-rgb), .7));--sp-input-height: 2.714rem;--sp-input-height-sm: 2.142rem;--sp-input-height-lg: 3.2857rem;--sp-input-padding-x: 1rem;--sp-input-padding-y: .571rem;--sp-input-font-size: 1rem;--sp-input-border-radius: var(--sp-radius);--sp-input-border: 1px solid var(--sp-border-input);--sp-input-bg: var(--sp-white);--sp-input-focus-border: var(--sp-primary);--sp-input-focus-shadow: var(--sp-shadow-sm);--sp-input-error-border: var(--sp-danger);--sp-input-placeholder: var(--sp-muted-color);--sp-btn-padding-x: 2rem;--sp-btn-padding-y: .85rem;--sp-btn-font-size: .95rem;--sp-btn-font-weight: 600;--sp-btn-border-radius: var(--sp-radius)}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:var(--sp-btn-padding-y) var(--sp-btn-padding-x);border-radius:var(--sp-btn-border-radius);font-weight:var(--sp-btn-font-weight);font-size:var(--sp-btn-font-size);font-family:var(--sp-font-family);line-height:1.45;transition:var(--sp-transition);border:none;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:disabled,.btn.disabled{opacity:.45;cursor:not-allowed!important;filter:grayscale(.25)}.btn-primary{background:var(--sp-gradient-primary);color:var(--sp-white);box-shadow:0 0 15px rgba(var(--sp-primary-rgb),.4)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--sp-shadow-primary-lg)}.btn-outline{background:transparent;color:var(--sp-heading-color);border:2px solid var(--sp-border-color)}.btn-outline:hover{border-color:var(--sp-primary);color:var(--sp-primary);background:var(--sp-primary-50);transform:translateY(-3px)}.btn-flat{background:var(--sp-primary-100);color:var(--sp-primary);box-shadow:none}.btn-flat:hover{background:var(--sp-primary-200)}.btn-danger{background:var(--sp-danger);color:var(--sp-white);box-shadow:0 0 10px rgba(var(--sp-danger-rgb),.3)}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(var(--sp-danger-rgb),.4)}.btn-success{background:var(--sp-success);color:var(--sp-white);box-shadow:0 0 10px rgba(var(--sp-success-rgb),.3)}.btn-success:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(var(--sp-success-rgb),.4)}.btn-warning{background:var(--sp-warning);color:var(--sp-white);box-shadow:0 0 10px rgba(var(--sp-warning-rgb),.3)}.btn-warning:hover{transform:translateY(-2px);box-shadow:0 0 20px rgba(var(--sp-warning-rgb),.4)}.btn-full{width:100%;justify-content:center}.btn-sm{padding:.4rem 1rem;font-size:var(--sp-font-size-sm)}.btn-lg{padding:1rem 2.5rem;font-size:var(--sp-font-size-base)}.badge{display:inline-flex;align-items:center;padding:.25rem .65rem;border-radius:var(--sp-radius-pill);font-size:var(--sp-font-size-xs);font-weight:600;line-height:1.3;white-space:nowrap}.badge-primary{background:var(--sp-gradient-primary-faded);color:var(--sp-white)}.badge-primary-light{background:var(--sp-primary-100);color:var(--sp-primary)}.badge-success{background:rgba(var(--sp-success-rgb),.12);color:var(--sp-success)}.badge-danger{background:rgba(var(--sp-danger-rgb),.12);color:var(--sp-danger)}.badge-warning{background:rgba(var(--sp-warning-rgb),.12);color:var(--sp-warning)}.badge-info{background:rgba(var(--sp-info-rgb),.12);color:var(--sp-info)}.card{background:var(--sp-bg-card);border-radius:var(--sp-radius-md);box-shadow:var(--sp-shadow);overflow:hidden}.card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-space-md) var(--sp-space-lg);border-bottom:1px solid var(--sp-border-color)}.card-title{font-size:var(--sp-font-size-md);font-weight:600;color:var(--sp-heading-color);margin:0}.card-body{padding:var(--sp-space-lg)}.card-footer{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:var(--sp-space-md) var(--sp-space-lg);border-top:1px solid var(--sp-border-color)}.form-label{display:block;color:var(--sp-heading-color);font-size:var(--sp-font-size-sm);font-weight:500;margin-bottom:.4rem;line-height:1}.form-required{color:var(--sp-danger);margin-left:2px}.form-error{display:flex;align-items:center;gap:.3rem;color:var(--sp-danger);font-size:.78rem;font-weight:500;margin-top:.35rem}.form-hint{display:block;color:var(--sp-muted-color);font-size:.78rem;margin-top:.35rem}.spinner{width:32px;height:32px;border:3px solid var(--sp-border-color);border-top-color:var(--sp-primary);border-radius:var(--sp-radius-full);animation:sp-spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.spinner-lg{width:48px;height:48px;border-width:4px}@keyframes sp-spin{to{transform:rotate(360deg)}}.text-primary{color:var(--sp-primary)}.text-success{color:var(--sp-success)}.text-danger{color:var(--sp-danger)}.text-warning{color:var(--sp-warning)}.text-info{color:var(--sp-info)}.text-muted{color:var(--sp-muted-color)}.text-heading{color:var(--sp-heading-color)}.text-body{color:var(--sp-body-color)}.bg-primary{background:var(--sp-primary)}.bg-primary-light{background:var(--sp-primary-100)}.bg-success{background:var(--sp-success)}.bg-danger{background:var(--sp-danger)}.bg-warning{background:var(--sp-warning)}.bg-info{background:var(--sp-info)}.bg-light{background:var(--sp-bg-light)}.acad-brand{display:flex;align-items:center;gap:10px;flex:1;overflow:hidden;min-width:0}.acad-brand--collapsed{justify-content:center}.acad-brand-logo{width:36px;height:36px;border-radius:10px;object-fit:cover;flex-shrink:0}.acad-brand-initial{width:36px;height:36px;border-radius:10px;background:var(--sp-gradient-primary);color:#fff;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.acad-brand-info{display:flex;flex-direction:column;gap:1px;min-width:0}.acad-brand-name{font-size:.85rem;font-weight:700;color:var(--sp-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acad-brand-role{font-size:.65rem;color:var(--sp-primary);font-weight:600;white-space:nowrap}.sw-wrap{width:100%;display:flex;flex-direction:column;padding:8px 10px}.sw-wrap--collapsed{align-items:center;padding:8px 6px}.sw-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:var(--sp-gray-50);border:1px solid var(--sp-border-color);border-radius:var(--sp-radius-md);cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.sw-trigger:hover{background:color-mix(in srgb,var(--sp-primary) 6%,var(--sp-bg-card));border-color:var(--sp-primary)}.sw-trigger--static{cursor:default}.sw-trigger--static:hover{background:var(--sp-gray-50);border-color:var(--sp-border-color)}.sw-icon{width:32px;height:32px;border-radius:8px;background:var(--sp-gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;flex-shrink:0}.sw-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sw-name{font-size:.8rem;font-weight:700;color:var(--sp-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-sub{font-size:.65rem;color:var(--sp-muted-color);white-space:nowrap}.sw-arrow{font-size:.65rem;color:var(--sp-muted-color);flex-shrink:0;transition:transform .2s}.sw-arrow--open{transform:rotate(180deg)}.sw-dropdown{margin-top:4px;background:var(--sp-bg-card);border:1px solid var(--sp-border-color);border-radius:var(--sp-radius-md);overflow:hidden;box-shadow:var(--sp-shadow-md)}.sw-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;text-align:left;transition:background .12s}.sw-option:hover{background:var(--sp-gray-50)}.sw-option--active{background:color-mix(in srgb,var(--sp-primary) 6%,transparent)}.sw-opt-initial{width:28px;height:28px;border-radius:8px;background:var(--sp-gradient-primary);color:#fff;font-size:.78rem;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sw-opt-info{flex:1;min-width:0}.sw-opt-name{display:block;font-size:.78rem;font-weight:600;color:var(--sp-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sw-opt-meta{display:block;font-size:.65rem;color:var(--sp-muted-color)}.sw-opt-check{font-size:.72rem;color:var(--sp-primary);flex-shrink:0}.gradient-text{background:linear-gradient(118deg,var(--sp-primary),var(--sp-primary-light),var(--sp-info));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--sp-font-family);color:var(--sp-body-color);background:var(--sp-bg);line-height:var(--sp-line-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}img{max-width:100%;height:auto}.leaflet-container img{max-width:none;max-height:none}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:disabled,button[disabled]{opacity:.45;cursor:not-allowed!important;filter:grayscale(.25)}input,textarea{font-family:inherit;outline:none}.sp-tooltip{position:absolute;z-index:var(--sp-z-tooltip);max-width:220px;padding:.4rem .775rem;font-family:var(--sp-font-family);font-size:var(--sp-font-size-sm);font-weight:400;line-height:1.4;color:var(--sp-white);background:#323232;border-radius:var(--sp-radius);white-space:normal;word-wrap:break-word;pointer-events:none;opacity:0;transform:scale(.95);transition:opacity .15s ease,transform .15s ease}.sp-tooltip.show{opacity:1;transform:scale(1)}.sp-tooltip-arrow{position:absolute;width:8px;height:8px;background:#323232;transform:rotate(45deg)}.sp-tooltip-top .sp-tooltip-arrow{bottom:-4px;left:50%;margin-left:-4px}.sp-tooltip-bottom .sp-tooltip-arrow{top:-4px;left:50%;margin-left:-4px}.sp-tooltip-left .sp-tooltip-arrow{right:-4px;top:50%;margin-top:-4px}.sp-tooltip-right .sp-tooltip-arrow{left:-4px;top:50%;margin-top:-4px}:root{--fc-button-text-color: #fff;--fc-button-bg-color: #41C59C;--fc-button-border-color: #41C59C;--fc-button-hover-bg-color: #36a984;--fc-button-hover-border-color: #36a984;--fc-button-active-bg-color: #2ea87a;--fc-button-active-border-color: #2ea87a;--fc-today-bg-color: rgba(65, 197, 156, .06);--fc-now-indicator-color: #41C59C;--fc-border-color: #e5e7eb;--fc-neutral-bg-color: #f9fafb;--fc-page-bg-color: #ffffff;--fc-highlight-color: rgba(65, 197, 156, .12)}.training-calendar .fc{font-family:inherit}.training-calendar .fc-toolbar.fc-header-toolbar{margin-bottom:1rem;gap:.5rem;flex-wrap:wrap}.training-calendar .fc-toolbar-title{font-size:1rem;font-weight:700;color:#111827}.training-calendar .fc-button{border-radius:8px!important;font-size:.78rem!important;font-weight:600!important;padding:.4rem .85rem!important;transition:all .15s ease!important;box-shadow:none!important;text-transform:none!important}.training-calendar .fc-button-group .fc-button{border-radius:0!important}.training-calendar .fc-button-group .fc-button:first-child{border-radius:8px 0 0 8px!important}.training-calendar .fc-button-group .fc-button:last-child{border-radius:0 8px 8px 0!important}.training-calendar .fc-today-button{background:transparent!important;border:1.5px solid #e5e7eb!important;color:#374151!important;border-radius:8px!important}.training-calendar .fc-today-button:hover{background:#f3f4f6!important;border-color:#d1d5db!important}.training-calendar .fc-today-button:disabled{opacity:.4!important}.training-calendar .fc-col-header-cell-cushion{font-size:.78rem;font-weight:700;color:#6b7280;text-decoration:none!important;text-transform:uppercase;letter-spacing:.04em;padding:.5rem 0}.training-calendar .fc-daygrid-day-number{font-size:.8rem;font-weight:600;color:#374151;text-decoration:none!important;padding:4px 6px;border-radius:6px}.training-calendar .fc-day-today .fc-daygrid-day-number{background:#41c59c;color:#fff}.training-calendar .fc-timegrid-slot-label-cushion{font-size:.7rem;color:#9ca3af;font-weight:500}.training-calendar .fc-event{border-radius:6px!important;font-size:.75rem!important;cursor:pointer!important;transition:opacity .15s ease,transform .1s ease!important;border-width:0 0 0 3px!important}.training-calendar .fc-event:hover{opacity:.88!important;transform:translateY(-1px)!important}.training-calendar .fc-event-title{font-weight:700!important;padding:1px 4px!important}.training-calendar .fc-event-time{font-weight:500!important;padding:0 4px!important}.training-calendar .fc-daygrid-event{border-radius:4px!important;border-left-width:3px!important}.training-calendar .fc-timegrid-now-indicator-line{border-color:#41c59c!important;border-width:2px!important}.training-calendar .fc-timegrid-now-indicator-arrow{border-top-color:#41c59c!important;border-bottom-color:#41c59c!important}.training-calendar .fc-scroller::-webkit-scrollbar{width:5px;height:5px}.training-calendar .fc-scroller::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.training-calendar .fc-scroller::-webkit-scrollbar-track{background:transparent}
