.start-selector{display:flex;flex-direction:column;min-height:0;flex:1}.start-selector-header{padding:16px 16px 12px;border-bottom:1px solid #f1f5f9}.start-selector-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#1e293b;letter-spacing:-.01em}.start-selector-title svg{color:#1e3a8a}.start-selector-search{position:relative;margin:12px 16px}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.search-input{width:100%;padding:10px 36px 10px 40px;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;color:#1e293b;background:#f8fafc;transition:all .15s ease}.search-input::placeholder{color:#94a3b8}.search-input:focus{outline:none;border-color:#1e3a8a;background:#fff;box-shadow:0 0 0 3px #1e3a8a14}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:4px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.search-clear:hover{background:#f1f5f9;color:#64748b}.start-selector-toggle{display:flex;align-items:center;gap:10px;margin:0 16px 12px;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .15s ease}.start-selector-toggle:hover{border-color:#cbd5e1}.start-selector-toggle input{display:none}.toggle-switch{position:relative;width:36px;height:20px;background:#cbd5e1;border-radius:10px;transition:all .2s ease;flex-shrink:0}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;transition:all .2s ease}.start-selector-toggle input:checked+.toggle-switch{background:#1e3a8a}.start-selector-toggle input:checked+.toggle-switch:after{transform:translate(16px)}.toggle-label{font-size:12px;color:#475569;font-weight:500}.start-selector-list{flex:1;min-height:0;overflow-y:auto;padding:0 12px 12px}.start-selector-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:8px 4px 6px}.start-selector-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px;margin-bottom:6px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;text-align:left;transition:all .15s ease}.start-selector-item:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000a}.start-selector-item:active{transform:scale(.99)}.start-selector-item.is-trailhead{background:linear-gradient(135deg,#fff,#f8fafc);border-color:#e2e8f0}.start-selector-item.is-trailhead:hover{border-color:#1e3a8a;box-shadow:0 2px 12px #1e3a8a14}.start-selector-item.is-hovered{border-color:#f59e0b;background:linear-gradient(135deg,#fffbeb,#fef3c7);box-shadow:0 2px 12px #f59e0b26}.start-selector-item.is-hovered .item-arrow{color:#f59e0b;transform:translate(2px)}.item-main{flex:1;min-width:0}.item-name{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#1e293b;margin-bottom:4px}.item-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flag-icon{flex-shrink:0;border-radius:2px}.item-transport{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b}.item-transport svg{flex-shrink:0;color:#1e3a8a}.item-transport-walk svg{color:#94a3b8}.transport-details{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-seasonal{padding:2px 6px;background:#fef3c7;color:#92400e;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-radius:4px;flex-shrink:0}.item-arrow{color:#cbd5e1;transition:all .15s ease;flex-shrink:0;margin-left:8px}.start-selector-item:hover .item-arrow{color:#1e3a8a;transform:translate(2px)}.start-selector-empty{text-align:center;padding:24px 16px}.start-selector-empty p{font-size:13px;color:#64748b;margin-bottom:12px}.start-selector-show-all{padding:8px 16px;background:#f1f5f9;border:none;border-radius:6px;font-size:12px;font-weight:500;color:#475569;cursor:pointer;transition:all .15s ease}.start-selector-show-all:hover{background:#e2e8f0;color:#1e293b}.start-selector-count{text-align:center;padding:8px;font-size:11px;color:#94a3b8}.start-selector-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 16px;gap:12px}.start-selector-spinner{width:24px;height:24px;border:2px solid #e2e8f0;border-top-color:#1e3a8a;border-radius:50%;animation:spin .8s linear infinite}.start-selector-loading span{font-size:12px;color:#64748b}.start-selector-list::-webkit-scrollbar{width:5px}.start-selector-list::-webkit-scrollbar-track{background:transparent}.start-selector-list::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.start-selector-list::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.reachable-huts{display:flex;flex-direction:column;gap:8px}.huts-sort-bar{display:flex;align-items:center;justify-content:space-between;padding:2px 0;margin-bottom:4px}.sort-label{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em}.sort-buttons{display:flex;gap:4px}.sort-btn{padding:3px 8px;border:1px solid #e2e8f0;background:#fff;border-radius:4px;font-size:10px;color:#64748b;cursor:pointer;transition:all .15s}.sort-btn:hover{border-color:#cbd5e1;background:#f8fafc}.sort-btn.active{border-color:#1e3a8a;background:#1e3a8a;color:#fff}.huts-list{display:flex;flex-direction:column;gap:6px}.hut-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:visible;transition:all .15s ease;position:relative;z-index:1;transform-origin:center center;min-height:auto}.hut-card.dealing{opacity:0;transform:translateY(-16px) rotate(-1deg);animation:dealCard .28s cubic-bezier(.22,1,.36,1) forwards}@keyframes dealCard{0%{opacity:0;transform:translateY(-16px) rotate(-1deg)}75%{opacity:1;transform:translateY(1px) rotate(.15deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.hut-card.flying-out{position:fixed!important;z-index:9999!important;pointer-events:none!important;box-shadow:0 8px 20px #0000001a;border-color:#0035ad}.hut-card.flying-card{background:#fff;border:1px solid #0035ad;border-radius:8px;overflow:hidden}.hut-card.exiting{opacity:0;transform:scale(.92);transition:all .15s ease;pointer-events:none}.hut-card:hover{border-color:#fbbf24;box-shadow:0 2px 8px #fbbf241f;z-index:10}.hut-card.hovered{border-color:#f59e0b;background:#fffbeb}.hut-card.previous{opacity:.7;border-color:#e2e8f0}.hut-card.previous:hover{opacity:1;border-color:#94a3b8;background:#f8fafc;box-shadow:none}.hut-card.previous .hut-name{color:#64748b}.hut-card.previous .path-km,.hut-card.previous .path-go{color:#94a3b8}.hut-card.previous:hover .path-go{opacity:1;color:#64748b;transform:translate(0)}.huts-section{display:flex;flex-direction:column;gap:6px}.huts-section-header{display:flex;align-items:center;gap:6px;padding:0 2px;margin-bottom:2px}.huts-section-icon{flex-shrink:0}.huts-section-icon-previous{color:#64748b}.huts-section-icon-continue{color:#0035ad}.huts-section-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.huts-section-previous .huts-section-label{color:#64748b}.huts-section-continue .huts-section-label{color:#0035ad}.huts-section-divider{height:1px;background:linear-gradient(90deg,transparent 0%,#e2e8f0 20%,#e2e8f0 80%,transparent 100%);margin:8px 0}.hut-card.single-path .path-row{cursor:inherit}.hut-card.single-path:hover{background:#fffbeb}.hut-header{display:flex;align-items:center;gap:.5rem;padding:8px 12px 2px}.hut-flag{flex-shrink:0;border-radius:2px;box-shadow:0 0 0 1px #00000014}.hut-name{font-weight:600;font-size:13px;color:#111827;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transport-icons{display:inline-flex;align-items:center;gap:3px}.transport-icon{color:#94a3b8}.transport-train{color:#1e3a8a}.transport-bus{color:#ca8a04}.transport-boat{color:#0284c7}.path-count{background:#e0e7ff;color:#4338ca;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;flex-shrink:0}.hut-via{padding:0 12px 2px;font-size:11px;color:#94a3b8;font-style:italic}.hut-paths{display:flex;flex-direction:column}.path-row{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:all .12s ease;position:relative;border-top:1px solid #f3f4f6}.path-row:first-child{border-top:none}.path-row:last-child{border-radius:0 0 7px 7px}.path-row:hover{background:#fff7ed}.path-seasons{display:flex;align-items:center;gap:2px;min-width:32px}.season-sun{color:#f59e0b}.season-snow{color:#3b82f6}.path-km{font-weight:600;font-size:12px;color:#334155;min-width:50px}.path-elev{font-size:11px;color:#94a3b8}.path-go{display:flex;align-items:center;justify-content:center;color:#d1d5db;transition:all .15s ease;opacity:0;margin-left:auto;transform:translate(-4px)}.path-row:hover .path-go,.hut-card.single-path:hover .path-go{opacity:1;color:#f59e0b;transform:translate(0)}.path-tooltip{background:#ffffffeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:12px;padding:12px 14px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f,inset 0 1px #fffc;pointer-events:none;animation:tooltipFadeIn .15s ease-out}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-50%) scale(.96)}to{opacity:1;transform:translateY(-50%) scale(1)}}.tooltip-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:6px}.tooltip-title{font-weight:600;font-size:13px;color:#1e293b;line-height:1.3}.tooltip-source{background:#3b82f61f;color:#1d4ed8;font-size:9px;font-weight:700;padding:3px 7px;border-radius:4px;flex-shrink:0}.tooltip-season{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.tooltip-season.no-border{padding-bottom:0;margin-bottom:0;border-bottom:none}.tooltip-season .path-seasons{min-width:auto}.tooltip-verification{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(0,0,0,.06)}.tooltip-verification .verification-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.tooltip-verification .verification-bar{width:3px;background:#e2e8f0;border-radius:1px;transition:background-color .2s ease}.tooltip-verification .verification-bar:nth-child(1){height:4px}.tooltip-verification .verification-bar:nth-child(2){height:8px}.tooltip-verification .verification-bar:nth-child(3){height:12px}.tooltip-verification .verification-bar.active{background:#22c55e}.path-tooltip.compact{padding:10px 12px}.path-tooltip.compact .tooltip-header{margin-bottom:4px}.path-tooltip.compact .tooltip-verification{padding-bottom:0;margin-bottom:0;border-bottom:none}.tooltip-topo{font-size:12px;line-height:1.55;color:#475569}.huts-list::-webkit-scrollbar{width:5px}.huts-list::-webkit-scrollbar-track{background:transparent}.huts-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.huts-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);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(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.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}}.circle-marker-candidate{background-color:transparent;border:3px solid #f59e0b;box-shadow:0 0 0 2px #ffffffe6}.circle-marker-both{background-color:#1e3a8a;border:3px solid #f59e0b;box-shadow:0 0 0 2px #ffffffe6}.leaflet-div-icon.hut-badge-wrapper{background:transparent!important;border:none!important;width:auto!important;height:auto!important;pointer-events:none}.hut-badge-pill{transform:translate(16px,-8px);display:inline-block;padding:2px 6px;border-radius:999px;font-size:11px;line-height:1.1;font-weight:500;background:#fff;border:1px solid #d1d5db;color:#111827;white-space:nowrap}.hut-badge-pill--start{border-color:#10b981;background-color:#10b981cc;color:#fff}.hut-badge-pill--end{border-color:#a855f7;background-color:#a855f7cc;color:#fff}.variant-popup-overlay{position:fixed;inset:0;z-index:999}.variant-popup{background:#fffffffa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.9);border-radius:12px;box-shadow:0 8px 32px #0000001f,0 4px 16px #00000014;width:440px;overflow:hidden;animation:popupSlideIn .2s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%,-100%) scale(.95)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.variant-popup-header{padding:12px 16px;border-bottom:1px solid #e2e8f0;display:flex;align-items:baseline;gap:8px}.variant-popup-title{font-size:14px;font-weight:600;color:#1e293b}.variant-popup-subtitle{font-size:12px;color:#94a3b8;font-style:italic}.variant-popup-step{border-bottom:1px solid #f1f5f9}.variant-popup-step:last-child{border-bottom:none}.variant-popup-step-header{padding:8px 16px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.variant-popup-variant{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:all .15s ease;border-left:4px solid transparent}.variant-popup-variant:hover{background:#eff6ff;border-left-color:#3b82f6}.variant-popup-variant.selected{border-left-color:#3b82f6}.variant-popup-season{display:flex;align-items:center;gap:2px;flex-shrink:0}.variant-popup-season .season-sun{color:#f59e0b}.variant-popup-season .season-snow{color:#3b82f6}.variant-popup-variant-title{flex:1;font-size:13px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.variant-popup-variant-stats{display:flex;align-items:center;gap:12px;font-size:12px;font-variant-numeric:tabular-nums}.variant-popup-variant-stats .stat-km{font-weight:700;color:#1e293b;min-width:55px;text-align:right}.variant-popup-variant-stats .stat-dplus{color:#10b981;min-width:45px;text-align:right}.variant-popup-variant-stats .stat-dminus{color:#f43f5e;min-width:45px;text-align:right}.variant-popup-footer{padding:12px 16px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.variant-popup-totals{display:flex;align-items:center;gap:12px;font-size:13px;font-variant-numeric:tabular-nums}.variant-popup-totals .total-km{font-weight:700;color:#1e293b}.variant-popup-totals .total-dplus{color:#10b981}.variant-popup-totals .total-dminus{color:#f43f5e}.variant-popup-confirm{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:none;background:#0035ad;color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .1s ease}.variant-popup-confirm:hover{background:#002a8a;transform:scale(1.02)}.leaflet-div-icon.cabin-marker{background:transparent!important;border:none!important}.cabin-icon-wrapper{display:flex;align-items:center;justify-content:center;transition:transform .12s ease}.cabin-marker:hover .cabin-icon-wrapper{transform:scale(1.08)}.zoom-controls{position:absolute;top:12px;left:10px;z-index:1000;display:flex;flex-direction:column;background:#fffffffa;border-radius:8px;box-shadow:0 2px 8px #00000026;overflow:hidden}.zoom-controls-btn{width:36px;height:36px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#475569;padding:0;transition:all .15s ease}.zoom-controls-btn:not(:last-child){border-bottom:1px solid #e2e8f0}.zoom-controls-btn:hover{background:#f1f5f9;color:#1e3a8a}.zoom-controls-btn:active{background:#e2e8f0}.zoom-controls-btn:focus{outline:none;background:#eff6ff;color:#1e3a8a}.elevation-profile{background:#fff;border-radius:10px;padding:14px 16px 10px;box-shadow:0 1px 3px #0000000f}.elevation-profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.elevation-profile-title{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.elevation-profile-content{display:flex;gap:8px}.elevation-axis-y{display:flex;flex-direction:column;justify-content:space-between;padding:2px 0;min-width:36px;text-align:right}.elevation-tick-y{font-size:9px;color:#94a3b8;line-height:1}.elevation-chart{flex:1;position:relative;height:90px;cursor:crosshair}.elevation-svg{width:100%;height:100%;overflow:visible}.elevation-grid{stroke:#f1f5f9;stroke-width:1;vector-effect:non-scaling-stroke}.elevation-line{fill:none;stroke:#1e3a8a;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.elevation-marker{position:absolute;transform:translate(-50%) translateY(16%);z-index:20;cursor:pointer}.elevation-marker-cabin{display:block;color:#64748b;transition:all .2s ease}.elevation-marker-hovered .elevation-marker-cabin{color:#1e3a8a;transform:scale(1.1);transform-origin:bottom center}.elevation-marker-line{position:absolute;top:100%;left:50%;width:1px;background:#3b82f680;transform:translate(-50%);pointer-events:none}.elevation-marker-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#ffffffbf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#1e293b;padding:8px 10px;border-radius:8px;white-space:nowrap;box-shadow:0 4px 16px #0000001a,0 0 0 1px #fff9 inset,0 1px #fffc inset;border:1px solid rgba(255,255,255,.4);z-index:100;pointer-events:none}.elevation-marker-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#ffffffbf}.elevation-tooltip-name{font-size:11px;font-weight:600;margin-bottom:3px;color:#1e293b}.elevation-tooltip-data{display:flex;gap:10px;font-size:10px}.elevation-tooltip-data .tooltip-altitude,.elevation-tooltip-data .tooltip-distance{display:flex;align-items:center;gap:4px;color:#64748b}.elevation-tooltip-data .tooltip-altitude:before{content:"";width:5px;height:5px;border-radius:50%;background:#3b82f6}.elevation-tooltip-data .tooltip-distance:before{content:"";width:5px;height:5px;border-radius:50%;background:#10b981}.elevation-marker-tooltip.tooltip-left{left:0;transform:translate(0)}.elevation-marker-tooltip.tooltip-left:after{left:12px;transform:translate(0)}.elevation-marker-tooltip.tooltip-right{left:auto;right:0;transform:translate(0)}.elevation-marker-tooltip.tooltip-right:after{left:auto;right:12px;transform:translate(0)}.elevation-marker-tooltip.tooltip-below{bottom:auto;top:calc(100% + 8px)}.elevation-marker-tooltip.tooltip-below:after{top:auto;bottom:100%;border:5px solid transparent;border-top-color:transparent;border-bottom-color:#ffffffbf}.elevation-axis-x{display:flex;justify-content:space-between;margin-top:6px;margin-left:44px;font-size:9px;color:#94a3b8}.elevation-cursor{position:absolute;transform:translate(-50%,50%);pointer-events:none;z-index:5}.elevation-cursor-dot{width:6px;height:6px;background:#3b82f6;border:1.5px solid #ffffff;border-radius:50%;box-shadow:0 1px 4px #3b82f666}.elevation-cursor-line{position:absolute;top:100%;left:50%;width:1px;background:#3b82f680;transform:translate(-50%)}.elevation-cursor-tooltip{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#3b82f6e6;color:#fff;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:500;white-space:nowrap}@media(max-width:900px){.elevation-profile{padding:10px 12px 8px}.elevation-chart{height:70px}.elevation-axis-y{min-width:30px}}.elevation-via-marker{position:absolute;transform:translate(-50%) translateY(50%);z-index:15;cursor:pointer}.elevation-via-dot{width:8px;height:8px;background:#64748b;border:2px solid #ffffff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:all .2s ease}.elevation-via-marker:hover .elevation-via-dot,.elevation-via-marker-hovered .elevation-via-dot{background:#f59e0b;transform:scale(1.4);box-shadow:0 2px 6px #f59e0b66}.elevation-tooltip-via{display:flex;align-items:center;gap:4px}.elevation-tooltip-via .via-label{font-size:9px;font-weight:400;color:#94a3b8;text-transform:lowercase}.elevation-profile-flight-indicator{font-size:11px;color:#ff6b00;background:#ff6b001a;padding:2px 8px;border-radius:4px;animation:flightPulse 1.5s ease-in-out infinite}@keyframes flightPulse{0%,to{opacity:1}50%{opacity:.6}}.elevation-chart-clickable{cursor:pointer}.elevation-chart-clickable:hover{background:#ff6b0008}.elevation-flight-cursor{position:absolute;transform:translate(-50%,50%);pointer-events:none;z-index:20}.elevation-flight-cursor-dot{width:14px;height:14px;background:#ff6b00;border:3px solid white;border-radius:50%;box-shadow:0 0 12px #ff6b0099,0 2px 4px #0000004d;animation:flightDotPulse 1s ease-in-out infinite}@keyframes flightDotPulse{0%,to{transform:scale(1);box-shadow:0 0 12px #ff6b0099,0 2px 4px #0000004d}50%{transform:scale(1.15);box-shadow:0 0 20px #ff6b00cc,0 2px 4px #0000004d}}.elevation-flight-cursor-line{position:absolute;top:100%;left:50%;transform:translate(-50%);width:2px;background:linear-gradient(to bottom,#ff6b00,transparent);pointer-events:none}.elevation-flight-cursor-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#ff6b00f2;color:#fff;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #0003;display:flex;flex-direction:column;align-items:center;gap:1px}.elevation-flight-cursor-tooltip .flight-cursor-distance{font-size:9px;font-weight:400;opacity:.85}.elevation-profile-header{display:flex;justify-content:space-between;align-items:center}.route-builder-3col{display:flex;width:100%;flex:1;gap:12px;padding:12px;background:#f1f5f9;box-sizing:border-box;overflow:hidden}.route-builder-left{width:320px;min-width:320px;flex-shrink:0;display:flex;flex-direction:column}.route-builder-center{width:320px;min-width:320px;flex-shrink:0}.route-builder-right{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:12px}.map-container{flex:1;min-height:0;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000f}.map-container .leaflet-container{height:100%;width:100%}.route-builder-left,.route-builder-center{display:flex;flex-direction:column;background:#fff;overflow:hidden;border-radius:10px;box-shadow:0 1px 3px #0000000f;border:1px solid #e2e8f0}.route-builder-right{display:flex;flex-direction:column;overflow:hidden;background:transparent;box-shadow:none;border:none}.column-header{padding:14px 16px;border-bottom:1px solid #f1f5f9;background:#fff;flex-shrink:0}.column-header-compact{padding:10px 16px;border-bottom:none;background:#fff}.column-header h2{font-size:14px;font-weight:600;color:#1e293b;margin:0;letter-spacing:-.01em}.column-header-compact h2{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#64748b}.column-header p{color:#64748b;font-size:12px;line-height:1.4;margin:4px 0 0}.column-content{flex:1;overflow-y:auto;padding:12px}.section-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:10px}.section-card:last-child{margin-bottom:0}.section-title{font-size:10px;font-weight:600;color:#94a3b8;margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}.parameters-card{background:#f8fafc;border-color:#e2e8f0;padding:10px!important}.parameters-card .section-title{margin-bottom:6px}.selected-start-hut{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.selected-hut-info{flex:1}.selected-hut-name{font-weight:600;font-size:13px;color:#1e293b;margin-bottom:2px}.selected-hut-country{font-size:11px;color:#64748b}.param-group{margin-bottom:8px}.param-group:last-child{margin-bottom:0}.param-group-inline{margin-bottom:4px}.param-group-inline .param-label{margin-bottom:0}.param-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;color:#64748b}.param-value{font-weight:600;color:#1e3a8a}.slider-container{position:relative;padding-bottom:8px}.slider{width:100%;height:4px;border-radius:2px;background:#e2e8f0;outline:none;-webkit-appearance:none;cursor:pointer;position:relative;z-index:2}.slider-warning{background:linear-gradient(to right,#e2e8f0 0% 50%,#fecaca 50% 100%)}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#1e3a8a;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0003}.slider-warning::-webkit-slider-thumb{background:#dc2626}.slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#1e3a8a;cursor:pointer;border:none}.slider-warning::-moz-range-thumb{background:#dc2626}.slider-ticks{position:absolute;top:0;left:0;right:0;height:4px;display:flex;justify-content:space-between;padding:0 6px;pointer-events:none;z-index:1}.slider-tick{width:1px;height:6px;background:#d1d5db;margin-top:-1px;opacity:.5}.slider-tick-warning{background:#fca5a5;opacity:.6}.slider-labels{display:flex;justify-content:space-between;font-size:10px;color:#94a3b8;margin-top:4px}.param-value-warning{color:#dc2626!important;font-weight:600}.segments-selector{display:flex;gap:4px}.segment-btn{width:24px;height:24px;padding:0;border:1px solid #e2e8f0;background:#fff;border-radius:4px;font-size:11px;font-weight:500;color:#64748b;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.segment-btn:hover{border-color:#cbd5e1;background:#f8fafc}.segment-btn-active{border-color:#1e3a8a;background:#1e3a8a;color:#fff}.param-hint{font-size:10px;color:#94a3b8;margin-top:6px;margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:#475569}.checkbox-label input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#1e3a8a}.itinerary-summary{display:flex;gap:12px;padding:8px 10px;background:#f8fafc;border-radius:6px;margin-bottom:12px;border:1px solid #e2e8f0}.summary-item{display:flex;align-items:baseline;gap:4px}.summary-label{font-size:10px;color:#94a3b8;text-transform:uppercase}.summary-value{font-size:12px;font-weight:600;color:#1e293b}.itinerary-timeline{position:relative;padding-left:0}.timeline-stop{display:flex;align-items:flex-start;gap:8px;position:relative}.timeline-marker{width:22px;height:22px;border-radius:50%;background:#1e3a8a;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:10px;flex-shrink:0;position:relative;z-index:2}.timeline-stop:first-child .timeline-marker{background:#10b981}.timeline-stop-active .timeline-marker{box-shadow:0 0 0 3px #1e3a8a26}.timeline-stop-content{flex:1;min-width:0;padding-top:1px}.timeline-stop-name{font-weight:600;font-size:12px;color:#1e293b;line-height:1.3;display:flex;align-items:center;gap:5px}.timeline-flag{flex-shrink:0;border-radius:1px;opacity:.85}.timeline-stop-via{font-size:10px;color:#f59e0b;margin-top:1px}.timeline-stop-label{font-size:10px;color:#94a3b8;margin-top:1px}.timeline-stop-rest-label{color:#8b5cf6;font-weight:500}.timeline-stop-rest{opacity:.85}.timeline-marker-rest{background:#8b5cf6!important;font-size:10px}.timeline-stop-actions{flex-shrink:0}.itinerary-actions{display:flex;gap:8px;margin-top:14px}.itinerary-actions .btn{flex:1}.btn-rest-day{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;margin-bottom:8px;background:#f5f3ff;border:1px dashed #a78bfa;border-radius:8px;cursor:pointer;transition:all .15s ease}.btn-rest-day:hover{background:#ede9fe;border-color:#8b5cf6}.btn-rest-day-icon{display:flex;align-items:center;justify-content:center;color:#8b5cf6}.btn-rest-day-text{font-size:13px;color:#6d28d9;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-segment{display:flex;align-items:center;margin-left:11px;padding:6px 0;position:relative}.timeline-segment:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#e2e8f0}.segment-stats{display:flex;gap:8px;font-size:10px;color:#64748b;padding-left:12px;align-items:center}.segment-stats span{white-space:nowrap}.segment-stats .segment-distance{font-weight:500;color:#475569}.segment-stats .segment-elevation{color:#94a3b8}.segment-stats .segment-warning{color:#f59e0b;font-weight:500}.btn-icon{padding:3px;border:none;background:transparent;cursor:pointer;border-radius:4px;transition:all .15s;display:flex;align-items:center;justify-content:center;color:#cbd5e1}.btn-icon:hover{background:#f1f5f9;color:#64748b}.btn-icon.btn-danger:hover{background:#fef2f2;color:#ef4444}.empty-state{text-align:center;padding:24px 12px}.empty-state-icon{font-size:32px;margin-bottom:10px;opacity:.7}.empty-state-title{font-size:13px;font-weight:600;color:#475569;margin-bottom:4px}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px;gap:10px}.spinner{width:28px;height:28px;border:2px solid #e2e8f0;border-top-color:#1e3a8a;border-radius:50%;animation:spin .8s linear infinite}.alert{padding:8px 10px;border-radius:6px;font-size:12px;line-height:1.4}.alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.btn{padding:7px 12px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary{background:#1e3a8a;color:#fff}.btn-primary:hover{background:#1e40af}.btn-outline{background:#fff;border:1px solid #e2e8f0;color:#475569}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.btn-outline.btn-danger{border-color:#fecaca;color:#dc2626}.btn-outline.btn-danger:hover{background:#fef2f2}.btn-sm{padding:5px 10px;font-size:11px}.w-full{width:100%}.text-muted{color:#64748b}.text-sm{font-size:12px}.text-xs{font-size:11px}.text-warning{color:#f59e0b}.mb-3{margin-bottom:10px}.mt-4{margin-top:14px}.route-builder-right{position:relative;padding:0;overflow:hidden}.route-builder-right .leaflet-container{width:100%;height:100%;border-radius:10px}@media(max-width:1100px){.route-builder-left{width:280px}.route-builder-center{width:250px}}@media(max-width:900px){.route-builder-3col:not(:has(.mobile-active)){flex-direction:column;overflow-y:auto}.route-builder-3col:not(:has(.mobile-active)) .route-builder-left,.route-builder-3col:not(:has(.mobile-active)) .route-builder-center{width:100%;max-height:280px}.route-builder-3col:not(:has(.mobile-active)) .route-builder-right{min-height:400px;flex:none;height:50vh}}.column-content::-webkit-scrollbar{width:5px}.column-content::-webkit-scrollbar-track{background:transparent}.column-content::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.column-content::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.expedition-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.expedition-title{display:flex;align-items:center;gap:6px;font-weight:700;font-size:15px;color:#1e293b}.expedition-icon{color:#1e3a8a}.expedition-date-picker{display:flex;align-items:center;gap:6px}.expedition-date-picker label{font-size:11px;color:#64748b;text-transform:uppercase}.date-input{padding:4px 8px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#1e293b;background:#f8fafc;cursor:pointer}.date-input:focus{outline:none;border-color:#1e3a8a}.expedition-summary{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:12px;padding:8px 6px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.expedition-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:2px 6px}.expedition-stat-divider{width:1px;height:24px;background:#e2e8f0}.expedition-stat-value{display:flex;align-items:center;gap:4px;font-size:15px;font-weight:700;color:#1e293b;line-height:1.2;font-variant-numeric:tabular-nums}.expedition-stat-up{color:#059669}.expedition-stat-down{color:#dc2626}.expedition-stat-label{font-size:11px;color:#94a3b8;text-transform:lowercase;letter-spacing:.3px;margin-top:2px}.calendar-day{display:flex;align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden;position:relative;transition:all .15s ease;flex-shrink:0;min-height:60px}.calendar-day:hover{border-color:#cbd5e1;box-shadow:0 2px 4px #0000000a}.calendar-day-current{border-color:#1e3a8a;box-shadow:0 0 0 2px #1e3a8a1a}.calendar-day-rest{background:#faf5ff;border-color:#e9d5ff;margin:6px 0}.calendar-day-date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 10px;background:#f8fafc;border-right:1px solid #e2e8f0;min-width:52px}.calendar-day-rest .calendar-day-date{background:#f3e8ff;border-color:#e9d5ff}.calendar-day-weekday{font-size:9px;text-transform:uppercase;color:#64748b;font-weight:600;letter-spacing:.5px}.calendar-day-number{font-size:20px;font-weight:700;color:#1e293b;line-height:1.1}.calendar-day-rest .calendar-day-number{color:#7c3aed}.calendar-day-month{font-size:9px;text-transform:uppercase;color:#94a3b8}.calendar-day-content{flex:1;padding:8px 12px;min-width:0}.calendar-day-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.calendar-day-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 6px;background:#1e3a8a;color:#fff;font-size:10px;font-weight:600;border-radius:9px}.calendar-day-badge-rest{background:#8b5cf6}.zzz-icon{font-size:9px;font-weight:700;font-style:italic;letter-spacing:-.5px}.calendar-day-tag{font-size:9px;text-transform:uppercase;color:#10b981;font-weight:600;letter-spacing:.3px}.calendar-day-tag-rest{color:#8b5cf6}.calendar-day-hut{display:flex;align-items:center;gap:6px}.calendar-day-hut-name{font-size:13px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day-via{font-size:10px;color:#f59e0b;margin-top:2px}.calendar-segment{display:flex;flex-direction:column;padding:4px 0 4px 26px;flex-shrink:0}.calendar-segment-main{display:flex;align-items:center}.calendar-segment-line{width:2px;height:16px;background:#e2e8f0;border-radius:1px;margin-right:10px}.calendar-segment-stats{display:flex;gap:10px;font-size:12px;cursor:default;flex:1}.calendar-segment-distance{font-weight:700;color:#1e293b}.calendar-segment-elevation{color:#64748b;font-weight:500}.calendar-segment-steps{color:#64748b;font-weight:500;font-style:italic}.calendar-segment-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:transparent;color:#94a3b8;cursor:pointer;border-radius:4px;transition:all .15s ease;margin-left:8px}.calendar-segment-toggle:hover{background:#f1f5f9;color:#64748b}.calendar-segment-toggle.expanded{color:#0035ad;transform:rotate(180deg)}.calendar-segment-warning{color:#f59e0b;font-weight:500}.segment-accordion{margin:6px 0 4px;padding-left:10px;border-left:2px solid #e2e8f0;animation:accordionSlideDown .2s ease-out}@keyframes accordionSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.segment-accordion-item{padding:4px 0}.segment-accordion-item:not(:last-child){border-bottom:1px solid #f1f5f9;padding-bottom:8px;margin-bottom:8px}.segment-accordion-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.segment-accordion-season-icons{display:flex;align-items:center;gap:3px}.segment-accordion-season-icons .season-icon-sun{color:#f59e0b}.segment-accordion-season-icons .season-icon-snow{color:#3b82f6}.segment-accordion-season-label{font-size:11px;color:#64748b}.segment-accordion-route{font-size:12px;font-weight:500;color:#334155;margin-bottom:2px}.segment-accordion-title{font-size:11px;color:#64748b;margin-bottom:2px}.segment-accordion-topo{font-size:11px;color:#94a3b8;line-height:1.4;margin-bottom:2px}.segment-accordion-source{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.02em}.expedition-footer{margin-top:12px;padding:10px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:12px;color:#166534;text-align:center;font-weight:500}.transport-block{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;margin-bottom:8px;overflow:hidden;flex-shrink:0}.transport-block-departure{background:linear-gradient(135deg,#fefce8,#fef9c3);border-color:#fde047;margin-top:8px;margin-bottom:0}.transport-block-header{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .15s ease}.transport-block-header:hover{background:#fff6}.transport-block-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:50%;color:#0284c7}.transport-block-departure .transport-block-icon{color:#ca8a04}.transport-block-title{flex:1;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#0369a1}.transport-block-departure .transport-block-title{color:#a16207}.transport-block-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:#0369a1;cursor:pointer;border-radius:4px;transition:transform .2s ease}.transport-block-departure .transport-block-toggle{color:#a16207}.transport-block-toggle.expanded{transform:rotate(180deg)}.transport-block-content{padding:0 12px 10px;animation:transportSlideDown .2s ease-out}@keyframes transportSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.transport-block-option{display:flex;align-items:center;gap:6px;font-size:11px;color:#334155;margin-top:3px}.transport-block-option .transport-icon{flex-shrink:0}.transport-seasonal{font-size:9px;padding:1px 5px;background:#fef3c7;color:#92400e;border-radius:4px;font-weight:500;margin-left:auto}.transport-icons{display:inline-flex;align-items:center;gap:3px;margin-left:auto;flex-shrink:0}.transport-icon{color:#64748b}.transport-icon-train{color:#1e3a8a}.transport-icon-bus{color:#ca8a04}.transport-icon-boat{color:#0284c7}.btn-secondary{background:#f1f5f9;color:#475569}.btn-secondary:hover{background:#e2e8f0}.btn-outline.btn-secondary{border-color:#cbd5e1;color:#475569}.btn-outline.btn-secondary:hover{background:#f8fafc}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.closed-route-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1}.closed-route-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px}.closed-route-icon{color:#94a3b8;margin-bottom:12px}.closed-route-text{font-size:14px;font-weight:600;color:#64748b;margin:0 0 4px}.closed-route-hint{font-size:11px;color:#94a3b8;margin:0}.route-builder-center .empty-state{display:block;text-align:center;padding:24px 12px}.route-builder-center .empty-state-icon{display:block;font-size:32px;margin-bottom:10px;opacity:.7}.route-builder-center .empty-state-title{display:block;font-size:13px;font-weight:600;color:#475569;margin-bottom:4px}.route-builder-left .loading-state,.route-builder-center .loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px;gap:10px}.distance-warning-overlay{position:fixed;inset:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.distance-warning-modal{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 20px 40px #0003;animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.distance-warning-title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 12px;display:flex;align-items:center;gap:8px}.distance-warning-title:before{content:"⚠️";font-size:18px}.distance-warning-text{font-size:13px;line-height:1.6;color:#475569;margin:0 0 20px}.distance-warning-actions{display:flex;justify-content:flex-end;gap:10px}.distance-warning-actions .btn{min-width:100px}.planning-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0}.planning-actions .btn{display:flex;align-items:center;justify-content:center;gap:6px}.column-content-itinerary{display:flex;flex-direction:column;overflow:hidden}.expedition-calendar-wrapper{position:relative;flex:1;min-height:0;overflow:hidden}.expedition-calendar{display:block;height:100%;overflow-y:auto;padding-right:4px}.overflow-indicator{position:absolute;left:0;right:8px;height:24px;pointer-events:none;z-index:10;transition:opacity .2s ease}.overflow-indicator-top{top:0;background:linear-gradient(to bottom,rgba(255,255,255,.95) 0%,rgba(255,255,255,.7) 40%,transparent 100%)}.overflow-indicator-bottom{bottom:0;background:linear-gradient(to top,rgba(255,255,255,.95) 0%,rgba(255,255,255,.7) 40%,transparent 100%)}.expedition-calendar::-webkit-scrollbar{width:4px}.expedition-calendar::-webkit-scrollbar-track{background:transparent}.expedition-calendar::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:2px}.expedition-calendar::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.verification-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px}.verification-bar{width:3px;background:#e2e8f0;border-radius:1px}.verification-bar:nth-child(1){height:4px}.verification-bar:nth-child(2){height:8px}.verification-bar:nth-child(3){height:12px}.verification-bar.active{background:#64748b}.segment-accordion-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:.6875rem;color:#94a3b8}.segment-accordion-source{flex-shrink:0}.segment-accordion-verification{display:flex;align-items:center;gap:6px}.calendar-day-hut-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-actions{position:absolute;top:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:6px 8px;background:linear-gradient(90deg,#fff0,#fffffff2 20%,#fffffffa);border-radius:0 10px 10px 0;transform:translate(100%);opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:10}.calendar-day:hover .calendar-day-actions{transform:translate(0);opacity:1;pointer-events:auto}.calendar-day-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:6px;border:1px solid #e2e8f0;background:#fff;color:#64748b;cursor:pointer;transition:all .15s ease;box-shadow:0 1px 3px #0000000d}.calendar-day-action-btn:hover{transform:scale(1.08)}.calendar-day-action-btn.info:hover{background:#0035ad;border-color:#0035ad;color:#fff}.calendar-day-action-btn.delete:hover{background:#fef2f2;border-color:#fecaca;color:#dc2626}.calendar-day-action-btn span{display:none}.closed-route-actions{margin-top:1rem;padding:.75rem;background:#fff9;border-radius:10px;border:1px solid rgba(0,0,0,.06)}.action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,box-shadow .15s ease;border:1px solid transparent;background:#fff;color:var(--text-secondary, #4b5563);box-shadow:0 1px 3px #00000014}.action-btn-full{width:100%}.action-btn+.action-btn{margin-top:.5rem}.action-btn-primary{background:linear-gradient(135deg,#1e3a8a,#1e40af);color:#fff;border-color:#1e3a8a}.action-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#1e40af,#2563eb);border-color:#1e40af}.action-btn-primary .action-btn-icon{opacity:.9}.action-btn-secondary{background:#fff;color:var(--text-secondary, #4b5563)}.action-btn-loading{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0369a1;border-color:#bae6fd}.action-btn-success{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#16a34a;border-color:#bbf7d0}.action-btn-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border-color:#fecaca}.action-btn-progress{margin-left:auto;font-size:.65rem;font-weight:700;opacity:.8;font-family:ui-monospace,monospace}.action-btn:hover:not(:disabled){background:var(--bg-hover, #f9fafb);border-color:#00000014;box-shadow:0 2px 6px #0000001a}.action-btn:active:not(:disabled){box-shadow:0 1px 2px #0000000f}.action-btn-icon{flex-shrink:0;opacity:.7}.action-btn:hover .action-btn-icon{opacity:1}.action-btn-text{text-transform:uppercase;letter-spacing:.03em}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.action-message{margin-top:.5rem;padding:.5rem .625rem;border-radius:6px;font-size:.75rem;line-height:1.4;display:flex;flex-direction:column;gap:.375rem;grid-column:1 / -1}.action-message-info{background:#3b82f614;color:#1d4ed8;border:1px solid rgba(59,130,246,.15)}.action-message-error{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.15)}.action-message-success{background:#22c55e14;color:#16a34a;border:1px solid rgba(34,197,94,.15)}.action-message-warning{background:#f59e0b14;color:#b45309;border:1px solid rgba(245,158,11,.15)}.action-message-link{display:inline-flex;align-items:center;gap:.25rem;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px}.action-message-link:hover{opacity:.8}@media(max-width:320px){.closed-route-actions-grid{grid-template-columns:repeat(2,1fr);gap:.375rem}.action-btn{padding:.5rem .25rem}.action-btn-text{font-size:.6rem}}.itinerary-code{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;padding:.625rem .75rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px}.itinerary-code-label{font-size:.7rem;color:#0369a1;font-weight:500}.itinerary-code-value{font-family:ui-monospace,SF Mono,Cascadia Code,Source Code Pro,monospace;font-size:1rem;font-weight:700;color:#0c4a6e;letter-spacing:.1em}.itinerary-code-copy{display:flex;align-items:center;justify-content:center;padding:.25rem;border:none;background:transparent;color:#0284c7;cursor:pointer;border-radius:4px;transition:all .15s ease}.itinerary-code-copy:hover{background:#0284c71a;color:#0369a1}.itinerary-code-copy:active{transform:scale(.95)}.load-itinerary{margin-bottom:12px}.load-itinerary-input-group{display:flex;gap:6px}.load-itinerary-input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;letter-spacing:.1em;text-transform:uppercase;background:#f8fafc;color:#1e293b;transition:all .15s ease}.load-itinerary-input:focus{outline:none;border-color:#0035ad;background:#fff;box-shadow:0 0 0 3px #0035ad1a}.load-itinerary-input::placeholder{color:#94a3b8;letter-spacing:normal;text-transform:none;font-family:inherit}.load-itinerary-input:disabled{opacity:.6;cursor:not-allowed}.load-itinerary-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #0035ad;border-radius:6px;background:#0035ad;color:#fff;cursor:pointer;transition:all .15s ease}.load-itinerary-btn:hover:not(:disabled){background:#002d8a}.load-itinerary-btn:disabled{opacity:.5;cursor:not-allowed}.load-itinerary-error{display:flex;align-items:center;gap:6px;margin-top:6px;padding:6px 10px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;font-size:11px;color:#dc2626}.spinning{animation:spin 1s linear infinite}.hut-info-content{display:flex;flex-direction:column;gap:0}.hut-info-photo-section{margin:-.5rem -.75rem 0}.hut-info-photo-container{position:relative;width:100%;height:160px;overflow:hidden;background:#f1f5f9}.hut-info-photo-main{width:100%;height:100%;object-fit:cover;display:block}.hut-info-photo-nav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#334155;box-shadow:0 2px 6px #00000026;transition:all .15s ease}.hut-info-photo-nav:hover{background:#fff;transform:translateY(-50%) scale(1.05)}.hut-info-photo-nav.prev{left:8px}.hut-info-photo-nav.next{right:8px}.hut-info-photo-counter{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px;padding:3px 8px;background:#0009;border-radius:12px;color:#fff;font-size:.6875rem;font-weight:500}.hut-info-photo-counter svg{opacity:.8}.hut-info-description{padding-top:.75rem!important}.hut-info-description p{margin:0;font-size:.8125rem;line-height:1.5;color:#475569}.hut-info-access{gap:.625rem!important}.hut-info-access-item{display:flex;flex-direction:column;gap:.25rem}.hut-info-access-header{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.hut-info-access-item:first-child .hut-info-access-header{color:#b45309}.hut-info-access-item:first-child .hut-info-access-header svg{color:#f59e0b}.hut-info-access-item:last-child .hut-info-access-header{color:#0369a1}.hut-info-access-item:last-child .hut-info-access-header svg{color:#38bdf8}.hut-info-access-item p{margin:0;font-size:.75rem;line-height:1.45;color:#64748b;padding-left:1.25rem}.hut-info-section{display:flex;flex-direction:column;gap:.375rem;padding:.75rem 0;border-bottom:1px solid rgba(148,163,184,.15)}.hut-info-section:first-child{padding-top:0}.hut-info-section:last-child{border-bottom:none;padding-bottom:0}.hut-info-section-header{font-size:.625rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.25rem}.hut-info-row{display:flex;align-items:center;gap:.75rem}.hut-info-label{display:flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;min-width:5.5rem;flex-shrink:0}.hut-info-label svg{color:#64748b;opacity:.7}.hut-info-value{font-size:.8125rem;color:#1e293b;font-weight:500}.hut-info-service-betjent{color:#059669}.hut-info-service-selvbetjent{color:#0369a1}.hut-info-service-ubetjent{color:#9333ea}.hut-info-seasons{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.25rem}.hut-info-season{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .625rem;border-radius:6px;font-size:.8125rem;font-weight:500}.hut-info-season svg{flex-shrink:0}.hut-info-season-summer{background:#fbbf241f;color:#b45309}.hut-info-season-summer svg{color:#f59e0b}.hut-info-season-winter{background:#38bdf81f;color:#0369a1}.hut-info-season-winter svg{color:#38bdf8}.hut-info-link{font-size:.8125rem;color:#0035ad;text-decoration:none;font-weight:500;transition:color .15s ease;display:inline-flex;align-items:center;gap:.25rem}.hut-info-link:hover{color:#002d8f}.hut-info-link svg{flex-shrink:0;opacity:.5}.hut-info-link-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.hut-info-equipment{display:flex;flex-wrap:wrap;gap:.375rem}.hut-info-equipment-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;background:#0035ad0f;border-radius:4px;font-size:.6875rem;color:#475569;font-weight:500}.hut-info-equipment-tag svg{color:#0035ad;opacity:.7;flex-shrink:0}.hut-info-location{display:flex;align-items:center;justify-content:center;gap:.5rem}.hut-info-location-icon{color:#0035ad;opacity:.6;flex-shrink:0}.hut-info-coords{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:#64748b;font-family:SF Mono,Monaco,Consolas,monospace}.hut-info-coords span:not(:last-child):after{content:"·";margin-left:.375rem;color:#cbd5e1}.hut-info-photo{margin-top:.75rem;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000014}.hut-info-photo img{width:100%;height:auto;display:block;object-fit:cover;max-height:140px}.hut-info-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:.75rem}.hut-info-loading p{color:#94a3b8;font-size:.8125rem;margin:0}.spinner{width:20px;height:20px;border:2px solid rgba(0,53,173,.12);border-top-color:#0035ad;border-radius:50%;animation:spin .7s linear infinite}.hut-info-error{display:flex;align-items:center;justify-content:center;padding:1.5rem;text-align:center}.hut-info-error p{color:#94a3b8;font-size:.8125rem;margin:0}.hut-info-photo-credit{position:absolute;bottom:8px;left:8px;background:#00000073;color:#ffffffe6;font-size:9px;font-weight:400;letter-spacing:.02em;padding:4px 10px;border-radius:12px;text-decoration:none;transition:background .2s;display:flex;align-items:center;height:auto;min-height:20px;max-width:calc(100% - 80px);box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hut-info-photo-credit:hover{background:#000000a6;color:#fff}.hut-info-lightbox{position:fixed;inset:0;z-index:10000;background:#000000eb;display:flex;align-items:center;justify-content:center;animation:lightbox-fade-in .2s ease-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.hut-info-lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;z-index:10001}.hut-info-lightbox-close:hover{background:#fff3;transform:scale(1.05)}.hut-info-lightbox-content{position:relative;display:flex;align-items:center;justify-content:center;padding:60px 80px}.hut-info-lightbox-image{max-width:calc(100vw - 160px);max-height:calc(100vh - 140px);width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 8px 32px #0006;animation:lightbox-image-in .25s ease-out}@keyframes lightbox-image-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hut-info-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border:none;border-radius:50%;background:#ffffff1a;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.hut-info-lightbox-nav:hover{background:#fff3;transform:translateY(-50%) scale(1.05)}.hut-info-lightbox-nav.prev{left:-56px}.hut-info-lightbox-nav.next{right:-56px}@media(max-width:768px){.hut-info-lightbox-content{padding:50px 16px}.hut-info-lightbox-image{max-width:calc(100vw - 32px);max-height:calc(100vh - 120px)}.hut-info-lightbox-nav.prev{left:8px}.hut-info-lightbox-nav.next{right:8px}.hut-info-lightbox-close{top:8px;right:8px;width:40px;height:40px}}.hut-info-lightbox-footer{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:16px;white-space:nowrap}.hut-info-lightbox-counter{color:#ffffffb3;font-size:.875rem;font-weight:500}.hut-info-lightbox-footer .hut-info-photo-credit{position:static;background:#ffffff1a;max-width:none}.hut-info-lightbox-footer .hut-info-photo-credit:hover{background:#fff3}.hut-info-photo-clickable{cursor:pointer;transition:opacity .15s ease}.hut-info-photo-clickable:hover{opacity:.92}.hut-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .25s ease}.hut-modal-overlay.visible{opacity:1}.hut-modal{width:100%;max-width:400px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.8);border-radius:20px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #0000000d,inset 0 1px #fff9;opacity:0;transform:scale(.95) translateY(10px);transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.56,.64,1)}.hut-modal-overlay.visible .hut-modal{opacity:1;transform:scale(1) translateY(0)}.hut-modal-overlay:not(.visible) .hut-modal{transform:scale(.98) translateY(5px);transition:opacity .2s ease,transform .2s ease}.hut-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 20px 16px;border-bottom:1px solid rgba(226,232,240,.8)}.hut-modal-header-content{flex:1;min-width:0}.hut-modal-title{font-size:1.25rem;font-weight:600;color:#0f172a;margin:0;line-height:1.3;letter-spacing:-.01em}.hut-modal-operator{display:block;margin-top:4px;font-size:.8125rem;color:#64748b;font-style:italic}.hut-modal-close{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#f1f5f9cc;border:none;border-radius:10px;color:#64748b;cursor:pointer;transition:all .15s ease}.hut-modal-close:hover{background:#e2e8f0e6;color:#334155;transform:scale(1.05)}.hut-modal-close:active{transform:scale(.98)}.hut-modal-body{flex:1;overflow-y:auto;padding:20px;min-height:0}.hut-modal-body::-webkit-scrollbar{width:6px}.hut-modal-body::-webkit-scrollbar-track{background:transparent;margin:8px 0}.hut-modal-body::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:3px}.hut-modal-body::-webkit-scrollbar-thumb:hover{background:#94a3b880}.hut-modal-body .hut-info-photo img{max-height:200px}@media(max-width:480px){.hut-modal-overlay{padding:16px;align-items:flex-end}.hut-modal{max-width:100%;max-height:85vh;border-radius:20px 20px 0 0;transform:translateY(100%)}.hut-modal-overlay.visible .hut-modal{transform:translateY(0)}.hut-modal-overlay:not(.visible) .hut-modal{transform:translateY(20%)}}.map-wrapper{position:relative;width:100%;height:100%}.map-wrapper .leaflet-top.leaflet-left{inset:auto 12px 24px auto}.map-wrapper .leaflet-control-zoom{margin:0;border:none;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #00000026}.map-wrapper .leaflet-control-zoom a{width:32px;height:32px;line-height:32px;font-size:16px;color:#374151;background:#fffffff2;border-bottom:1px solid #e5e7eb}.map-wrapper .leaflet-control-zoom a:last-child{border-bottom:none}.map-wrapper .leaflet-control-zoom a:hover{background:#f3f4f6;color:#1f2937}.map-view-toggle{position:absolute;top:12px;left:50px;z-index:1000;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;border:none;border-radius:8px;font-size:12px;font-weight:700;letter-spacing:.03em;cursor:pointer;transition:background .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #1e3a8a59}.map-view-toggle:hover{background:linear-gradient(135deg,#2563eb,#3b82f6);box-shadow:0 4px 12px #2563eb73}.map-view-toggle:active{box-shadow:0 1px 4px #1e3a8a4d}.map-view-toggle-icon{display:flex;align-items:center;justify-content:center}.map-view-toggle-label{text-transform:uppercase}.cesium-loader{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff}.cesium-loader-content{text-align:center}.cesium-loader-spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.2);border-top-color:#3b82f6;border-radius:50%;animation:cesium-spin 1s linear infinite;margin:0 auto 16px}.cesium-loader-hint{font-size:12px;opacity:.6;margin-top:8px}@keyframes cesium-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.map-wrapper .leaflet-top.leaflet-left{bottom:16px;right:10px}.map-view-toggle{top:10px;left:46px;padding:6px 10px;font-size:11px}.map-view-toggle-icon svg{width:14px;height:14px}}.admin-login{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem}.admin-login-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:2rem;width:100%;max-width:400px}.admin-login-header{text-align:center;margin-bottom:1.5rem}.admin-login-header svg{color:#3b82f6;margin-bottom:.5rem}.admin-login-header h2{margin:0 0 .5rem;font-size:1.5rem;color:#1f2937}.admin-login-header p{margin:0;color:#6b7280;font-size:.875rem}.admin-login-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:500;color:#374151}.form-group input{padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled{background:#f9fafb;cursor:not-allowed}.admin-login-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem}.admin-login-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.admin-login-button:hover:not(:disabled){background:#2563eb}.admin-login-button:disabled{background:#9ca3af;cursor:not-allowed}.admin-login-footer{margin-top:1.5rem;text-align:center}.admin-login-footer p{margin:0;color:#9ca3af;font-size:.75rem}.photo-manager-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.photo-manager-modal{background:#fff;border-radius:12px;width:100%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d}.photo-manager-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.photo-manager-header h2{margin:0;font-size:18px;font-weight:600;color:#1e293b}.photo-manager-header .close-btn{background:none;border:none;padding:8px;cursor:pointer;color:#64748b;border-radius:6px;transition:all .2s}.photo-manager-header .close-btn:hover{background:#f1f5f9;color:#1e293b}.photo-manager-content{flex:1;overflow-y:auto;padding:20px}.photo-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:16px}.photo-error button{margin-left:auto;background:none;border:none;font-size:18px;cursor:pointer;color:#dc2626}.photo-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#64748b;gap:12px}.spinner{animation:spin 1s linear infinite}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.photo-card{background:#f8fafc;border-radius:8px;overflow:hidden;border:1px solid #e2e8f0;transition:all .2s}.photo-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.photo-image-container{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e2e8f0}.photo-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-card:hover .photo-image-container img{transform:scale(1.05)}.photo-overlay{position:absolute;inset:0;background:#0006;display:flex;align-items:flex-start;justify-content:flex-end;padding:8px;gap:6px;opacity:0;transition:opacity .2s}.photo-card:hover .photo-overlay{opacity:1}.photo-delete-btn,.photo-link-btn{background:#fff;border:none;padding:8px;border-radius:6px;cursor:pointer;color:#64748b;transition:all .2s;display:flex;align-items:center;justify-content:center}.photo-delete-btn:hover{background:#fef2f2;color:#dc2626}.photo-link-btn:hover{background:#eff6ff;color:#2563eb}.photo-delete-btn:disabled{opacity:.5;cursor:not-allowed}.photo-meta{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.photo-author{font-size:12px;color:#475569;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-license{font-size:11px;color:#94a3b8}.photo-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:none;border:2px dashed #cbd5e1;border-radius:8px;padding:40px 20px;cursor:pointer;color:#64748b;transition:all .2s;min-height:180px}.photo-add-card:hover{border-color:#0035ad;color:#0035ad;background:#f8fafc}.photo-add-card span{font-size:14px;font-weight:500}.photo-add-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-top:16px}.photo-add-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.photo-add-form h3{margin:0;font-size:15px;font-weight:600;color:#1e293b}.photo-add-form .cancel-btn{background:none;border:none;color:#64748b;cursor:pointer;font-size:13px}.photo-add-form .cancel-btn:hover{color:#1e293b;text-decoration:underline}.photo-add-form input{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;margin-bottom:8px}.photo-add-form input:focus{outline:none;border-color:#0035ad;box-shadow:0 0 0 3px #0035ad1a}.photo-add-form .form-hint{font-size:12px;color:#64748b;margin:0 0 12px}.photo-add-form .submit-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#0035ad;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.photo-add-form .submit-btn:hover:not(:disabled){background:#002d91}.photo-add-form .submit-btn:disabled{background:#94a3b8;cursor:not-allowed}.photo-empty{text-align:center;padding:40px 20px;color:#64748b}.photo-manager-footer{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;border-radius:0 0 12px 12px}.photo-count{font-size:13px;color:#64748b}.close-btn-footer{padding:8px 16px;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.close-btn-footer:hover{background:#e2e8f0}.admin-huts-panel{display:flex;flex-direction:column;height:100%;gap:16px}.huts-filter-bar{position:relative;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.huts-filter-bar .search-box{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:2px 2px 2px 12px;max-width:350px}.huts-filter-bar .search-box:focus-within{border-color:#0035ad;box-shadow:0 0 0 2px #0035ad1a}.huts-filter-bar .search-box input{flex:1;border:none;outline:none;font-size:14px;padding:8px 0;background:transparent;min-width:0;color:#1e293b}.huts-filter-bar .search-box input::placeholder{color:#94a3b8}.huts-filter-bar .search-box button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0035ad;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .2s;flex-shrink:0}.huts-filter-bar .search-box button:hover:not(:disabled){background:#002d8f}.huts-filter-bar .search-box button:disabled{background:#cbd5e1;cursor:not-allowed}.huts-filter-bar .selected-hut-compact{flex:1;display:flex;align-items:center;justify-content:space-between;max-width:350px;padding:6px 8px 6px 12px;background:#fff;border:1px solid #0035ad;border-radius:6px}.huts-filter-bar .selected-hut-compact .hut-info{display:flex;flex-direction:column;gap:1px;min-width:0}.huts-filter-bar .selected-hut-compact .hut-name{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.huts-filter-bar .selected-hut-compact .hut-meta{font-size:11px;color:#64748b}.huts-filter-bar .clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;border-radius:4px;color:#64748b;cursor:pointer;transition:all .15s;flex-shrink:0}.huts-filter-bar .clear-btn:hover{background:#fee2e2;color:#dc2626}.huts-filter-bar .search-dropdown{position:absolute;top:100%;left:14px;right:14px;max-width:350px;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:280px;overflow-y:auto;z-index:1000}.huts-filter-bar .dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s}.huts-filter-bar .dropdown-item:hover{background:#f1f5f9}.huts-filter-bar .dropdown-item svg{color:#94a3b8;flex-shrink:0}.huts-filter-bar .dropdown-item .item-name{flex:1;font-size:14px;color:#1e293b}.huts-filter-bar .dropdown-item .item-meta{font-size:12px;color:#94a3b8}.huts-editor{flex:1;display:flex;flex-direction:column;overflow:hidden}.huts-subtabs{display:flex;gap:4px;padding:8px;background:#f8fafc;border-radius:8px;margin-bottom:16px}.huts-subtabs .subtab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.huts-subtabs .subtab:hover{background:#e2e8f0;color:#334155}.huts-subtabs .subtab.active{background:#fff;color:#0035ad;box-shadow:0 1px 3px #0000001a}.huts-subtab-content{flex:1;overflow:hidden}.subtab-content{height:100%;display:flex;flex-direction:column}.tags-content .tags-table-container{flex:1;display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;min-height:200px;max-height:calc(100vh - 480px)}.tags-table-header{display:grid;grid-template-columns:140px 1fr 1fr 40px;gap:12px;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.tags-table-body{flex:1;overflow-y:auto}.tags-row{display:grid;grid-template-columns:140px 1fr 1fr 40px;gap:12px;padding:8px 14px;border-bottom:1px solid #f1f5f9;align-items:center}.tags-row:hover{background:#fafafa}.tags-row.has-override{background:#fef3c7}.tags-row.has-override:hover{background:#fde68a}.tags-row.new-tag-row{background:#f0fdf4}.tag-key{font-family:SF Mono,Monaco,monospace;font-size:12px;color:#334155;word-break:break-all}.tag-key-input{font-family:SF Mono,Monaco,monospace;font-size:12px;padding:6px 8px;border:1px dashed #cbd5e1;border-radius:4px;width:100%;box-sizing:border-box}.tag-osm-value{font-size:13px;color:#64748b;word-break:break-word}.tag-override-input{padding:6px 10px;border:1px solid #e2e8f0;border-radius:4px;font-size:13px;width:100%;box-sizing:border-box}.tag-override-input:focus{outline:none;border-color:#0035ad;box-shadow:0 0 0 2px #0035ad1a}.tag-action-btn{display:flex;align-items:center;justify-content:center;padding:6px;background:transparent;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;transition:all .2s}.tag-action-btn:hover:not(:disabled){background:#f1f5f9;color:#334155}.tag-action-btn:disabled{opacity:.3;cursor:not-allowed}.comments-content textarea{flex:1;width:100%;min-height:200px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;box-sizing:border-box}.comments-content textarea:focus{outline:none;border-color:#0035ad;box-shadow:0 0 0 3px #0035ad1a}.displayname-content .displayname-info{display:flex;flex-direction:column;gap:16px;padding:16px;background:#f8fafc;border-radius:8px}.displayname-info .info-row{display:flex;align-items:center;gap:12px}.displayname-info .info-row label{min-width:160px;font-size:13px;font-weight:500;color:#64748b}.displayname-info .info-row .value{font-size:14px;color:#1e293b}.displayname-info .info-row input{flex:1;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.displayname-info .info-row input:focus{outline:none;border-color:#0035ad}.displayname-info .info-note{display:flex;align-items:center;gap:8px;font-size:13px;color:#64748b}.manual-badge{font-size:10px;padding:2px 8px;background:#d1fae5;color:#059669;border-radius:10px;font-weight:500}.subtab-actions{display:flex;gap:10px;padding-top:16px;margin-top:auto;border-top:1px solid #f1f5f9}.tags-table-body::-webkit-scrollbar,.huts-filter-bar .search-dropdown::-webkit-scrollbar{width:8px}.tags-table-body::-webkit-scrollbar-track,.huts-filter-bar .search-dropdown::-webkit-scrollbar-track{background:#f1f5f9}.tags-table-body::-webkit-scrollbar-thumb,.huts-filter-bar .search-dropdown::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tags-table-body::-webkit-scrollbar-thumb:hover,.huts-filter-bar .search-dropdown::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tags-info-note{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:12px;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;font-size:12px;color:#0369a1}.tags-info-note svg{flex-shrink:0}.subtab.subtab-photos{margin-left:auto;background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.subtab.subtab-photos:hover{background:#e0f2fe;border-color:#7dd3fc}.multilingual-input{margin-bottom:1rem}.multilingual-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.multilingual-header label{font-weight:500;color:#374151;font-size:.875rem}.multilingual-tabs{display:flex;gap:2px;background:#e5e7eb;padding:2px;border-radius:6px;margin-left:auto}.lang-tab{display:flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-size:.75rem;color:#6b7280;transition:all .15s ease;position:relative}.lang-tab:hover{background:#ffffff80;color:#374151}.lang-tab.active{background:#fff;color:#1e3a8a;font-weight:500;box-shadow:0 1px 2px #0000001a}.lang-flag{font-size:.875rem}.lang-code{font-family:system-ui,-apple-system,sans-serif}.lang-dot{position:absolute;top:3px;right:3px;width:5px;height:5px;background:#10b981;border-radius:50%}.lang-tab.active .lang-dot{background:#1e3a8a}.translate-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;font-size:.75rem;color:#6b7280;transition:all .15s ease;margin-left:8px}.translate-btn:hover:not(:disabled){border-color:#7c3aed;color:#7c3aed;background:#f5f3ff}.translate-btn:disabled{opacity:.5;cursor:not-allowed}.translate-btn .spin{animation:spin 1s linear infinite}.multilingual-content{position:relative}.lang-panel{display:none}.lang-panel.active{display:block}.lang-panel input,.lang-panel textarea{width:100%;padding:.625rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;transition:border-color .15s ease,box-shadow .15s ease}.lang-panel input:focus,.lang-panel textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.lang-panel textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.lang-panel input:disabled,.lang-panel textarea:disabled{background:#f9fafb;color:#9ca3af}.multilingual-input .form-hint{margin-top:.375rem;font-size:.75rem;color:#6b7280}.admin-segments-panel{display:flex;flex-direction:column;height:100%;gap:24px}.create-segment-section{background:#f8fafc;border-radius:12px;padding:20px;margin-bottom:16px}.create-segment-section .section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.create-segment-section .section-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:#1e293b}.segment-form{display:flex;flex-direction:column;gap:16px}.hut-selectors{display:flex;gap:16px;align-items:flex-start}.hut-selector{flex:1;position:relative}.selector-label{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:13px;font-weight:500;color:#64748b}.hut-selector .search-box{display:flex;gap:6px}.hut-selector .search-box input{flex:1;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;min-width:0}.hut-selector .search-box input:focus{outline:none;border-color:#0035ad}.hut-selector .search-box button{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#0035ad;color:#fff;border:none;border-radius:6px;cursor:pointer;flex-shrink:0}.hut-selector .search-box button:hover:not(:disabled){background:#002d8f}.hut-selector .search-box button:disabled{background:#cbd5e1;cursor:not-allowed}.hut-selector .selected-hut{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:1px solid #22c55e;border-radius:6px}.hut-selector .selected-hut .hut-info{display:flex;flex-direction:column;gap:2px}.hut-selector .selected-hut .hut-name{font-weight:500;color:#1e293b}.hut-selector .selected-hut .hut-meta{font-size:12px;color:#94a3b8}.hut-selector .selected-hut .clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:transparent;border:none;color:#94a3b8;cursor:pointer;border-radius:4px}.hut-selector .selected-hut .clear-btn:hover{background:#f1f5f9;color:#64748b}.hut-selector .search-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto;z-index:100}.hut-selector .dropdown-item{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s}.hut-selector .dropdown-item:hover{background:#f1f5f9}.hut-selector .dropdown-item .item-name{flex:1;font-size:14px;color:#1e293b}.hut-selector .dropdown-item .item-meta{font-size:12px;color:#94a3b8}.selector-separator{display:flex;align-items:center;justify-content:center;padding-top:30px}.swap-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#64748b;cursor:pointer;transition:all .2s}.swap-btn:hover:not(:disabled){background:#f1f5f9;color:#0035ad}.swap-btn:disabled{opacity:.3;cursor:not-allowed}.form-actions{display:flex;justify-content:center;gap:12px;margin-top:8px}.route-preview{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:16px}.preview-stats{display:flex;justify-content:center;gap:32px}.preview-stats .stat{display:flex;flex-direction:column;align-items:center;gap:4px}.preview-stats .stat-label{font-size:12px;color:#64748b}.preview-stats .stat-value{font-size:18px;font-weight:600;color:#1e293b}.form-options{display:flex;justify-content:center}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#0035ad}.paths-segments-section{flex:1;display:flex;flex-direction:column;min-height:0}.filter-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:10px 14px;background:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.filter-bar .hut-selector{flex:1;max-width:350px}.filter-bar .selector-label{display:none}.filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.paths-layout{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0;max-height:calc(100vh - 380px)}.paths-list-column{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px;overflow-y:auto;background:#fff;min-height:300px}.path-detail-column{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;min-height:300px}.list-empty{display:flex;align-items:center;justify-content:center;height:100%;padding:40px 20px;text-align:center;color:#94a3b8}.legacy-links-group{margin-top:auto;border-top:1px solid #e2e8f0;opacity:.7}.legacy-links-group:hover{opacity:1}.list-group-header{padding:8px 14px;background:#f8fafc;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.list-group-header.clickable{cursor:pointer;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.list-group-header.clickable:hover{background:#f1f5f9}.list-group-header .toggle-icon{transition:transform .2s}.list-group-header .toggle-icon.open{transform:rotate(90deg)}.list-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f1f5f9;transition:background .15s}.list-item:last-child{border-bottom:none}.list-item:hover{background:#f8fafc}.list-item.path-item{cursor:pointer}.list-item.path-item.selected{background:#eff6ff;border-left:3px solid #0035ad}.item-main{display:flex;flex-direction:column;gap:4px;min-width:0}.item-route{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:#1e293b}.item-route svg{color:#94a3b8;flex-shrink:0}.item-meta{font-size:12px;color:#64748b}.item-arrow{color:#cbd5e1;flex-shrink:0}.btn-delete-small{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #fecaca;border-radius:4px;color:#dc2626;cursor:pointer;transition:all .2s}.btn-delete-small:hover{background:#fef2f2}.detail-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:#94a3b8;padding:40px}.detail-placeholder svg{opacity:.5}.path-variants-panel{display:flex;flex-direction:column;height:100%}.path-variants-panel .panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.path-variants-panel .panel-header h4{margin:0;font-size:14px;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:6px}.header-arrow{color:#94a3b8;font-weight:400}.panel-header-actions{display:flex;gap:8px}.btn-add-ors{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#fff;color:#0035ad;border:1px solid #0035ad;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-add-ors:hover:not(:disabled){background:#f0f7ff}.btn-add-ors:disabled{opacity:.6;cursor:not-allowed}.btn-add-gpx{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#0035ad;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-gpx:hover{background:#002d8f}.variants-list{flex:1;overflow-y:auto}.variants-header{padding:8px 14px;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.variants-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;color:#94a3b8}.variants-empty p{margin:0}.variant-card{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f1f5f9}.variant-card:last-child{border-bottom:none}.variant-main{display:flex;gap:10px}.variant-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#f1f5f9;border-radius:6px;color:#64748b;flex-shrink:0}.variant-icon .season-summer{color:#f59e0b}.variant-icon .season-winter{color:#3b82f6}.variant-info{display:flex;flex-direction:column;gap:4px}.variant-title-text{font-size:13px;font-weight:500;color:#1e293b;line-height:1.3}.variant-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.variant-season-label{font-size:12px;color:#64748b}.variant-source{font-size:11px;padding:2px 6px;background:#e2e8f0;border-radius:4px;color:#64748b}.variant-badge.primary{display:flex;align-items:center;gap:3px;font-size:10px;padding:2px 6px;background:#dbeafe;border-radius:4px;color:#2563eb;font-weight:500}.variant-stats{font-size:12px;color:#64748b}.variant-filename{font-size:11px;color:#94a3b8;font-style:italic}.variant-actions{display:flex;align-items:center;gap:6px}.btn-icon-small{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;transition:all .2s}.btn-icon-small:hover:not(:disabled){background:#f1f5f9;color:#334155}.btn-icon-small:disabled{opacity:.5;cursor:not-allowed}.btn-icon-small.btn-refresh{border-color:#86efac;color:#16a34a}.btn-icon-small.btn-refresh:hover:not(:disabled){background:#f0fdf4;color:#15803d}.btn-icon-small.btn-delete{border-color:#fecaca;color:#dc2626}.btn-icon-small.btn-delete:hover{background:#fef2f2}.delete-confirm{display:flex;align-items:center;gap:4px}.delete-warning{font-size:10px;color:#dc2626;font-weight:500;margin-right:4px}.btn-confirm-yes,.btn-confirm-no{padding:4px 8px;font-size:11px;border-radius:4px;cursor:pointer;border:none}.btn-confirm-yes{background:#dc2626;color:#fff}.btn-confirm-yes:hover{background:#b91c1c}.btn-confirm-no{background:#e2e8f0;color:#475569}.btn-confirm-no:hover{background:#cbd5e1}.modal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{width:90%;max-width:420px;background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0}.modal-header h3{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:#1e293b}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:6px}.modal-close-btn:hover{background:#f1f5f9;color:#334155}.modal-path-info{display:flex;gap:8px;padding:10px 20px;background:#f8fafc;font-size:13px;border-bottom:1px solid #e2e8f0}.path-label{color:#64748b}.path-value{color:#1e293b;font-weight:500}.variant-info-bar{display:flex;justify-content:space-between;padding:10px 20px;background:#f8fafc;font-size:12px;color:#64748b;border-bottom:1px solid #e2e8f0}.variant-id{font-family:monospace}.modal-content form{padding:20px;display:flex;flex-direction:column;gap:16px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid #e2e8f0;background:#f8fafc}.gpx-options{padding:0 20px 20px;display:flex;flex-direction:column;gap:16px}.gpx-dropzone{margin:20px;padding:32px 20px;border:2px dashed #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s}.gpx-dropzone:hover,.gpx-dropzone.drag-over{border-color:#0035ad;background:#f0f7ff}.gpx-dropzone.has-file{border-style:solid;border-color:#22c55e;background:#f0fdf4}.gpx-dropzone.has-error{border-color:#dc2626;background:#fef2f2}.dropzone-empty,.dropzone-error{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:#64748b}.dropzone-error{color:#dc2626}.dropzone-text{font-size:14px}.dropzone-hint{font-size:12px;color:#94a3b8}.file-selected{display:flex;align-items:center;gap:12px}.file-icon-success{color:#22c55e;flex-shrink:0}.file-details{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:14px;font-weight:500;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:12px;color:#64748b}.file-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:4px}.file-clear:hover{background:#0000000d;color:#dc2626}.season-buttons{display:flex;gap:8px}.season-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.season-btn:hover{border-color:#cbd5e1}.season-btn.active{border-color:#0035ad;color:#0035ad;background:#f0f7ff}.season-btn.active.summer{border-color:#f59e0b;color:#d97706;background:#fffbeb}.season-btn.active.winter{border-color:#3b82f6;color:#2563eb;background:#eff6ff}.season-btn.active.both{border-color:#10b981;color:#059669;background:#ecfdf5}.form-group{display:flex;flex-direction:column;gap:6px}.form-group>label{font-size:13px;font-weight:500;color:#475569}.form-group input[type=text]{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b}.form-group input[type=text]:focus{outline:none;border-color:#0035ad}.form-group select{padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background:#fff}.form-group select:focus{outline:none;border-color:#0035ad}.form-hint{margin:0;font-size:11px;color:#94a3b8}.star-active{color:#f59e0b}.gpx-success{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;background:#f0fdf4;color:#16a34a;font-weight:500;border-top:1px solid #e2e8f0}.modal-content .form-group input[type=text]{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b}.modal-content .form-group input[type=text]:focus{outline:none;border-color:#0035ad;box-shadow:0 0 0 2px #0035ad1a}.modal-content .form-group input[type=text]::placeholder{color:#94a3b8}.btn-secondary{display:flex;align-items:center;gap:6px;padding:10px 16px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.btn-secondary.btn-small{padding:6px 12px;font-size:12px}.btn-icon.btn-add{background:#0035ad;color:#fff;border-color:#0035ad}.btn-icon.btn-add:hover:not(:disabled){background:#002d8f;border-color:#002d8f}.admin-loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:60px 40px;color:#64748b}.admin-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 40px;color:#94a3b8}.admin-empty-state svg{opacity:.5}.admin-empty-state p{margin:0;font-size:14px}.paths-list-column::-webkit-scrollbar,.variants-list::-webkit-scrollbar{width:8px}.paths-list-column::-webkit-scrollbar-track,.variants-list::-webkit-scrollbar-track{background:#f1f5f9}.paths-list-column::-webkit-scrollbar-thumb,.variants-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}@media(max-width:900px){.paths-layout{grid-template-columns:1fr;max-height:none}.paths-list-column{max-height:250px}.path-detail-column{min-height:300px}.hut-selectors{flex-direction:column}.selector-separator{padding:10px 0}}.item-route .route-icon{margin:0 4px;opacity:.5}.header-arrow-icon{margin:0 6px;opacity:.6}.canonical-info{padding:6px 12px;background:#f8fafc;color:#64748b;font-size:11px;border-bottom:1px solid #e2e8f0}.canonical-info-banner{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#eff6ff;color:#1d4ed8;font-size:12px}.canonical-info-banner svg{flex-shrink:0}.modal-info-banner{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#eff6ff;color:#1d4ed8;font-size:13px;line-height:1.4;border-bottom:1px solid #dbeafe}.modal-info-banner svg{flex-shrink:0;margin-top:2px}.preview-hint{font-size:11px;color:#64748b;margin-top:8px;text-align:center;font-style:italic}.gpx-success.with-warning{flex-direction:column;gap:6px}.gpx-reversed-info{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:#d97706;font-weight:400}.admin-maintenance-panel{display:flex;flex-direction:column;height:100%}.maintenance-subtabs{display:flex;gap:4px;padding:8px;background:#f8fafc;border-radius:8px;margin-bottom:16px;flex-wrap:wrap}.maintenance-subtabs .subtab{display:flex;align-items:center;gap:6px;padding:8px 16px;background:transparent;border:none;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;transition:all .2s}.maintenance-subtabs .subtab:hover{background:#e2e8f0;color:#334155}.maintenance-subtabs .subtab.active{background:#fff;color:#0035ad;box-shadow:0 1px 3px #0000001a}.maintenance-content{flex:1;overflow:hidden}.maintenance-subtab{height:100%;display:flex;flex-direction:column}.controls-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.controls-row label{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569}.controls-row input[type=number]{width:80px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.controls-row select{padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;background:#fff}.controls-row .suffix{font-size:13px;color:#94a3b8}.controls-row .query-input{flex:1;min-width:300px;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#475569;cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px}.info-text{font-size:14px;color:#64748b;margin-bottom:12px;display:flex;align-items:center;gap:8px}.cache-badge{font-size:10px;padding:2px 6px;background:#dbeafe;color:#1d4ed8;border-radius:4px;font-weight:500}.time-badge{font-size:10px;padding:2px 6px;background:#f1f5f9;color:#64748b;border-radius:4px}.search-loading{display:flex;align-items:center;gap:10px;padding:16px;background:#f0f9ff;border-radius:8px;color:#0369a1;font-size:14px;margin:12px 0}.admin-empty-state .hint{font-size:12px;color:#94a3b8;margin-top:4px}.duplicates-list{flex:1;overflow-y:auto;max-height:calc(100vh - 400px)}.duplicate-group{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;overflow:hidden}.group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f8fafc;cursor:pointer;transition:background .2s}.group-header:hover{background:#f1f5f9}.group-name{flex:1;font-weight:500;color:#1e293b}.group-count{font-size:12px;color:#64748b;background:#e2e8f0;padding:2px 10px;border-radius:10px}.group-details{padding:16px;border-top:1px solid #e2e8f0}.reference-hut{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#f0fdf4;border-radius:6px;margin-bottom:12px}.reference-hut strong{font-size:12px;color:#166534}.reference-hut .hut-id{font-size:12px;color:#94a3b8;font-family:monospace}.duplicates-items{margin-bottom:16px}.duplicates-items strong{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.duplicate-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .15s}.duplicate-item:hover{background:#f8fafc}.duplicate-item input[type=checkbox]{width:16px;height:16px}.duplicate-item .dup-name{flex:1;font-size:14px;color:#334155}.duplicate-item .dup-distance{font-size:13px;font-weight:500;color:#f97316}.group-actions{padding-top:12px;border-top:1px solid #f1f5f9}.names-table-wrapper{flex:1;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.names-table{display:flex;flex-direction:column;height:100%;max-height:calc(100vh - 380px)}.names-table .table-header{display:grid;grid-template-columns:100px 1fr 1fr 80px;gap:12px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.names-table .table-body{flex:1;overflow-y:auto}.names-table .table-row{display:grid;grid-template-columns:100px 1fr 1fr 80px;gap:12px;padding:10px 16px;border-bottom:1px solid #f1f5f9;align-items:center}.names-table .table-row:hover{background:#fafafa}.names-table .col-id{font-family:monospace;font-size:12px;color:#64748b}.names-table .col-osm{font-size:14px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.names-table .col-display{display:flex;align-items:center;gap:8px;font-size:14px;color:#1e293b}.names-table .col-display input{flex:1;padding:6px 10px;border:1px solid #0035ad;border-radius:4px;font-size:14px}.names-table .col-actions{display:flex;gap:4px;justify-content:flex-end}.modified-badge{font-size:10px;padding:2px 6px;background:#dbeafe;color:#1d4ed8;border-radius:10px;font-weight:500}.btn-edit,.btn-save,.btn-cancel,.btn-reset{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;transition:all .2s}.btn-edit:hover{background:#f1f5f9;color:#334155}.btn-save{border-color:#22c55e;color:#22c55e}.btn-save:hover{background:#f0fdf4}.btn-cancel{border-color:#ef4444;color:#ef4444}.btn-cancel:hover{background:#fef2f2}.btn-reset{border-color:#f97316;color:#f97316}.btn-reset:hover{background:#fff7ed}.loading-row,.empty-row{display:flex;align-items:center;justify-content:center;padding:40px;color:#94a3b8}.import-results{flex:1;overflow-y:auto;max-height:calc(100vh - 400px)}.import-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px}.import-item .item-info{flex:1}.import-item .item-name{display:block;font-weight:500;color:#1e293b;margin-bottom:2px}.import-item .item-meta{font-size:12px;color:#94a3b8}.warning-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fef3c7;color:#b45309;border-radius:12px;font-size:12px}.btn-import{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#0035ad;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:background .2s}.btn-import:hover:not(:disabled){background:#002d8f}.btn-import:disabled{opacity:.5;cursor:not-allowed}.enrich-subtab{display:flex;flex-direction:column;gap:16px}.enrich-status-bar{display:flex;align-items:center;gap:16px;padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.enrich-status-bar.running{background:#f0f9ff;border-color:#bfdbfe}.status-info{display:flex;align-items:center;gap:8px;font-size:14px;color:#334155;min-width:200px}.status-progress{flex:1;display:flex;align-items:center;gap:12px}.progress-bar{flex:1;height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#0035ad,#3b82f6);border-radius:3px;transition:width .3s ease}.progress-text{font-size:12px;color:#64748b;font-family:monospace;min-width:100px}.status-counts{display:flex;gap:12px}.status-counts .count{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px}.status-counts .count.success{background:#dcfce7;color:#166534}.status-counts .count.not-found{background:#fef3c7;color:#b45309}.status-counts .count.error{background:#fee2e2;color:#dc2626}.enrich-content{display:flex;gap:16px;flex:1;overflow:hidden}.enrich-huts-list{flex:1;display:flex;flex-direction:column;overflow:hidden}.enrich-huts-list h4{margin:0 0 12px;font-size:14px;font-weight:600;color:#334155}.huts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;overflow-y:auto;max-height:calc(100vh - 300px);padding-right:8px;padding-bottom:16px}.enrich-subtab .hut-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s;cursor:default;height:48px;min-height:48px;max-height:48px}.enrich-subtab .hut-card.success{cursor:pointer}.enrich-subtab .hut-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.enrich-subtab .hut-card.success{border-color:#86efac;background:#f0fdf4}.enrich-subtab .hut-card.not_found{border-color:#fde68a;background:#fefce8}.enrich-subtab .hut-card.error{border-color:#fca5a5;background:#fef2f2}.enrich-subtab .hut-card.selected{border-color:#0035ad;box-shadow:0 0 0 2px #0035ad33}.enrich-subtab .hut-card-header{display:flex;align-items:center;gap:10px;padding:0 14px;background:#f8fafc;height:100%}.enrich-subtab .hut-card.success .hut-card-header{background:#dcfce7}.enrich-subtab .hut-card.not_found .hut-card-header{background:#fef9c3}.enrich-subtab .hut-card.error .hut-card-header{background:#fee2e2}.result-checkbox{cursor:pointer}.result-checkbox .checked{color:#0035ad}.status-success{color:#16a34a}.status-not-found{color:#ca8a04}.status-error{color:#dc2626}.status-skipped{color:#94a3b8}.enrich-subtab .hut-name{flex:1;font-weight:600;font-size:14px;line-height:1.4;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.hut-id{font-size:11px;color:#94a3b8;font-family:monospace}.hut-card-body{padding:12px;display:flex;flex-direction:column;gap:8px}.utno-input-row{display:flex;gap:4px}.utno-input{flex:1;padding:6px 8px;border:1px solid #e2e8f0;border-radius:4px;font-size:12px}.utno-input:focus{outline:none;border-color:#0035ad}.btn-mini{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;transition:all .15s}.btn-mini:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-mini.primary{background:#0035ad;border-color:#0035ad;color:#fff}.btn-mini.primary:hover:not(:disabled){background:#002d8f}.btn-mini:disabled{opacity:.4;cursor:not-allowed}.enriched-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;background:#dbeafe;color:#1d4ed8;border-radius:10px;width:fit-content}.result-badges{display:flex;gap:6px;margin-left:auto}.badge-photo,.badge-capacity{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:500;padding:3px 8px;border-radius:10px}.badge-photo{background:#dbeafe;color:#1d4ed8}.badge-capacity{background:#dcfce7;color:#166534}.result-preview{display:flex;flex-wrap:wrap;gap:6px}.result-preview span{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}.error-text{font-size:11px;color:#dc2626}.preview-panel{width:360px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.preview-header h4{margin:0;font-size:14px;font-weight:600;color:#1e293b}.btn-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:4px;color:#64748b;cursor:pointer;transition:all .2s}.btn-close:hover{background:#e2e8f0;color:#334155}.preview-content{flex:1;padding:16px;overflow-y:auto}.utno-link{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:#0035ad;text-decoration:none;margin-bottom:12px}.utno-link:hover{text-decoration:underline}.preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.preview-item{display:flex;align-items:center;gap:6px;padding:8px 10px;background:#f8fafc;border-radius:6px;font-size:12px;color:#334155}.preview-item svg{color:#64748b}.preview-section{margin-bottom:16px}.preview-section strong{display:block;font-size:12px;color:#64748b;margin-bottom:8px}.preview-section .tags{display:flex;flex-wrap:wrap;gap:6px}.preview-section .tag{font-size:11px;padding:3px 8px;background:#e2e8f0;color:#475569;border-radius:4px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;background:#f1f5f9}.preview-section .description{font-size:13px;color:#475569;line-height:1.5;margin:0;max-height:150px;overflow-y:auto}.admin-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#94a3b8;font-style:italic}.btn-primary{display:flex;align-items:center;gap:6px;padding:10px 20px;background:#0035ad;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover:not(:disabled){background:#002d8f}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#f8fafc}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-outline-primary{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;color:#0035ad;border:1.5px solid #0035ad;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-outline-primary:hover:not(:disabled){background:#f0f4ff}.btn-outline-primary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;transition:all .2s}.btn-icon:hover:not(:disabled){background:#f8fafc;color:#334155}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.duplicates-list::-webkit-scrollbar,.names-table .table-body::-webkit-scrollbar,.import-results::-webkit-scrollbar,.huts-grid::-webkit-scrollbar,.preview-content::-webkit-scrollbar{width:8px}.duplicates-list::-webkit-scrollbar-track,.names-table .table-body::-webkit-scrollbar-track,.import-results::-webkit-scrollbar-track,.huts-grid::-webkit-scrollbar-track,.preview-content::-webkit-scrollbar-track{background:#f1f5f9}.duplicates-list::-webkit-scrollbar-thumb,.names-table .table-body::-webkit-scrollbar-thumb,.import-results::-webkit-scrollbar-thumb,.huts-grid::-webkit-scrollbar-thumb,.preview-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.duplicates-list::-webkit-scrollbar-thumb:hover,.names-table .table-body::-webkit-scrollbar-thumb:hover,.import-results::-webkit-scrollbar-thumb:hover,.huts-grid::-webkit-scrollbar-thumb:hover,.preview-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.photos-subtab .photos-stats-bar{display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px;background:#f8fafc;border-radius:8px;margin-bottom:16px}.photos-stats-bar .stat{display:flex;align-items:center;gap:4px;font-size:13px;color:#64748b}.photos-stats-bar .stat strong{color:#1e293b}.photos-stats-bar .stat.wikimedia{color:#16a34a}.photos-stats-bar .stat.metadata{color:#0035ad}.photos-stats-bar .stat.country{padding:2px 8px;background:#e2e8f0;border-radius:4px;font-weight:500}.photos-subtab .photos-grid-container{flex:1;overflow-y:auto;max-height:calc(100vh - 350px)}.photos-subtab .photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;padding:4px}.photos-subtab .photo-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;transition:all .2s}.photos-subtab .photo-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.photos-subtab .photo-card.external{border-color:#fecaca}.photos-subtab .photo-card.wikimedia{border-color:#bbf7d0}.photos-subtab .photo-image{position:relative;aspect-ratio:4/3;background:#f1f5f9;overflow:hidden}.photos-subtab .photo-image img{width:100%;height:100%;object-fit:cover}.photos-subtab .photo-actions{position:absolute;top:0;right:0;padding:6px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.photos-subtab .photo-card:hover .photo-actions{opacity:1}.photos-subtab .photo-actions .btn-delete,.photos-subtab .photo-actions .btn-external{padding:6px;background:#fff;border:none;border-radius:4px;cursor:pointer;color:#64748b;transition:all .2s}.photos-subtab .photo-actions .btn-delete:hover{background:#fef2f2;color:#dc2626}.photos-subtab .photo-actions .btn-external:hover{background:#eff6ff;color:#2563eb}.photos-subtab .photo-info{padding:8px 10px;display:flex;flex-direction:column;gap:2px}.photos-subtab .photo-info .hut-name{font-size:12px;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-subtab .photo-info .photo-meta{font-size:11px;color:#94a3b8}.photos-subtab .photo-info .photo-author{font-size:11px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-subtab .photo-info .photo-license{font-size:10px;color:#94a3b8}.photos-subtab .photo-info .no-credits-badge{display:inline-block;font-size:10px;padding:1px 6px;background:#fef3c7;color:#92400e;border-radius:4px;margin-top:2px}.photos-subtab .photo-card.selected{border-color:#0035ad;box-shadow:0 0 0 2px #0035ad33}.photos-subtab .photo-selected-overlay{position:absolute;inset:0;background:#0035ad4d;display:flex;align-items:center;justify-content:center;z-index:1}.photos-subtab .photo-selected-overlay svg{color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.photos-subtab .photo-card{cursor:pointer}.photos-stats-bar .stat.credits{color:#16a34a}.photos-stats-bar .stat.no-credits{color:#dc2626}.controls-separator{width:1px;height:24px;background:#e2e8f0;margin:0 4px}.btn-danger{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#dc2626;color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s}.btn-danger:hover:not(:disabled){background:#b91c1c}.btn-danger:disabled{background:#fca5a5;cursor:not-allowed}.analytics-panel{display:flex;flex-direction:column;gap:1.5rem;padding:.5rem}.analytics-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.analytics-period-selector{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary, #6b7280)}.analytics-period-selector select{padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--bg-primary, #fff);font-size:.875rem;cursor:pointer}.analytics-period-selector select:focus{outline:none;border-color:var(--primary-color, #0035ad);box-shadow:0 0 0 2px #0035ad1a}.analytics-actions{display:flex;gap:.5rem}.analytics-refresh-btn,.analytics-aggregate-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-primary, #1f2937);font-size:.8125rem;cursor:pointer;transition:all .15s ease}.analytics-refresh-btn:hover,.analytics-aggregate-btn:hover{border-color:var(--primary-color, #0035ad);color:var(--primary-color, #0035ad);background:#0035ad0a}.analytics-aggregate-btn:disabled{opacity:.6;cursor:not-allowed}.analytics-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.analytics-kpi{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;transition:all .2s ease}.analytics-kpi:hover{border-color:var(--border-hover, #d1d5db);box-shadow:0 2px 8px #0000000a}.kpi-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;flex-shrink:0}.kpi-icon.sessions{background:#0035ad1a;color:#0035ad}.kpi-icon.events{background:#4a90d91a;color:#4a90d9}.kpi-icon.countries{background:#00875a1a;color:#00875a}.kpi-icon.huts{background:#f59e0b1a;color:#f59e0b}.kpi-content{display:flex;flex-direction:column;gap:.125rem}.kpi-value{font-size:1.5rem;font-weight:600;color:var(--text-primary, #1f2937);line-height:1.2}.kpi-label{font-size:.75rem;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.025em}.analytics-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.analytics-chart-card{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;padding:1.25rem}.analytics-chart-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1f2937)}.analytics-chart-card h3 svg{color:var(--text-secondary, #6b7280)}.chart-empty,.table-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary, #6b7280);font-size:.875rem;font-style:italic}.analytics-chart-card .recharts-cartesian-axis-tick-value{fill:var(--text-secondary, #6b7280)}.analytics-chart-card .recharts-legend-item-text{color:var(--text-primary, #1f2937)!important;font-size:.8125rem}.analytics-chart-card .recharts-tooltip-wrapper{outline:none}.analytics-chart-card .recharts-default-tooltip{background:var(--bg-primary, #fff)!important;border:1px solid var(--border-color, #e5e7eb)!important;border-radius:6px!important;box-shadow:0 4px 12px #0000001a!important}.analytics-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.analytics-table-card{background:var(--bg-primary, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:10px;padding:1.25rem;overflow:hidden}.analytics-table-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.9375rem;font-weight:600;color:var(--text-primary, #1f2937)}.analytics-table-card h3 svg{color:var(--text-secondary, #6b7280)}.analytics-table{width:100%;border-collapse:collapse;font-size:.8125rem}.analytics-table thead{border-bottom:1px solid var(--border-color, #e5e7eb)}.analytics-table th{padding:.625rem .75rem;text-align:left;font-weight:600;color:var(--text-secondary, #6b7280);text-transform:uppercase;font-size:.6875rem;letter-spacing:.05em}.analytics-table td{padding:.625rem .75rem;color:var(--text-primary, #1f2937);border-bottom:1px solid var(--border-light, #f3f4f6)}.analytics-table tr:last-child td{border-bottom:none}.analytics-table tr:hover td{background:#0035ad05}.analytics-table .rank{font-weight:600;color:var(--text-secondary, #6b7280);width:2rem}.analytics-table .views{font-weight:500;color:var(--primary-color, #0035ad);text-align:right}.country-flag{display:inline-block;margin-right:.5rem;font-weight:600;color:var(--text-secondary, #6b7280)}.country-name{color:var(--text-primary, #1f2937)}.analytics-loading,.analytics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 1rem;text-align:center;color:var(--text-secondary, #6b7280)}.analytics-error{color:var(--error-color, #dc2626)}.analytics-retry-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--primary-color, #0035ad);color:#fff;border:none;border-radius:6px;font-size:.8125rem;cursor:pointer;transition:background .15s ease}.analytics-retry-btn:hover{background:var(--primary-dark, #002a8a)}@media(max-width:768px){.analytics-header{flex-direction:column;align-items:stretch}.analytics-actions{justify-content:flex-end}.analytics-kpis{grid-template-columns:repeat(2,1fr)}.analytics-kpi{padding:.875rem}.kpi-icon{width:40px;height:40px}.kpi-value{font-size:1.25rem}.analytics-charts,.analytics-tables{grid-template-columns:1fr}}@media(max-width:480px){.analytics-kpis{grid-template-columns:1fr}}.admin-panel-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-panel{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;max-height:90vh;overflow:hidden}.admin-panel-modal{width:100%;max-width:1200px}.admin-panel-tab{width:100%;height:100%;border-radius:0;box-shadow:none}.admin-panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-shrink:0}.admin-panel-title{display:flex;align-items:center;gap:10px;color:#0035ad;flex-shrink:0}.admin-panel-title h2{margin:0;font-size:16px;font-weight:600;color:#1e293b}.admin-panel-title svg{flex-shrink:0}.admin-tabs{display:flex;justify-content:center;gap:6px;flex:1}.admin-tab{display:flex;align-items:center;gap:6px;padding:7px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-tab:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.admin-tab.active{background:#0035ad;border-color:#0035ad;color:#fff}.admin-tab svg{width:15px;height:15px;flex-shrink:0}.admin-panel-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-logout-btn,.admin-close-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;transition:all .2s}.admin-logout-btn:hover,.admin-close-btn:hover{background:#f1f5f9;color:#334155}.admin-close-btn:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2}.admin-message{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:13px;font-weight:500;flex-shrink:0}.admin-message.success{background:#f0fdf4;color:#16a34a;border-bottom:1px solid #dcfce7}.admin-message.error{background:#fef2f2;color:#dc2626;border-bottom:1px solid #fecaca}.admin-message svg{flex-shrink:0}.admin-panel-content{flex:1;overflow-y:auto;min-height:0}.admin-tab-content{height:100%;padding:20px}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#64748b}.admin-loading p{margin:0;font-size:14px}.modal-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:#64748b}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.admin-panel-header{flex-wrap:wrap;gap:12px;padding:12px 16px}.admin-panel-title{order:1}.admin-panel-actions{order:2}.admin-tabs{order:3;width:100%;justify-content:center;padding-top:8px;border-top:1px solid #e2e8f0;margin-top:4px}.admin-tab{padding:6px 10px;font-size:12px}.admin-tab-content{padding:16px}}@media(max-width:480px){.admin-tabs{gap:4px}.admin-tab{padding:6px 8px}.admin-tab span{display:none}}.language-selector{position:relative;z-index:1000}.language-toggle{display:flex;align-items:center;gap:4px;padding:6px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;color:#64748b}.language-toggle:hover,.language-toggle.active{background:#0035ad0f;color:#0035ad}.language-globe{opacity:.8;transition:opacity .2s ease}.language-toggle:hover .language-globe,.language-toggle.active .language-globe{opacity:1}.language-chevron{opacity:.5;transition:transform .2s ease,opacity .2s ease}.language-toggle:hover .language-chevron{opacity:.7}.language-chevron.open{transform:rotate(180deg)}.language-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:170px;background:#fffffffa;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 4px 24px #0000001f,0 0 0 1px #0000000f,inset 0 1px #fffc;overflow:hidden;animation:dropdownSlideIn .2s ease-out;z-index:10000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.language-option{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:none;background:transparent;cursor:pointer;transition:background .15s ease;text-align:left}.language-option:first-child{border-radius:12px 12px 0 0}.language-option:last-child{border-radius:0 0 12px 12px}.language-option:only-child{border-radius:12px}.language-option:hover{background:#0035ad0f}.language-option.active{background:#0035ad14}.speech-bubble{position:relative;display:flex;align-items:center;justify-content:center;padding:4px 7px;background:#94a3b82e;border-radius:8px 8px 8px 2px;flex-shrink:0;transition:all .2s ease}.speech-bubble.active{background:#0035ad26}.language-option:hover .speech-bubble{background:#0035ad1f}.bubble-text{font-size:9px;font-weight:600;letter-spacing:.3px;color:#64748b;transition:color .2s ease;line-height:1;transform:translateY(.5px)}.speech-bubble.active .bubble-text,.language-option:hover .bubble-text{color:#0035ad}.language-name{flex:1;font-size:13px;font-weight:450;color:#334155;letter-spacing:-.01em}.language-option.active .language-name{color:#0035ad;font-weight:500}.language-check{color:#0035ad;opacity:0;transform:scale(.8);transition:all .15s ease}.language-option.active .language-check{opacity:1;transform:scale(1)}@media(max-width:640px){.language-toggle{padding:6px 8px}.language-chevron{display:none}.language-dropdown{min-width:150px}.language-option{padding:10px 12px}}:root{--color-primary: #2563eb;--color-primary-dark: #1e40af;--color-secondary: #64748b;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--sami-red: #CE2029;--sami-blue: #0047AB;--sami-green: #006B3E;--sami-yellow: #FCCD06;--color-bg: #FDFCFB;--color-bg-pure: #ffffff;--color-bg-secondary: #f8fafc;--color-border: #e2e8f0;--color-text: #1e293b;--color-text-light: #64748b;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius: .5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background-color:var(--color-bg);line-height:1.6}.app{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{position:sticky;top:0;z-index:9999;background:var(--color-bg-pure);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:visible;height:80px}.header-content{position:relative;height:100%;max-width:100%;margin:0;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl) 0 0}.header-flag-container{position:relative;height:100%;display:flex;align-items:center;z-index:1}.header-flag-container:after{content:"";position:absolute;top:0;left:100%;width:1000px;height:100%;background:linear-gradient(to right,#0035ad 0%,#0035ad 20%,rgba(0,53,173,.7) 35%,rgba(0,53,173,.4) 50%,rgba(0,53,173,.2) 62%,rgba(0,53,173,.08) 75%,rgba(0,53,173,.02) 88%,transparent 100%);z-index:-1}.sami-flag{height:100%;width:auto;display:block}.sami-flag svg{height:100%;width:auto;display:block}.header-mountains{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.header-mountains svg{position:absolute;bottom:0;left:0;width:100%;height:60px}.header-skier{position:absolute;right:25%;bottom:4px;z-index:2;pointer-events:none}.header-skier:before{content:"";position:absolute;right:100%;margin-right:0;bottom:11px;width:200px;height:1px;background:linear-gradient(to left,#6b8cce1a,#6b8cce4d 15%,#6b8cce1a 80%,#6b8cce00)}.header-skier img{height:32px;width:auto;filter:invert(55%) sepia(15%) saturate(800%) hue-rotate(190deg) brightness(95%)}.header-brand{position:absolute;left:140px;z-index:2;display:flex;flex-direction:column;gap:0}.app-title{font-size:1.6rem;font-weight:600;color:#fff;margin:0;letter-spacing:-.02em}.app-subtitle{font-size:.7rem;font-style:italic;color:#ffffffd9;letter-spacing:.02em;margin-top:-2px}.header-right{position:relative;z-index:2;display:flex;align-items:center;gap:1.5rem}.header-contact-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;background:transparent;border:none;border-radius:6px;color:#64748b;font-size:.8125rem;font-weight:450;cursor:pointer;transition:all .2s ease}.header-contact-btn:hover{color:#0035ad;background:#0035ad0f}.header-contact-btn svg{flex-shrink:0;opacity:.7;transition:opacity .2s ease}.header-contact-btn:hover svg{opacity:1}.nav-links{display:flex;gap:1.5rem}.nav-link{font-size:.85rem;font-weight:500;border:none;background:transparent;color:var(--color-text-light);cursor:pointer;transition:all .2s ease;padding:.25rem 0;position:relative}.nav-link:hover{color:var(--color-text)}.nav-link-active{color:var(--sami-blue);font-weight:600}.nav-link-active:after{content:"";position:absolute;bottom:-2px;left:0;right:0;height:2px;background:var(--sami-blue);border-radius:1px}.app-main{flex:1;width:100%;padding:0;overflow:hidden;display:flex;flex-direction:column}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--spacing-md)}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--sami-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{font-size:1.125rem;font-weight:600;color:var(--color-error)}.error-details{color:var(--color-text-light)}.btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--sami-blue);color:#fff}.btn-primary:hover:not(:disabled){background:#003d91}.btn-secondary{background:var(--color-secondary);color:#fff}.btn-secondary:hover:not(:disabled){background:#475569}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover:not(:disabled){background:var(--color-bg-secondary)}.btn-sm{padding:.375rem .875rem;font-size:.8125rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.card{background:var(--color-bg-pure);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-title{font-size:1.125rem;font-weight:600;margin:0}.form-group{margin-bottom:var(--spacing-md)}.form-label{display:block;font-size:.875rem;font-weight:500;margin-bottom:var(--spacing-xs);color:var(--color-text)}.form-input,.form-select{width:100%;padding:.625rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-pure);color:var(--color-text);transition:border-color .2s}.form-input:focus,.form-select:focus{outline:none;border-color:var(--sami-blue);box-shadow:0 0 0 3px #0047ab1a}.form-input::placeholder{color:var(--color-text-light)}.app-footer{background:linear-gradient(to right,#0035ad0d,#0035ad05 30%,#fccd0605 70%,#fccd060a)}.footer-sami-band{height:3px;display:flex}.footer-sami-band:before{content:"";display:flex}.footer-sami-red{width:34px;background:var(--sami-red)}.footer-sami-green{width:7px;background:var(--sami-green)}.footer-sami-yellow{width:7px;background:var(--sami-yellow)}.footer-sami-blue{flex:1;background:linear-gradient(to right,var(--sami-blue) 0%,var(--sami-blue) 59px,transparent 100%)}.footer-content{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;font-size:.7rem;color:var(--color-text-light)}.footer-left{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-center{display:flex;align-items:center}.footer-right{display:flex;align-items:center;gap:var(--spacing-sm)}.footer-version{font-weight:500;font-size:.7rem}.footer-badges{display:flex;gap:var(--spacing-sm)}.badge{display:inline-block;padding:.15rem .5rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:999px}.badge-warning{background:#fef3c7;color:#92400e}.badge-info{background:#dbeafe;color:#1e40af}.badge-success{background:#d1fae5;color:#065f46}.badge-error{background:#fee2e2;color:#991b1b}.debug-info{font-family:Courier New,monospace;font-size:.7rem;opacity:.7}.footer-admin-link{background:none;border:none;font-size:.7rem;color:var(--color-text-light);opacity:.4;cursor:pointer;padding:.25rem .5rem;transition:opacity .2s ease}.footer-admin-link:hover{opacity:.8}@media(max-width:768px){.app-header{height:auto;min-height:60px}.header-content{flex-wrap:wrap;padding:var(--spacing-sm) var(--spacing-md);gap:var(--spacing-sm)}.header-flag-container{height:50px}.header-flag-container:after{width:200px}.header-brand{left:80px}.app-title{font-size:1.2rem}.app-subtitle{font-size:.6rem}.nav-links{width:100%;justify-content:center;margin-top:var(--spacing-xs);gap:1rem}.header-mountains svg{height:40px}.header-contact-btn span{display:none}.header-contact-btn{padding:.4rem;border:none}.app-footer{flex-direction:column;gap:var(--spacing-sm)}}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--color-text-light)}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.mt-0{margin-top:0}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.kofi-button{display:inline-flex;align-items:center;gap:.4rem;background:transparent;border:none;cursor:pointer;font-family:inherit}.kofi-button-compact{padding:.35rem .65rem;font-size:.75rem;color:var(--color-text-light);border-radius:6px;background:transparent;border:1px solid transparent}.kofi-button-compact:hover{background:#0000000a;color:var(--color-text)}.kofi-button-compact:active{background:#0000000f}.kofi-button-text{font-weight:500}.kofi-icon-wrapper{display:inline-flex;color:#b45309;transition:transform .2s ease}.kofi-button-compact:hover .kofi-icon-wrapper{color:#92400e;transform:rotate(-12deg)}.kofi-button-full{padding:.75rem 1rem;background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 1px 3px #0000000a}.kofi-button-full:hover{border-color:#d97706;box-shadow:0 4px 12px #d9770626}.kofi-button-full .kofi-icon-wrapper{color:#d97706}.kofi-button-content{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.kofi-button-title{font-size:.875rem;font-weight:600;color:var(--color-text)}.kofi-button-subtitle{font-size:.7rem;color:var(--color-text-light)}@media(max-width:768px){.kofi-button-compact{padding:.3rem .5rem;font-size:.7rem}.kofi-button-full{padding:.6rem .875rem}.kofi-button-title{font-size:.8rem}}.contact-page{position:fixed;inset:0;z-index:10000;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-lg);overflow-y:auto}.contact-container{width:100%;max-width:520px;max-height:calc(100vh - 2 * var(--spacing-lg));overflow-y:auto}.contact-card{position:relative;background:var(--color-bg-pure);border-radius:12px;box-shadow:0 4px 24px #0003,0 0 0 1px #0000000d;overflow:hidden}.contact-close-btn{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:10;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--color-text-light);cursor:pointer;transition:all .2s ease}.contact-close-btn:hover{background:#0000000f;color:var(--color-text)}.contact-card-header{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:linear-gradient(to right,rgba(0,53,173,.04) 0%,transparent 100%)}.contact-title{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.contact-subtitle{font-size:.9rem;color:var(--color-text-light);margin:0}.contact-form{padding:var(--spacing-xl)}.contact-form .form-group{margin-bottom:var(--spacing-lg)}.contact-form .form-label{display:block;font-size:.8125rem;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs);letter-spacing:.01em}.contact-form .required{color:var(--sami-red)}.contact-form .form-input,.contact-form .form-select,.contact-form .form-textarea{width:100%;padding:.75rem 1rem;font-size:.9375rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text);transition:all .2s ease}.contact-form .form-input:focus,.contact-form .form-select:focus,.contact-form .form-textarea:focus{outline:none;border-color:var(--sami-blue);box-shadow:0 0 0 3px #0047ab1a;background:var(--color-bg-pure)}.contact-form .form-input::placeholder,.contact-form .form-textarea::placeholder{color:var(--color-text-light);opacity:.7}.contact-form .form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' 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 1rem center;padding-right:2.5rem}.contact-form .form-textarea{resize:vertical;min-height:140px;line-height:1.6}.char-count{text-align:right;font-size:.75rem;color:var(--color-text-light);margin-top:var(--spacing-xs)}.contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.btn-submit{width:100%;justify-content:center;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.spinner-small{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.contact-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:.875rem;margin-bottom:var(--spacing-md)}.contact-success{padding:var(--spacing-xl) var(--spacing-xl) calc(var(--spacing-xl) * 1.5);text-align:center}.contact-success svg{color:var(--color-success);margin-bottom:var(--spacing-md)}.contact-success h2{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.contact-success p{color:var(--color-text-light);margin:0 0 var(--spacing-xl) 0}.contact-footer-note{text-align:center;font-size:.75rem;color:var(--color-text-light);margin-top:var(--spacing-lg);padding:0 var(--spacing-md)}@media(max-width:640px){.contact-page{padding:var(--spacing-md)}.contact-container{padding:var(--spacing-md) 0}.contact-card-header,.contact-form{padding:var(--spacing-lg)}.contact-title{font-size:1.25rem}}.welcome-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a66;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:welcomeFadeIn .3s ease-out}.welcome-overlay.welcome-closing{animation:welcomeFadeOut .3s ease-in forwards}@keyframes welcomeFadeIn{0%{opacity:0}to{opacity:1}}@keyframes welcomeFadeOut{0%{opacity:1}to{opacity:0}}.welcome-modal{position:relative;width:100%;max-width:480px;background:linear-gradient(135deg,#fffffff2,#f8fafcfa);border:1px solid rgba(0,53,173,.1);border-radius:16px;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px #ffffff80 inset;padding:2rem 2rem 1.75rem;animation:welcomeSlideUp .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.welcome-closing .welcome-modal{animation:welcomeSlideDown .3s ease-in forwards}@keyframes welcomeSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes welcomeSlideDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)}}.welcome-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--sami-red) 0%,var(--sami-red) 25%,var(--sami-green) 25%,var(--sami-green) 40%,var(--sami-yellow) 40%,var(--sami-yellow) 55%,var(--sami-blue) 55%,var(--sami-blue) 100%);border-radius:16px 16px 0 0}.welcome-close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:8px;color:#94a3b8;cursor:pointer;transition:all .2s ease}.welcome-close:hover{background:#0035ad14;color:#0035ad}.welcome-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 1.25rem;background:linear-gradient(135deg,#e0e7ff,#dbeafe);border-radius:14px;color:#0035ad}.welcome-title{text-align:center;font-size:1.375rem;font-weight:600;color:#0f172a;margin:0 0 1.5rem;letter-spacing:-.02em}.welcome-body{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.75rem}.welcome-intro{text-align:center;font-size:.9375rem;font-style:italic;color:#64748b;margin:0;line-height:1.5}.welcome-description{font-size:.875rem;color:#334155;margin:0;line-height:1.65}.welcome-description strong{color:#0035ad;font-weight:600}.welcome-sources{font-size:.8125rem;color:#64748b;margin:0;line-height:1.6;padding:.75rem 1rem;background:#0035ad0a;border-radius:8px;border-left:3px solid rgba(0,53,173,.3)}.welcome-disclaimer{font-size:.8125rem;color:#475569;margin:0;line-height:1.6;text-align:center}.welcome-disclaimer strong{color:#0f172a}.welcome-footer{display:flex;flex-direction:column;align-items:center;gap:1rem}.welcome-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.welcome-checkbox:hover{color:#475569}.welcome-checkbox input{width:16px;height:16px;accent-color:#0035ad;cursor:pointer}.welcome-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:500;color:#fff;background:linear-gradient(135deg,#0047ab,#0035ad);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0035ad40}.welcome-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0035ad59}.welcome-button:active{transform:translateY(0)}@media(max-width:540px){.welcome-modal{padding:1.5rem 1.25rem;border-radius:12px}.welcome-modal:before{border-radius:12px 12px 0 0}.welcome-icon{width:48px;height:48px;margin-bottom:1rem}.welcome-icon svg{width:26px;height:26px}.welcome-title{font-size:1.25rem;margin-bottom:1.25rem}.welcome-body{gap:.875rem;margin-bottom:1.5rem}.welcome-intro{font-size:.875rem}.welcome-description,.welcome-sources,.welcome-disclaimer{font-size:.8125rem}.welcome-button{width:100%}}:root{--mobile-nav-height: 56px;--mobile-header-height: 56px;--tablet-breakpoint: 1024px;--mobile-breakpoint: 768px;--mobile-small-breakpoint: 480px}@media(max-width:1024px){.app-header{height:64px}.header-brand{left:100px}.app-title{font-size:1.3rem}.header-skier{display:none}.route-builder-3col{gap:10px;padding:10px}.route-builder-left{width:280px;min-width:280px}.route-builder-center{width:260px;min-width:260px}.elevation-profile{padding:10px 12px 8px}.elevation-chart{height:80px}.calendar-day{min-height:54px}.calendar-day-number{font-size:18px}}@media(max-width:768px){.app{height:100vh;height:100dvh}.app-header{height:var(--mobile-header-height);position:fixed;top:0;left:0;right:0;z-index:1000}.header-flag-container{height:100%}.sami-flag svg{height:100%}.header-flag-container:after{width:150px}.header-brand{left:75px}.app-title{font-size:1.1rem}.app-subtitle,.header-mountains,.header-skier{display:none}.app-main{margin-top:var(--mobile-header-height);margin-bottom:var(--mobile-nav-height);height:calc(100vh - var(--mobile-header-height) - var(--mobile-nav-height));height:calc(100dvh - var(--mobile-header-height) - var(--mobile-nav-height));overflow:hidden}.app-footer{display:none}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:#fff;border-top:1px solid var(--color-border);display:flex;align-items:stretch;justify-content:space-around;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0);box-shadow:0 -2px 10px #0000000d}.mobile-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:transparent;border:none;color:#64748b;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s ease;position:relative;padding:8px 4px}.mobile-nav-item svg{width:22px;height:22px;stroke-width:1.5}.mobile-nav-item-active{color:var(--sami-blue)}.mobile-nav-item-active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:32px;height:3px;background:var(--sami-blue);border-radius:0 0 3px 3px}.mobile-nav-badge{position:absolute;top:4px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 5px;background:var(--sami-red);color:#fff;font-size:9px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center}.route-builder-3col{flex-direction:column;padding:0;gap:0;height:100%;overflow:hidden;background:var(--color-bg)}.route-builder-left,.route-builder-center,.route-builder-right{display:none;width:100%!important;min-width:100%!important;max-width:100%!important;max-height:none!important;height:100%!important;border-radius:0;border:none;box-shadow:none}.route-builder-left.mobile-active,.route-builder-center.mobile-active,.route-builder-right.mobile-active{display:flex!important;flex-direction:column;height:100%!important;max-height:100%!important}.route-builder-left.mobile-active{background:#fff;display:flex!important;flex-direction:column;overflow:hidden}.route-builder-left .column-header{display:none}.route-builder-left.mobile-active .column-content{flex:1!important;min-height:0!important;max-height:none!important;display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:12px 12px 80px}.route-builder-left .column-content>.start-selector{flex:1;min-height:0;overflow:hidden}.route-builder-left .planning-actions{position:fixed;bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom,0));left:0;right:0;padding:10px 12px;background:#fff;border-top:1px solid var(--color-border);margin:0;z-index:100;flex-direction:row;gap:10px}.route-builder-left .planning-actions .btn{flex:1}.route-builder-center.mobile-active{background:#fff}.route-builder-center .column-header{display:none}.route-builder-center .column-content-itinerary{padding:12px}.expedition-header{flex-direction:column;align-items:flex-start;gap:8px}.expedition-summary{margin-bottom:10px}.expedition-stat-value{font-size:14px}.route-builder-right.mobile-active{background:transparent;gap:0}.route-builder-right.mobile-active .elevation-profile{position:absolute;bottom:0;left:0;right:0;z-index:500;border-radius:12px 12px 0 0;padding:10px 12px 8px;box-shadow:0 -4px 20px #0000001a;max-height:140px;transition:max-height .3s ease}.route-builder-right.mobile-active .elevation-profile.collapsed{max-height:40px;overflow:hidden}.elevation-profile-toggle{display:flex;position:absolute;top:8px;right:12px;width:24px;height:24px;align-items:center;justify-content:center;background:#f1f5f9;border:none;border-radius:50%;cursor:pointer;color:#64748b}.elevation-profile-toggle:hover{background:#e2e8f0}.route-builder-right.mobile-active .map-container{flex:1;border-radius:0;height:100%}.section-card{border-radius:10px;margin-bottom:12px}.parameters-card{padding:12px!important}.reachable-hut-card{padding:12px}.btn-rest-day{padding:12px 14px}.calendar-day{min-height:50px}.calendar-day-date{min-width:48px;padding:6px 8px}.calendar-day-number{font-size:18px}.calendar-day-hut-name{font-size:12px}.calendar-segment{padding:4px 0 4px 20px}.transport-block-header{padding:10px 14px}.distance-warning-overlay{padding:16px}.distance-warning-modal{width:100%;max-width:none;border-radius:16px;padding:20px}.distance-warning-actions{flex-direction:column-reverse}.distance-warning-actions .btn{width:100%}.closed-route-overlay{min-height:180px}.closed-route-content{padding:16px}.closed-route-icon{width:40px;height:40px}}@media(max-width:480px){.app-header{height:50px}.app-main{margin-top:50px;height:calc(100vh - 50px - var(--mobile-nav-height));height:calc(100dvh - 50px - var(--mobile-nav-height))}.header-brand{left:65px}.app-title{font-size:1rem}.header-flag-container:after{width:100px}.mobile-nav-item{font-size:9px}.mobile-nav-item svg{width:20px;height:20px}.expedition-summary{flex-wrap:wrap}.expedition-stat{flex:1 1 45%;padding:4px}.expedition-stat-divider{display:none}.expedition-date-picker{flex-direction:column;align-items:flex-start;gap:4px}.date-input{width:100%}.planning-actions{flex-direction:column!important}.calendar-day-date{min-width:42px}.calendar-day-weekday,.calendar-day-month{font-size:8px}.calendar-day-number{font-size:16px}.elevation-axis-y{min-width:28px}.elevation-tick-y span{font-size:8px}}@media(max-width:896px)and (orientation:landscape){.app-header{height:44px}.app-main{margin-top:44px}.mobile-nav{height:48px}.mobile-nav-item{flex-direction:row;gap:6px}.mobile-nav-item svg{width:18px;height:18px}.route-builder-3col{flex-direction:row}.route-builder-right.mobile-active{flex:2}.route-builder-left.mobile-active,.route-builder-center.mobile-active{flex:1;max-width:320px}}@media(hover:none)and (pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:38px}.btn-icon{min-width:44px;min-height:44px}.slider::-webkit-slider-thumb{width:24px;height:24px}.slider::-moz-range-thumb{width:24px;height:24px}.reachable-hut-card:active{transform:scale(.98);background:#f8fafc}.calendar-day:active{background:#f8fafc}.elevation-marker-tooltip{padding:10px 12px;font-size:13px}.calendar-day:hover{border-color:inherit;box-shadow:inherit}.calendar-day-delete{opacity:1}}@media(max-width:768px){.cesium-loader-content p{font-size:14px}.cesium-loader-hint{font-size:11px}.cesium-controls{bottom:calc(var(--mobile-nav-height) + 60px)!important;right:12px!important}.cesium-flight-panel{bottom:calc(var(--mobile-nav-height) + 10px)!important;left:12px!important;right:12px!important;max-width:none!important}.cesium-close-btn{top:12px!important;right:12px!important;width:44px!important;height:44px!important}}@supports (padding: env(safe-area-inset-bottom)){.mobile-nav{padding-bottom:env(safe-area-inset-bottom);height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.planning-actions{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))!important}}@media(max-width:768px){.start-selector{height:auto!important;min-height:200px!important;flex:1;display:flex;flex-direction:column;overflow:hidden}.start-selector-header{padding:12px 12px 10px;flex-shrink:0}.start-selector-search{margin:10px 12px;flex-shrink:0}.search-input{font-size:16px;padding:12px 40px 12px 44px}.start-selector-toggle{margin:0 12px 10px;padding:12px;flex-shrink:0}.start-selector-list{flex:1;min-height:100px!important;max-height:none!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.start-selector-item{padding:14px 12px;margin-bottom:8px}.load-itinerary{flex-shrink:0}.hut-card{border-radius:10px}.hut-header{padding:12px 14px 6px}.path-row{padding:12px 14px;min-height:48px}.path-tooltip{display:none!important}.path-add{opacity:1;color:#94a3b8}.path-row:active{background:#fef3c7}.path-row:active .path-add{color:#f59e0b}.load-itinerary{padding:12px}.load-itinerary-input{font-size:16px}.closed-route-actions{flex-direction:column;gap:10px}.closed-route-actions .btn{width:100%;justify-content:center}}@media print{.mobile-nav{display:none!important}.app-main{margin-top:0!important;margin-bottom:0!important}}@media(prefers-reduced-motion:reduce){.mobile-nav-item,.reachable-hut-card,.calendar-day,.elevation-profile{transition:none}}.mobile-nav-item:focus-visible{outline:2px solid var(--sami-blue);outline-offset:-2px}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
