.filters-panel{width:280px;background-color:rgba(11,17,30,.4);border-right:1px solid hsla(0,0%,100%,.05);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;padding:20px;gap:22px}.filters-panel .section-title{font-size:11px;font-weight:700;color:#fff;letter-spacing:1px;margin:0 0 12px 0;text-transform:uppercase;border-bottom:1px solid hsla(0,0%,100%,.03);padding-bottom:8px}.filter-search-box{position:relative;width:100%}.filter-search-box .search-input{width:100%;background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.05);border-radius:6px;padding:10px 35px 10px 12px;color:#fff;font-size:12px;outline:none;transition:all .25s ease}.filter-search-box .search-input:focus{border-color:#00b0ff;box-shadow:0 0 0 2px rgba(0,176,255,.15)}.filter-search-box .search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:hsla(0,0%,100%,.4);pointer-events:none;width:14px;height:14px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:11px;font-weight:600;color:hsla(0,0%,100%,.65)}.filter-group .slider-container{display:flex;flex-direction:column;gap:6px}.filter-group .slider-container .slider-header{display:flex;justify-content:space-between;font-size:10px;color:hsla(0,0%,100%,.4)}.filter-group .slider-container .slider-header span{font-family:"JetBrains Mono",monospace;font-weight:700;color:#fff}.filter-group .slider-container input[type=range]{-webkit-appearance:none;width:100%;height:4px;border-radius:2px;background:hsla(0,0%,100%,.08);outline:none}.filter-group .slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#00b0ff;cursor:pointer;transition:transform .1s ease;box-shadow:0 0 6px rgba(0,176,255,.5)}.filter-group .slider-container input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.filter-group .custom-select{width:100%;background:rgba(0,0,0,.25);border:1px solid hsla(0,0%,100%,.05);border-radius:6px;padding:10px 12px;color:#fff;font-size:12px;outline:none;cursor:pointer;transition:all .2s ease}.filter-group .custom-select option{background-color:#0d1626;color:#fff}.filter-group .custom-select:focus{border-color:#00b0ff}.filter-toggles{display:flex;flex-direction:column;gap:12px}.switch-item{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:hsla(0,0%,100%,.65)}.switch-item .switch{position:relative;display:inline-block;width:32px;height:18px}.switch-item .switch input{opacity:0;width:0;height:0}.switch-item .switch .slider{position:absolute;cursor:pointer;inset:0;background-color:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.05);border-radius:9px;transition:.3s}.switch-item .switch .slider::before{position:absolute;content:"";height:10px;width:10px;left:3px;bottom:3px;background-color:hsla(0,0%,100%,.4);border-radius:50%;transition:.3s}.switch-item .switch input:checked+.slider{background-color:rgba(0,176,255,.2);border-color:#00b0ff}.switch-item .switch input:checked+.slider::before{transform:translateX(14px);background-color:#00b0ff;box-shadow:0 0 6px rgba(0,176,255,.5)}.btn-primary-glow{width:100%;background:rgba(0,0,0,0);border:1px solid hsla(0,0%,100%,.08);border-radius:6px;color:hsla(0,0%,100%,.65);font-size:11px;font-weight:700;padding:10px;cursor:pointer;transition:all .25s ease}.btn-primary-glow:hover{background:hsla(0,0%,100%,.02);color:#fff;border-color:hsla(0,0%,100%,.15)}.status-legend-bar{display:flex;align-items:center;gap:16px}.status-legend-bar .legend-item{display:flex;align-items:center;gap:6px;font-size:9px;font-weight:600;color:hsla(0,0%,100%,.65)}.status-legend-bar .legend-item .legend-dot{width:8px;height:8px;border-radius:50%}.status-legend-bar .legend-item .legend-dot.bg-libre{background:#2ecc71;box-shadow:0 0 6px rgba(46,204,113,.4)}.status-legend-bar .legend-item .legend-dot.bg-ocupado{background:#e74c3c;box-shadow:0 0 6px rgba(231,76,60,.4)}.status-legend-bar .legend-item .legend-dot.bg-ausente{background:#f1c40f;box-shadow:0 0 6px rgba(241,196,15,.4)}.status-legend-bar .legend-item .legend-dot.bg-reserva{background:#00b0ff;box-shadow:0 0 6px rgba(0,176,255,.4)}.status-legend-bar .legend-item .legend-dot.bg-alerta{background:#9b59b6;box-shadow:0 0 6px rgba(155,89,182,.4)}.map-controls-toolbar{position:absolute;left:24px;top:58px;display:flex;flex-direction:column;gap:4px;z-index:20}.map-controls-toolbar .control-btn{width:32px;height:32px;background-color:rgba(13,22,38,.95);border:1px solid hsla(0,0%,100%,.05);border-radius:6px;color:hsla(0,0%,100%,.65);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;outline:none}.map-controls-toolbar .control-btn svg{width:16px;height:16px}.map-controls-toolbar .control-btn:hover{color:#fff;background-color:rgba(20,32,54,.95);border-color:hsla(0,0%,100%,.15)}.marina-map-wrapper{flex-grow:1;background-color:#050a12;border:1px solid hsla(0,0%,100%,.08);border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 80px rgba(0,0,0,.8),0 10px 30px rgba(0,0,0,.5)}.marina-stage{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:radial-gradient(130% 100% at 50% -10%, rgba(0, 92, 140, 0.22) 0%, rgba(5, 12, 22, 0) 55%),radial-gradient(100% 80% at 50% 115%, rgba(0, 70, 120, 0.16) 0%, rgba(5, 12, 22, 0) 60%),linear-gradient(180deg, #08131f 0%, #050b14 100%)}.marina-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120, 180, 230, 0.045) 1px, transparent 1px),linear-gradient(90deg, rgba(120, 180, 230, 0.045) 1px, transparent 1px);background-size:30px 30px;pointer-events:none}.marina-stage::after{content:"";position:absolute;inset:0;background:radial-gradient(85% 65% at 50% 45%, transparent 58%, rgba(0, 0, 0, 0.55) 100%);pointer-events:none}.marina-breakwater{position:absolute;top:8px;left:8%;right:7%;height:16px;display:flex;align-items:center;gap:6px;z-index:2}.marina-breakwater .breakwater-rocks{flex:1;height:14px;border-radius:8px;background:radial-gradient(5px 5px at 6px 5px, #3a4456 0%, #222a38 70%, transparent 72%),radial-gradient(5px 5px at 17px 9px, #333c4c 0%, #1d2532 70%, transparent 72%),radial-gradient(5px 5px at 27px 4px, #424c5e 0%, #262f3d 70%, transparent 72%),radial-gradient(5px 5px at 37px 9px, #313a49 0%, #1b232f 70%, transparent 72%),linear-gradient(180deg, #2b3445 0%, #161e29 100%);background-size:44px 14px,44px 14px,44px 14px,44px 14px,auto;background-repeat:repeat-x;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.07),0 2px 7px rgba(0,0,0,.55)}.marina-breakwater .breakwater-gap{width:38px;flex-shrink:0}.marina-breakwater .nav-light{width:8px;height:8px;border-radius:50%;flex-shrink:0}.marina-breakwater .nav-light--green{background:#2ecc71;box-shadow:0 0 10px 2px rgba(46,204,113,.9);animation:navBlink 2.4s infinite}.marina-breakwater .nav-light--red{background:#e74c3c;box-shadow:0 0 10px 2px rgba(231,76,60,.9);animation:navBlink 2.4s infinite 1.2s}@keyframes navBlink{0%,45%{opacity:1}55%,100%{opacity:.2}}.marina-layout{position:absolute;inset:38px 16px 58px 16px;display:flex;gap:16px;z-index:2}.marina-quay{width:66px;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-around;padding:112px 0 4px 0}.marina-quay .quay-building{height:50px;background:rgba(19,29,43,.92);border:1px solid hsla(0,0%,100%,.09);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:hsla(0,0%,100%,.65);box-shadow:0 3px 10px rgba(0,0,0,.45),inset 0 1px 0 hsla(0,0%,100%,.04)}.marina-quay .quay-building svg{width:17px;height:17px;opacity:.85}.marina-quay .quay-building span{font-size:6.5px;font-weight:800;letter-spacing:.4px;text-align:center}.marina-quay .quay-building strong{font-size:18px;font-weight:800;color:hsla(0,0%,100%,.65);line-height:1}.marina-quay .quay-building--parking{height:38px;background:rgba(15,24,37,.92)}.marina-basin{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-evenly;gap:6px;overflow:hidden;padding:2px 0}.pontoon{display:flex;align-items:center;gap:8px}.pontoon-label{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:5px;background:#131d2b;border:1px solid hsla(0,0%,100%,.09);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:800;color:hsla(0,0%,100%,.65);box-shadow:0 2px 6px rgba(0,0,0,.4)}.pontoon-track{position:relative;flex:1;min-width:0;display:flex;flex-direction:column}.pontoon-berths{display:flex;gap:3px;z-index:2}.pontoon-pier{height:5px;margin-top:1px;border-radius:3px;background:linear-gradient(180deg, #c9cdd4 0%, #969ca8 55%, #6f7682 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.5),0 2px 5px rgba(0,0,0,.5);z-index:1}.pontoon-boats{display:flex;gap:3px;height:18px;margin-top:1px}.boat-slot{flex:1 1 0;min-width:0;display:flex;justify-content:center}.marina-boat{width:min(58%,18px);height:17px;background:linear-gradient(180deg, #eef2f7 0%, #c4ccd6 100%);clip-path:polygon(15% 0, 85% 0, 90% 55%, 50% 100%, 10% 55%);box-shadow:0 2px 4px rgba(0,0,0,.45);transition:opacity .3s ease}.pontoon-overlay{position:absolute;z-index:4;top:50%;transform:translate(-50%, -50%);font-size:7px;font-weight:800;letter-spacing:.4px;color:hsla(0,0%,100%,.92);background:rgba(11,17,30,.85);border:1px solid hsla(0,0%,100%,.12);border-radius:4px;padding:2px 7px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.5);pointer-events:none}.pontoon-overlay--fuel{left:38%}.pontoon-overlay--maint{left:76%;background:rgba(155,89,182,.25);border-color:rgba(155,89,182,.55)}.berth{position:relative;flex:1 1 0;min-width:0;height:30px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#0f1a28;border:1px solid hsla(0,0%,100%,.06);transition:background-color .55s ease,box-shadow .3s ease,transform .14s ease,border-color .3s ease,opacity .3s ease}.berth .berth-num{position:relative;z-index:2;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;color:hsla(0,0%,100%,.95);text-shadow:0 1px 2px rgba(0,0,0,.55);opacity:0;transition:opacity .2s ease}.berth.status-libre{background:rgba(46,204,113,.14);border-color:rgba(46,204,113,.6)}.berth.status-libre .berth-num{color:#2ecc71;text-shadow:none}.berth.status-ocupado{background:#e74c3c;border-color:rgba(0,0,0,.28)}.berth.status-ausente{background:#f1c40f;border-color:rgba(0,0,0,.28)}.berth.status-ausente .berth-num{color:#2c2406;text-shadow:none}.berth.status-reserva{background:#00b0ff;border-color:rgba(0,0,0,.28)}.berth.status-alerta{background:#9b59b6;border-color:rgba(0,0,0,.28)}.berth:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.5);filter:brightness(1.12);z-index:5}.berth.is-selected{border-color:#fff;box-shadow:0 0 0 2px hsla(0,0%,100%,.92),0 0 16px rgba(0,176,255,.75);transform:translateY(-2px) scale(1.06);z-index:6}.berth.is-selected .berth-num{opacity:1}.berth.just-changed{animation:berthPulse .9s ease}.berth-flag{position:absolute;z-index:3;font-size:9px;font-weight:800;line-height:1}.berth-flag--euro{top:1px;right:3px;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.65)}@keyframes berthPulse{0%{box-shadow:0 0 0 0 hsla(0,0%,100%,.6)}100%{box-shadow:0 0 0 11px hsla(0,0%,100%,0)}}.berth.debt-highlight{border-color:#ff4d4d;z-index:6;animation:debtPulse 1.2s ease-in-out infinite}.berth.debt-highlight .berth-flag--euro{color:#fff;font-size:10px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.85)}@keyframes debtPulse{0%,100%{box-shadow:0 0 0 2px rgba(255,77,77,.9),0 0 10px 2px rgba(255,77,77,.5)}50%{box-shadow:0 0 0 2px #ff4d4d,0 0 22px 7px rgba(255,77,77,.85)}}.marina-sidedock{width:64px;flex-shrink:0;display:flex;flex-direction:column;gap:6px}.marina-sidedock .sidedock-tag{text-align:center;font-family:"JetBrains Mono",monospace;font-size:9px;font-weight:800;letter-spacing:1px;color:hsla(0,0%,100%,.4)}.marina-sidedock .sidedock-slots{flex:1;min-height:0;display:flex;flex-direction:column;gap:3px;padding:4px;border-radius:6px;background:linear-gradient(90deg, #1d2a3b 0%, #131c28 100%);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.04)}.berth--dock{height:auto;flex:1 1 0;border-radius:3px}.marina-stage.layer-show-names .berth-num{opacity:1}.marina-stage.layer-hide-ships .marina-boat{opacity:0 !important}.marina-stage.layer-hide-services .marina-services,.marina-stage.layer-hide-services .marina-quay{opacity:.12;pointer-events:none}.berth.filter-faded,.berth.layer-faded{opacity:.12;pointer-events:none;filter:grayscale(0.5)}.boat-slot.filter-faded,.boat-slot.layer-faded{opacity:.12;pointer-events:none}.marina-services{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:4px;padding:6px 8px;z-index:4;background:#0b111e;border:1px solid hsla(0,0%,100%,.07);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.45)}.marina-services .service-chip{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:50px;padding:4px 6px;background:rgba(0,0,0,0);border:none;border-radius:8px;color:hsla(0,0%,100%,.4);cursor:pointer;transition:all .2s ease;outline:none}.marina-services .service-chip svg{width:17px;height:17px}.marina-services .service-chip span{font-size:7.5px;font-weight:700;letter-spacing:.2px;white-space:nowrap}.marina-services .service-chip:hover{color:#fff;background:hsla(0,0%,100%,.05)}.marina-services .service-chip.is-active{color:#00b0ff}.marina-compass{position:absolute;right:16px;bottom:66px;display:flex;flex-direction:column;align-items:center;gap:1px;color:hsla(0,0%,100%,.65);z-index:4}.marina-compass svg{width:16px;height:16px}.marina-compass span{font-size:8px;font-weight:800;font-family:"JetBrains Mono",monospace}.marina-scale{position:absolute;right:52px;bottom:70px;display:flex;align-items:center;z-index:4;font-family:"JetBrains Mono",monospace}.marina-scale .scale-num{font-size:7px;color:hsla(0,0%,100%,.4);padding:0 3px}.marina-scale .scale-seg{width:20px;height:5px;border:1px solid hsla(0,0%,100%,.32)}.marina-scale .scale-seg:first-of-type{background:hsla(0,0%,100%,.26)}@keyframes pulse-bell{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85;filter:drop-shadow(0 0 3px currentColor)}100%{transform:scale(1);opacity:1}}