.filters-panel{width:280px;background-color:#0b111e66;border-right:1px solid#ffffff0d;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;text-transform:uppercase;border-bottom:1px solid#ffffff08;padding-bottom:8px}.filter-search-box{position:relative;width:100%}.filter-search-box .search-input{width:100%;background:#00000040;border:1px solid#ffffff0d;border-radius:6px;padding:10px 35px 10px 12px;color:#fff;font-size:12px;outline:none;transition:.25s}.filter-search-box .search-input:focus{border-color:#00b0ff;box-shadow:0 0 0 2px#00b0ff26}.filter-search-box .search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#fff6;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:#ffffffa6}.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:#fff6}.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:#ffffff14;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;box-shadow:0 0 6px#00b0ff80}.filter-group .slider-container input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.filter-group .custom-select{width:100%;background:#00000040;border:1px solid#ffffff0d;border-radius:6px;padding:10px 12px;color:#fff;font-size:12px;outline:none;cursor:pointer;transition:.2s}.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:#ffffffa6}.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:#ffffff14;border:1px solid#ffffff0d;border-radius:9px;transition:.3s}.switch-item .switch .slider:before{position:absolute;content:"";height:10px;width:10px;left:3px;bottom:3px;background-color:#fff6;border-radius:50%;transition:.3s}.switch-item .switch input:checked+.slider{background-color:#00b0ff33;border-color:#00b0ff}.switch-item .switch input:checked+.slider:before{transform:translate(14px);background-color:#00b0ff;box-shadow:0 0 6px#00b0ff80}.btn-primary-glow{width:100%;background:#0000;border:1px solid#ffffff14;border-radius:6px;color:#ffffffa6;font-size:11px;font-weight:700;padding:10px;cursor:pointer;transition:.25s}.btn-primary-glow:hover{background:#ffffff05;color:#fff;border-color:#ffffff26}.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:#ffffffa6}.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#2ecc7166}.status-legend-bar .legend-item .legend-dot.bg-ocupado{background:#e74c3c;box-shadow:0 0 6px#e74c3c66}.status-legend-bar .legend-item .legend-dot.bg-ausente{background:#f1c40f;box-shadow:0 0 6px#f1c40f66}.status-legend-bar .legend-item .legend-dot.bg-reserva{background:#00b0ff;box-shadow:0 0 6px#00b0ff66}.status-legend-bar .legend-item .legend-dot.bg-alerta{background:#9b59b6;box-shadow:0 0 6px#9b59b666}.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:#0d1626f2;border:1px solid#ffffff0d;border-radius:6px;color:#ffffffa6;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;outline:none}.map-controls-toolbar .control-btn svg{width:16px;height:16px}.map-controls-toolbar .control-btn:hover{color:#fff;background-color:#142036f2;border-color:#ffffff26}.marina-map-wrapper{flex-grow:1;background-color:#050a12;border:1px solid#ffffff14;border-radius:12px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 80px#000c,0 10px 30px#00000080}.marina-stage{position:relative;width:100%;height:100%;border-radius:12px;overflow:hidden;background:radial-gradient(130% 100% at 50% -10%,#005c8c38 0%,#050c1600 55%),radial-gradient(100% 80% at 50% 115%,#00467829 0%,#050c1600 60%),linear-gradient(#08131f 0%,#050b14)}.marina-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#78b4e60b 1px,#0000 1px),linear-gradient(90deg,#78b4e60b 1px,#0000 1px);background-size:30px 30px;pointer-events:none}.marina-stage:after{content:"";position:absolute;inset:0;background:radial-gradient(85% 65% at 50% 45%,#0000 58%,#0000008c);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%,#0000 72%),radial-gradient(5px 5px at 17px 9px,#333c4c 0%,#1d2532 70%,#0000 72%),radial-gradient(5px 5px at 27px 4px,#424c5e 0%,#262f3d 70%,#0000 72%),radial-gradient(5px 5px at 37px 9px,#313a49 0%,#1b232f 70%,#0000 72%),linear-gradient(#2b3445 0%,#161e29);background-size:44px 14px,44px 14px,44px 14px,44px 14px,auto;background-repeat:repeat-x;box-shadow:inset 0 1px#ffffff12,0 2px 7px#0000008c}.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#2ecc71e6;animation:navBlink 2.4s infinite}.marina-breakwater .nav-light--red{background:#e74c3c;box-shadow:0 0 10px 2px#e74c3ce6;animation:navBlink 2.4s infinite 1.2s}@keyframes navBlink{0%,45%{opacity:1}55%,to{opacity:.2}}.marina-layout{position:absolute;inset:38px 16px 58px;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}.marina-quay .quay-building{height:50px;background:#131d2beb;border:1px solid#ffffff17;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#ffffffa6;box-shadow:0 3px 10px#00000073,inset 0 1px#ffffff0a}.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:#ffffffa6;line-height:1}.marina-quay .quay-building--parking{height:38px;background:#0f1825eb}.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#ffffff17;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:800;color:#ffffffa6;box-shadow:0 2px 6px#0006}.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(#c9cdd4 0%,#969ca8 55%,#6f7682);box-shadow:inset 0 1px#ffffff80,0 2px 5px#00000080;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(#eef2f7 0%,#c4ccd6);clip-path:polygon(15% 0,85% 0,90% 55%,50% 100%,10% 55%);box-shadow:0 2px 4px#00000073;transition:opacity.3s}.pontoon-overlay{position:absolute;z-index:4;top:50%;transform:translate(-50%,-50%);font-size:7px;font-weight:800;letter-spacing:.4px;color:#ffffffeb;background:#0b111ed9;border:1px solid#ffffff1f;border-radius:4px;padding:2px 7px;white-space:nowrap;box-shadow:0 2px 8px#00000080;pointer-events:none}.pontoon-overlay--fuel{left:38%}.pontoon-overlay--maint{left:76%;background:#9b59b640;border-color:#9b59b68c}.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#ffffff0f;transition:background-color.55s,box-shadow.3s,transform.14s,border-color.3s,opacity.3s}.berth .berth-num{position:relative;z-index:2;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:800;color:#fffffff2;text-shadow:0 1px 2px#0000008c;opacity:0;transition:opacity.2s}.berth.status-libre{background:#2ecc7124;border-color:#2ecc7199}.berth.status-libre .berth-num{color:#2ecc71;text-shadow:none}.berth.status-ocupado{background:#e74c3c;border-color:#00000047}.berth.status-ausente{background:#f1c40f;border-color:#00000047}.berth.status-ausente .berth-num{color:#2c2406;text-shadow:none}.berth.status-reserva{background:#00b0ff;border-color:#00000047}.berth.status-alerta{background:#9b59b6;border-color:#00000047}.berth:hover{transform:translateY(-2px);box-shadow:0 6px 14px#00000080;filter:brightness(1.12);z-index:5}.berth.is-selected{border-color:#fff;box-shadow:0 0 0 2px#ffffffeb,0 0 16px#00b0ffbf;transform:translateY(-2px)scale(1.06);z-index:6}.berth.is-selected .berth-num{opacity:1}.berth.just-changed{animation:berthPulse.9s}.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#000000a6}@keyframes berthPulse{0%{box-shadow:0 0#fff9}to{box-shadow:0 0 0 11px#fff0}}.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#000000d9}@keyframes debtPulse{0%,to{box-shadow:0 0 0 2px#ff4d4de6,0 0 10px 2px#ff4d4d80}50%{box-shadow:0 0 0 2px#ff4d4d,0 0 22px 7px#ff4d4dd9}}.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:#fff6}.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);box-shadow:inset 0 1px#ffffff0a}.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-quay,.marina-stage.layer-hide-services .marina-services{opacity:.12;pointer-events:none}.berth.filter-faded,.berth.layer-faded{opacity:.12;pointer-events:none;filter:grayscale(.5)}.boat-slot.filter-faded,.boat-slot.layer-faded{opacity:.12;pointer-events:none}.marina-services{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:6px 8px;z-index:4;background:#0b111e;border:1px solid#ffffff12;border-radius:12px;box-shadow:0 8px 24px#00000073}.marina-services .service-chip{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:50px;padding:4px 6px;background:#0000;border:none;border-radius:8px;color:#fff6;cursor:pointer;transition:.2s;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:#ffffff0d}.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:#ffffffa6;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:#fff6;padding:0 3px}.marina-scale .scale-seg{width:20px;height:5px;border:1px solid#ffffff52}.marina-scale .scale-seg:first-of-type{background:#ffffff42}@keyframes pulse-bell{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.85;filter:drop-shadow(0 0 3px currentColor)}to{transform:scale(1);opacity:1}}