.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,#667eea,#764ba2);color:white;z-index:9999;box-shadow:0 -4px 20px rgba(0,0,0,.15);animation:slideUp .5s ease-out}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.cookie-content{max-width:1200px;margin:0 auto;padding:20px}.cookie-header h3{margin:0 0 12px;font-size:1.25rem;font-weight:600}.cookie-header p{margin:0 0 20px;line-height:1.6;opacity:.95}.cookie-header a{color:#ffd700;text-decoration:underline;font-weight:500}.cookie-header a:hover{color:#fff}.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}.cookie-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:.9rem}.btn-reject,.cookie-actions button{font-weight:600;cursor:pointer;transition:all .3s ease}.btn-reject{background:rgba(255,255,255,.2);color:white;border:2px solid rgba(255,255,255,.3);padding:14px 24px;border-radius:8px;font-size:.95rem}.btn-reject:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5)}.btn-settings{background:rgba(255,255,255,.1);color:white;border:2px solid rgba(255,255,255,.2)}.btn-settings:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.4)}.cookie-manager-button{position:fixed;bottom:20px;right:20px;z-index:9998}.cookie-settings-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:white;border:none;padding:12px 20px;border-radius:25px;cursor:pointer;font-weight:600;box-shadow:0 4px 15px rgba(102,126,234,.4);transition:all .3s ease;font-size:.9rem}.cookie-settings-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(102,126,234,.6)}.cookie-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease-out}.cookie-settings-modal{background:white;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-settings-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb}.cookie-settings-header h2{margin:0;color:#1f2937;font-size:1.5rem}.close-btn{background:none;border:none;font-size:2rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:#f3f4f6;color:#374151}.cookie-settings-content{padding:24px}.cookie-type{margin-bottom:24px;padding:20px;border:1px solid #e5e7eb;border-radius:12px;background:#f9fafb;transition:all .2s ease}.cookie-type:hover{border-color:#d1d5db;background:#f3f4f6}.cookie-type:last-child{margin-bottom:0}.cookie-type-header{display:flex;align-items:flex-start;gap:16px}.cookie-checkbox{position:relative;display:inline-block;width:24px;height:24px;flex-shrink:0}.cookie-checkbox input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:24px;width:24px;background-color:#fff;border:2px solid #d1d5db;border-radius:6px;transition:all .2s ease}.cookie-checkbox:hover input~.checkmark{border-color:#9ca3af}.cookie-checkbox input:checked~.checkmark{background-color:#667eea;border-color:#667eea}.checkmark:after{content:"";position:absolute;display:none}.cookie-checkbox input:checked~.checkmark:after{display:block}.cookie-checkbox .checkmark:after{left:8px;top:4px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.cookie-checkbox input:disabled~.checkmark{background-color:#f3f4f6;border-color:#d1d5db;cursor:not-allowed}.cookie-type h4{margin:0 0 8px;color:#1f2937;font-size:1.1rem;font-weight:600}.cookie-type p{margin:0;color:#6b7280;line-height:1.5;font-size:.9rem}.cookie-settings-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px}.cookie-settings-footer button{padding:14px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem}.footer-right-buttons{display:flex;gap:12px;align-items:center}.btn-privacy{display:inline-flex;align-items:center;gap:6px;padding:12px 18px;background:#f3f4f6;color:#6b7280;text-decoration:none;border-radius:8px;font-weight:500;font-size:.9rem;transition:all .3s ease;border:1px solid #d1d5db}.btn-privacy:hover{background:#e5e7eb;color:#374151;border-color:#9ca3af;transform:translateY(-1px)}.btn-accept{background:#4CAF50;color:white;padding:14px 24px}.btn-accept:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px rgba(76,175,80,.4)}@media (max-width:768px){.cookie-content{padding:16px}.cookie-actions{flex-direction:column}.cookie-actions button{width:100%}.cookie-settings-modal{margin:20px;max-height:calc(100vh - 40px)}.cookie-settings-content,.cookie-settings-footer,.cookie-settings-header{padding:20px}.cookie-type{padding:16px}.cookie-settings-footer{flex-direction:column;gap:16px}.footer-right-buttons{flex-direction:column;width:100%}.btn-privacy,.cookie-settings-footer button{width:100%}}@media (max-width:480px){.cookie-header h3{font-size:1.1rem}.cookie-header p{font-size:.9rem}.cookie-settings-header h2{font-size:1.3rem}}.not-found-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);padding:2rem}.not-found-content{text-align:center;max-width:600px;width:100%}.not-found-icon{margin-bottom:2rem;color:var(--color-primary);display:flex;justify-content:center;align-items:center}.not-found-title{font-size:6rem;font-weight:700;color:var(--color-primary);margin:0 0 1rem;line-height:1}.not-found-subtitle{font-size:2rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem}.not-found-description{font-size:1.125rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:3rem;max-width:500px;margin-left:auto;margin-right:auto}.not-found-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:3rem;flex-wrap:wrap}.btn-primary,.btn-secondary{padding:.875rem 2rem;border-radius:.5rem;font-weight:600;font-size:1rem;text-decoration:none;border:none;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.not-found-suggestions{background:var(--color-bg-primary);border:1px solid var(--color-gray-200);border-radius:.75rem;padding:2rem;text-align:left}.not-found-suggestions h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1.5rem;text-align:center}.not-found-suggestions ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.not-found-suggestions li{margin:0}.suggestion-link{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:.5rem;text-decoration:none;color:var(--color-text-primary);font-weight:500;transition:all .3s ease}.suggestion-link:hover{background:var(--color-primary);color:var(--color-text-light);transform:translateY(-2px);box-shadow:0 4px 12px rgba(249,115,22,.2)}@media (max-width:768px){.not-found-container{padding:1rem}.not-found-title{font-size:4rem}.not-found-subtitle{font-size:1.5rem}.not-found-description{font-size:1rem;margin-bottom:2rem}.not-found-actions{flex-direction:column;align-items:center;margin-bottom:2rem}.btn-primary,.btn-secondary{width:100%;max-width:300px;justify-content:center}.not-found-suggestions{padding:1.5rem}.not-found-suggestions ul{grid-template-columns:1fr}}@media (max-width:480px){.not-found-title{font-size:3rem}.not-found-subtitle{font-size:1.25rem}.not-found-suggestions{padding:1rem}}.mapboxgl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{background-color:#fff;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-size:12px;height:auto;line-height:1.5;margin:2px;padding:5px 10px;width:auto}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f0f0f0}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4264fb;border-color:#4264fb;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#3151d9}.how-it-works-page{min-height:100vh;background:var(--color-bg-secondary)}.hero-how-it-works{margin-bottom:3rem;padding:5rem 0}.hero-text{text-align:left}.hero-title{font-size:3.5rem;color:var(--color-text-primary)}.hero-iframe{box-shadow:0 20px 40px rgba(0,0,0,.1)}.feature-buttons-section{margin-bottom:3rem}.feature-buttons{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.feature-button{display:flex;flex-direction:row;align-items:center;justify-content:space-evenly;gap:.5rem;padding:1.5rem;background:var(--color-bg-primary);border:1px solid #e0e0e0;border-radius:12px;transition:all .3s ease;cursor:pointer;min-width:190px}.feature-button:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.15)}.feature-icon{font-size:2rem}.feature-icon,.feature-icon svg{color:var(--color-primary)}.feature-button span{font-size:.875rem;font-weight:600;color:var(--color-text-primary);text-align:center}.route-generator-section{background-color:white;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem;max-width:87.5rem;margin-left:auto;margin-right:auto}.section-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.section-icon{font-size:2.5rem}.section-icon,.section-icon svg{color:var(--color-primary)}.section-title{font-size:1.5rem;margin:0}.section-subtitle{font-size:1.125rem;color:var(--color-text-primary);margin-bottom:1rem;font-weight:600}.section-description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:2rem;max-width:60rem}.features-list{display:flex;flex-direction:column;gap:1rem}.feature-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--color-gray-50);border-radius:8px;border-left:4px solid var(--color-primary)}.feature-item-icon{font-size:1.5rem;flex-shrink:0;margin-top:.25rem}.feature-item-icon,.feature-item-icon svg{color:var(--color-primary)}.feature-item-text{font-size:.95rem;color:var(--color-text-secondary);line-height:1.6}.gpx-section,.technology-section{background-color:white;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem;max-width:87.5rem;margin-left:auto;margin-right:auto}.steps-list{display:flex;flex-direction:column;gap:1rem}.step-item{align-items:flex-start;background:var(--color-gray-50);border-radius:8px;display:flex;gap:1rem;padding:1rem}.step-item>.step-number{width:2rem;height:2rem;background:var(--color-primary);color:var(--color-text-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;flex-shrink:0}.step-item>.step-text{font-size:.95rem;color:var(--color-text-secondary);line-height:1.6;padding-top:.25rem}.token-system-section{background-color:white;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem;max-width:87.5rem;margin-left:auto;margin-right:auto}.subsection{margin-top:2rem}.subsection-title{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);margin-bottom:1rem}.simple-list{list-style:none;padding:0;margin:1rem 0}.simple-list li{color:var(--color-text-secondary);line-height:1.6;position:relative;padding:.5rem 0 .5rem 1.5rem;font-size:.95rem}.simple-list li:before{content:"•";color:var(--color-primary);font-weight:700;position:absolute;left:0}.email-sync-section{background-color:white;border:1px solid #e0e0e0;border-radius:12px;padding:2rem;margin-bottom:2rem;max-width:87.5rem;margin-left:auto;margin-right:auto}.note-box{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;padding:1rem;margin-top:1.5rem;color:var(--color-text-secondary);line-height:1.6;font-size:.9rem}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:2.5rem}.hero-content,.hero-text{text-align:center}.hero-title{font-size:3rem}.feature-buttons{gap:1.5rem}.section-title{font-size:1.25rem}}@media (max-width:768px){.hero-how-it-works{margin-bottom:2rem}.hero-title{font-size:2.5rem}.feature-buttons{flex-direction:column;align-items:center}.feature-button{min-width:200px}.email-sync-section,.gpx-section,.route-generator-section,.technology-section,.token-system-section{margin-bottom:1.5rem;padding:1.5rem}.section-title{font-size:1.25rem}.section-subtitle{font-size:1rem}.section-description{font-size:.9rem}.feature-item{padding:.875rem}.feature-item-text{font-size:.9rem}.step-item{padding:.875rem}.step-text{font-size:.875rem}}@media (max-width:480px){.hero-title{font-size:2rem}.section-title{font-size:1.125rem}.feature-buttons{gap:1rem}.feature-button{min-width:160px;padding:1.25rem}.feature-item,.step-item{padding:.75rem}.email-sync-section,.gpx-section,.route-generator-section,.technology-section,.token-system-section{padding:1rem}}.how-to-upload{min-height:100vh!important;background-color:white!important;color:black!important;padding:5rem 0}.how-to-upload>.container{margin-bottom:3rem}.page-title{font-size:2rem!important;font-weight:700!important;text-align:center!important;margin-bottom:2rem!important;color:black!important}.legal-disclaimer{background-color:#fef9e7;border:1px solid #f39c12;border-radius:8px;padding:1rem;margin-bottom:3rem}.disclaimer-title{font-size:1.125rem!important;font-weight:700!important;margin-bottom:1rem!important;color:black!important}.disclaimer-text{font-size:.95rem!important;line-height:1.6!important;color:black!important;margin:0!important}.upload-section{background-color:white;border:1px solid #e0e0e0;border-radius:12px;padding:2rem}.section-title{font-size:1.5rem!important;font-weight:700!important;margin-bottom:2rem!important;color:black!important}.step{margin-bottom:2.5rem!important}.step-title{font-size:1.125rem!important;font-weight:700!important}.step-text,.step-title{margin-bottom:1rem!important;color:black!important}.step-text{font-size:.95rem!important;line-height:1.6!important}.step-note{font-size:.9rem!important;color:#666!important;font-style:italic!important;margin-top:.5rem!important}.step-list{margin:1rem 0!important;padding-left:2rem!important}.step-list li{font-size:.9rem!important;margin-bottom:.5rem!important;line-height:1.5!important;color:black!important}@media (max-width:768px){.page-title{font-size:2rem}.section-title{font-size:1.5rem}.step-title{font-size:1.2rem}.legal-disclaimer{padding:.75rem}}.home{min-height:100vh}.hero-section{background:var(--color-bg-primary);color:var(--color-text-primary);padding:5rem 0}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-text{text-align:center}.hero-title{font-size:3rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2}.hero-description{font-size:1.25rem;margin-bottom:2rem;opacity:.9;line-height:1.6}.hero-buttons{display:flex;flex-direction:row;gap:1rem;justify-content:center}.btn-primary{background:var(--color-primary);color:var(--color-text-light);padding:1rem 2rem;border-radius:.5rem;font-size:1.125rem;text-align:center}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 8px 25px rgba(249,115,22,.3)}.btn-secondary{color:var(--color-gray-800);padding:1rem 2rem;border:2px solid var(--color-gray-800);border-radius:.5rem;font-size:1.125rem;transition:all .3s ease;text-align:center}.btn-secondary:hover{background:var(--color-gray-800);color:var(--color-bg-primary);transform:translateY(-2px)}.hero-video{display:flex;justify-content:center}.hero-iframe{border-radius:.75rem;box-shadow:0 20px 40px rgba(0,0,0,.3);width:100%;max-width:32rem;height:auto;-o-object-fit:cover;object-fit:cover;animation-play-state:running}.hero-iframe[src*=".gif"]{animation-play-state:running!important;will-change:transform;transform:translateZ(0)}.how-it-works-section{background:var(--color-gray-50);padding:5rem 0}.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-bottom:4rem}.step-card{text-align:center;background:var(--color-bg-primary);padding:2.5rem;border-radius:1rem;box-shadow:0 8px 25px rgba(0,0,0,.1);transition:transform .3s ease}.step-card>.step-number{text-align:center;width:2.5rem;height:2.5rem;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);color:var(--color-text-light);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;margin:0 auto 1.5rem}.step-card:hover{transform:translateY(-8px)}.step-title{font-size:1.5rem;font-weight:600;margin-bottom:1rem;color:var(--color-text-primary)}.step-description{font-size:1rem;line-height:1.6;color:var(--color-text-secondary)}.cta-container{text-align:center}.learn-more-section{background:var(--color-bg-primary);padding:5rem 0;text-align:center}.video-container{display:flex;justify-content:center;margin-top:2.5rem}.learn-iframe{border-radius:.75rem;box-shadow:0 20px 40px rgba(0,0,0,.1);width:100%;max-width:32rem}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;gap:2.5rem}.hero-content,.hero-text{text-align:center}.hero-buttons{justify-content:center}}@media (max-width:768px){.hero-section{padding:3rem 0}.hero-title{font-size:2.5rem}.hero-description{font-size:1.125rem}.hero-buttons{flex-direction:column;align-items:center}.steps-grid{grid-template-columns:1fr;gap:1.875rem}.step-card{padding:2rem}.how-it-works-section,.learn-more-section{padding:3rem 0}}@media (max-width:480px){.hero-title{font-size:2rem}.step-card{padding:1.5rem}.btn-primary,.btn-secondary{padding:.875rem 1.5rem;font-size:1rem}}.youtube-placeholder{border-radius:.75rem;box-shadow:0 20px 40px rgba(0,0,0,.3);width:100%;max-width:32rem;height:354px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.youtube-loading{text-align:center;color:var(--color-gray-600)}.youtube-loading p{font-size:.875rem;font-weight:500}.privacy-policy{min-height:calc(100vh - 80px);background:var(--color-bg-secondary);padding:40px 20px;display:flex;flex-direction:column}.privacy-container{max-width:87.5rem;margin:0 auto;background:var(--color-bg-primary);border-radius:16px;padding:40px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.privacy-container h1{color:var(--color-text-primary);font-size:2.5rem;font-weight:700;margin-bottom:8px;text-align:center}.privacy-container section{margin-bottom:32px}.privacy-container section:last-child{margin-bottom:0}.privacy-container h2{color:var(--color-primary);font-size:1.5rem;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}.privacy-container h3{color:var(--color-text-primary);font-size:1.2rem;font-weight:600;margin:20px 0 12px}.privacy-container p{color:var(--color-text-primary);line-height:1.7;margin-bottom:16px;font-size:1rem}.privacy-container ul{margin:16px 0;padding-left:24px}.privacy-container li{color:var(--color-text-primary);line-height:1.6;margin-bottom:8px;font-size:1rem}.privacy-container strong{color:var(--color-primary);font-weight:600}.privacy-container a{color:var(--color-primary);text-decoration:underline;font-weight:500;transition:color .2s ease}.privacy-container a:hover{color:var(--color-primary-dark)}@media (max-width:768px){.privacy-policy{padding:20px 16px}.privacy-container{padding:24px;margin:0 16px}.privacy-container h1{font-size:2rem}.privacy-container h2{font-size:1.3rem}.privacy-container h3{font-size:1.1rem}}@media (max-width:480px){.privacy-container{padding:20px}.privacy-container h1{font-size:1.8rem}.privacy-container h2{font-size:1.2rem}.privacy-container h3{font-size:1rem}.privacy-container li,.privacy-container p{font-size:.95rem}}.terms-of-use{min-height:calc(100vh - 80px);background:var(--color-bg-secondary);padding:40px 20px;display:flex;flex-direction:column}.terms-container{max-width:87.5rem;margin:0 auto;background:var(--color-bg-primary);border-radius:16px;padding:40px;box-shadow:0 4px 20px rgba(0,0,0,.1)}.terms-container h1{color:var(--color-text-primary);font-size:2.5rem;font-weight:700;margin-bottom:8px;text-align:center}.last-updated{text-align:center;color:var(--color-text-secondary);font-size:.9rem;margin-bottom:40px;font-style:italic}.terms-container section{margin-bottom:32px}.terms-container section:last-child{margin-bottom:0}.terms-container h2{color:var(--color-primary);font-size:1.5rem;font-weight:600;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}.terms-container p{color:var(--color-text-primary);line-height:1.7;margin-bottom:16px;font-size:1rem}.terms-container ul{margin:16px 0;padding-left:24px}.terms-container li{color:var(--color-text-primary);line-height:1.6;margin-bottom:8px;font-size:1rem}.terms-container strong{color:var(--color-primary);font-weight:600}.terms-container a{color:var(--color-primary);text-decoration:underline;font-weight:500;transition:color .2s ease}.terms-container a:hover{color:var(--color-primary-dark)}.contact-info{background:var(--color-bg-secondary);padding:20px;border-radius:12px;border-left:4px solid var(--color-primary);margin-top:16px}.contact-info p{margin-bottom:8px}.contact-info p:last-child{margin-bottom:0}.terms-footer{background:linear-gradient(135deg,#667eea,#764ba2);color:white;padding:24px;border-radius:12px;margin-top:32px;text-align:center}.terms-footer p{margin:0;font-size:1.1rem;line-height:1.6}.terms-footer strong{color:white}@media (max-width:768px){.terms-of-use{padding:20px 16px}.terms-container{padding:24px;margin:0 16px}.terms-container h1{font-size:2rem}.terms-container h2{font-size:1.3rem}}@media (max-width:480px){.terms-container{padding:20px}.terms-container h1{font-size:1.8rem}.terms-container h2{font-size:1.2rem}.terms-container li,.terms-container p{font-size:.95rem}.terms-footer{padding:20px}.terms-footer p{font-size:1rem}}.inactive-user-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.7);display:flex;justify-content:center;align-items:center;z-index:1000;backdrop-filter:blur(5px)}.inactive-user-modal{background:white;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}.inactive-user-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:1px solid #e5e7eb}.inactive-user-modal-header h2{margin:0;color:#dc2626;font-size:1.5rem;font-weight:600}.inactive-user-modal-close{background:none;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;border-radius:4px;transition:all .2s}.inactive-user-modal-close:hover{background-color:#f3f4f6;color:#374151}.inactive-user-modal-content{padding:24px}.inactive-user-modal-icon{text-align:center;margin-bottom:20px}.inactive-user-modal-icon span{font-size:4rem;display:block}.inactive-user-modal-content h3{margin:0 0 16px;color:#1f2937;font-size:1.25rem;font-weight:600;text-align:center}.inactive-user-modal-content p{margin:0 0 16px;color:#4b5563;line-height:1.6;text-align:center}.inactive-user-modal-content ul{margin:0 0 20px;padding-left:20px;color:#4b5563;line-height:1.6}.inactive-user-modal-content li{margin-bottom:8px}.inactive-user-modal-contact{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:20px;margin:20px 0;text-align:center}.inactive-user-modal-contact p{margin:0 0 12px;color:#991b1b;font-weight:500}.inactive-user-modal-email{display:inline-block;background-color:#dc2626;color:white;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:500;transition:all .2s;margin-top:8px}.inactive-user-modal-email:hover{background-color:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px rgba(220,38,38,.3)}.inactive-user-modal-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.inactive-user-modal-button{background-color:#6b7280;color:white;border:none;padding:12px 32px;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.inactive-user-modal-button:hover{background-color:#4b5563;transform:translateY(-1px);box-shadow:0 4px 12px rgba(107,114,128,.3)}@media (max-width:640px){.inactive-user-modal{width:95%;margin:20px}.inactive-user-modal-content,.inactive-user-modal-header{padding:20px}.inactive-user-modal-icon span{font-size:3rem}.inactive-user-modal-header h2{font-size:1.25rem}.inactive-user-modal-content h3{font-size:1.125rem}}.footer{background:var(--color-bg-primary);border-top:1px solid var(--color-gray-200);color:var(--color-gray-700);padding:1.5rem 0;margin-top:auto}.footer-content{display:flex;flex-direction:column;gap:.5rem;text-align:center;align-items:center;flex-wrap:wrap;justify-content:space-between}.footer-built{gap:8px}.footer-built,.footer-contact{color:var(--color-text-secondary);font-size:.875rem;display:flex;align-items:center;flex-wrap:wrap}.footer-contact{gap:.5rem;justify-content:center}.footer-contact:hover .envelope-icon{color:var(--color-primary-dark)}.footer-link{color:var(--color-primary-light);text-decoration:none;font-weight:600;margin-left:.25rem;transition:color .3s ease;padding:4px 0}.footer-link:hover{color:var(--color-primary);text-decoration:underline}.heart-icon{color:#ef4444;margin:0 .25rem;animation:heartbeat 2s ease-in-out infinite}.envelope-icon{width:1rem;height:1rem;transition:color .3s ease;color:var(--color-primary-light)}.footer-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.9rem}.footer-separator{color:var(--color-text-secondary);font-weight:700}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center;gap:20px}.footer-built,.footer-contact,.footer-links{justify-content:center}.footer-links{order:2}.footer-built{order:1}.footer-contact{order:3}}@media (max-width:480px){.footer{padding:24px 0}.footer-content{gap:16px}.footer-built,.footer-contact,.footer-link{font-size:.9rem}.footer-links{gap:12px}}.header{background:white;box-shadow:0 2px 10px rgba(0,0,0,.1);position:sticky;top:0;z-index:1000}.loading-spinner{border-top:3px solid var(--color-gray-300);border:3px solid var(--color-gray-300);border-top-color:var(--color-primary);margin:0 auto 1rem}.header-content{justify-content:space-between;padding:16px 0}.header-content,.logo{display:flex;align-items:center}.logo{text-decoration:none}.logo-image{height:40px;width:auto}.nav{display:flex;align-items:center;gap:24px}.nav-link{text-decoration:none;color:#333;font-weight:500;transition:color .2s ease;padding:8px 12px;border-radius:6px}.nav-link:hover{color:#ff6b35;background:#f8f9fa}.btn-create-route{background:#ff6b35;color:white;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;transition:all .3s ease}.btn-create-route:hover{background:#e55a2b;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn-login{background:#6c757d;color:white;text-decoration:none;padding:10px 20px;border-radius:6px;font-weight:500;transition:background-color .2s ease;border:none;cursor:pointer;font-family:inherit;font-size:inherit}.btn-login:hover{background:#5a6268}.nav>.user-info{display:flex;align-items:center;gap:16px;flex-direction:row}.header-content>.nav>.user-info>.credits-display{background:#e8f5e8;color:#2d5a2d;padding:6px 12px;text-decoration:none;transition:all .2s ease;border-radius:20px;font-size:.85rem;font-weight:600;border:1px solid #c3e6c3;margin-bottom:0}.header-content>.nav>.user-info>.credits-display:hover{background:#d4edda;color:#1e4a1e;transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,.1)}.user-menu{position:relative;display:flex;align-items:center}.user-name{font-weight:500;cursor:pointer;padding:8px 12px;border-radius:6px;transition:background-color .2s ease}.user-name:hover{background:#f8f9fa}.user-dropdown{position:absolute;top:100%;right:0;background:white;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:150px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s ease;z-index:1000;min-width:20rem}.user-menu:hover .user-dropdown{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:12px 16px;color:#333;text-decoration:none;border-bottom:1px solid #f8f9fa;transition:background-color .2s ease;font-size:.9rem}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#f8f9fa}.dropdown-item[href="/admin"]{color:#ff6b35;font-weight:600}.dropdown-item[href="/admin"]:hover{background:#fff5f2;color:#e55a2b}.logout-btn{background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:.9rem}.logout-btn:hover{background:#f8f9fa}@media (max-width:768px){.nav{gap:16px}.nav-link{padding:6px 8px;font-size:.9rem}.btn-create-route,.btn-login{padding:8px 16px;font-size:.9rem}.user-info{gap:12px}.header-content>.nav>.user-info>.credits-display{font-size:.8rem;padding:4px 8px}.user-name{font-size:.9rem;padding:6px 8px}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-top-3{top:-.75rem}.left-1\/2{left:50%}.z-50{z-index:50}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.h-10{height:2.5rem}.h-12{height:3rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-7xl{max-width:80rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.translate-x-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x:0px}.translate-x-5{--tw-translate-x:1.25rem}.transform,.translate-x-5{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-none{border-style:none}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-purple-200{--tw-border-opacity:1;border-color:rgb(233 213 255/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-300{--tw-border-opacity:1;border-color:rgb(253 224 71/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-600{--tw-bg-opacity:1;background-color:rgb(234 88 12/var(--tw-bg-opacity,1))}.bg-purple-50{--tw-bg-opacity:1;background-color:rgb(250 245 255/var(--tw-bg-opacity,1))}.bg-purple-600{--tw-bg-opacity:1;background-color:rgb(147 51 234/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-opacity-50{--tw-bg-opacity:0.5}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgb(59 130 246/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-50{--tw-gradient-from:#fefce8 var(--tw-gradient-from-position);--tw-gradient-to:rgb(254 252 232/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgb(234 179 8/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.to-orange-50{--tw-gradient-to:#fff7ed var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-blue-900{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-purple-600{--tw-text-opacity:1;color:rgb(147 51 234/var(--tw-text-opacity,1))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0/0.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--color-primary:#f97316;--color-primary-dark:#ea580c;--color-primary-light:#fb923c;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-bg-primary:#ffffff;--color-bg-secondary:#f9fafb;--color-bg-dark:#1f2937;--color-text-primary:#111827;--color-text-secondary:#6b7280;--color-text-light:#ffffff;--color-text-orange:#f97316;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--color-primary-foreground:#ffffff;--color-accent:#f3f4f6;--color-accent-foreground:#111827;--color-ring:#f97316;--color-input:#e5e7eb}*{margin:0;padding:0;box-sizing:border-box}*,body{-webkit-overflow-scrolling:touch}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;background-color:var(--color-bg-secondary);touch-action:manipulation}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{max-width:87.5rem;margin:0 auto;padding:0 1.25rem}.section{padding:5rem 0}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center;color:var(--color-text-primary)}.section-subtitle{font-size:1.25rem;color:var(--color-text-secondary);text-align:center;margin-bottom:3rem;max-width:42rem;margin-left:auto;margin-right:auto}.text-primary{color:var(--color-text-orange)}@media (max-width:768px){.container{padding:0 1rem}.section{padding:3.75rem 0}.section-title{font-size:2rem}.section-subtitle{font-size:1.1rem}}canvas,iframe,video{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}[role=button],a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-orange-700:hover{--tw-bg-opacity:1;background-color:rgb(194 65 12/var(--tw-bg-opacity,1))}.hover\:bg-purple-700:hover{--tw-bg-opacity:1;background-color:rgb(126 34 206/var(--tw-bg-opacity,1))}.hover\:from-yellow-600:hover{--tw-gradient-from:#ca8a04 var(--tw-gradient-from-position);--tw-gradient-to:rgb(202 138 4/0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.hover\:to-orange-600:hover{--tw-gradient-to:#ea580c var(--tw-gradient-to-position)}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:px-8{padding-left:2rem;padding-right:2rem}}.toast{position:fixed;top:20px;right:20px;z-index:9999;min-width:300px;max-width:400px;background:white;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);border-left:4px solid #007bff;transform:translateX(100%);opacity:0;transition:all .3s ease}.toast.show{transform:translateX(0);opacity:1}.toast.hide{transform:translateX(100%);opacity:0}.toast-content{display:flex;align-items:center;justify-content:space-between;padding:16px 20px}.toast-message{flex:1;color:#333;font-size:14px;line-height:1.4}.toast-close{background:none;border:none;color:#999;font-size:20px;cursor:pointer;padding:0;margin-left:12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.toast-close:hover{background:#f5f5f5;color:#666}.toast.success{border-left-color:#28a745}.toast.success .toast-message{color:#155724}.toast.error{border-left-color:#dc3545}.toast.error .toast-message{color:#721c24}.toast.warning{border-left-color:#ffc107}.toast.warning .toast-message{color:#856404}.toast.info{border-left-color:#17a2b8}.toast.info .toast-message{color:#0c5460}@media (max-width:768px){.toast{top:10px;right:10px;left:10px;min-width:auto;max-width:none}.toast-content{padding:12px 16px}.toast-message{font-size:13px}}.toast-container{position:fixed;top:0;right:0;z-index:9999;pointer-events:none}.toast-container .toast{pointer-events:auto;margin:20px}.buy-credits-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;font-family:inherit;line-height:1;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.buy-credits-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.buy-credits-btn:not(:disabled):hover{transform:translateY(-1px)}.buy-credits-btn:not(:disabled):active{transform:translateY(0)}.btn-small{padding:8px 16px;font-size:.85rem;min-height:36px}.btn-medium{padding:12px 24px;font-size:1rem;min-height:44px}.btn-large{padding:16px 32px;font-size:1.125rem;min-height:52px}.btn-primary{background:linear-gradient(135deg,#f97316,#ea580c);transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 4px rgba(249,115,22,.2)}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c);transform:translateY(-1px);box-shadow:0 4px 12px rgba(249,115,22,.3)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px rgba(249,115,22,.2)}.btn-primary:disabled{background:#9ca3af;transform:none;box-shadow:none}.btn-secondary{background:transparent;color:#6b7280;border:2px solid #d1d5db;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;color:#374151;transform:translateY(-1px)}.btn-secondary:active:not(:disabled){transform:translateY(0)}.btn-secondary:disabled{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb;cursor:not-allowed;transform:none}.btn-primary:focus,.btn-secondary:focus{outline:none;box-shadow:0 0 0 3px rgba(249,115,22,.1)}.btn-secondary:focus{box-shadow:0 0 0 3px rgba(107,114,128,.1)}@media (max-width:768px){.btn-small{padding:6px 12px;font-size:.8rem;min-height:32px}.btn-medium{padding:10px 20px;font-size:.95rem;min-height:40px}.btn-large{padding:14px 28px;font-size:1rem;min-height:48px}}.buy-credits-btn.btn-primary{position:relative;overflow:hidden}.buy-credits-btn.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.buy-credits-btn.btn-primary:hover:before{left:100%}.buy-credits-btn .icon{margin-right:8px;width:16px;height:16px}.btn-small .icon{width:14px;height:14px}.btn-large .icon{width:18px;height:18px}.buy-credits-btn.loading{position:relative;color:transparent}.buy-credits-btn.loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}.create-route{padding:24px;background:var(--color-bg-secondary);min-height:calc(100vh - 80px);display:flex;justify-content:center}.route-builder{display:grid;grid-template-columns:minmax(400px,800px) 400px;grid-template-rows:auto auto;gap:24px;height:auto;min-height:calc(100vh - 120px);width:100%;max-width:1200px}.map-container{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);overflow:hidden;position:relative;height:600px;grid-column:1;grid-row:1}.map-canvas{width:100%;height:100%}.controls-panel{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:24px;overflow-y:visible;grid-column:2;grid-row:1/3;height:-moz-fit-content;height:fit-content}.control-section{margin-bottom:32px}.control-section:last-child{margin-bottom:0}.control-section h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-primary)}.shape-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.shape-btn{padding:12px;border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.shape-btn.active,.shape-btn:hover{background:var(--color-primary);color:var(--color-text-light)}.draw-controls{display:flex;gap:12px;margin-bottom:16px}.draw-btn{flex:1;padding:12px;border:2px solid var(--color-primary);background:transparent;color:var(--color-primary);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.draw-btn.active,.draw-btn:hover{background:var(--color-primary);color:var(--color-text-light)}.clear-btn{padding:12px 24px;border:2px solid var(--color-error);background:transparent;color:var(--color-error);border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.clear-btn:hover{background:var(--color-error);color:var(--color-text-light)}.search-container{margin-bottom:16px}.search-input{width:100%;padding:12px;border:2px solid var(--color-gray-300);border-radius:8px;font-size:1rem;margin-bottom:12px;transition:border-color .3s ease}.search-input:focus{outline:none;border-color:var(--color-primary)}.search-btn{width:100%;padding:12px;background:var(--color-primary);color:var(--color-text-light);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .3s ease}.search-btn:hover{background:var(--color-primary-dark)}.search-btn:disabled{background:var(--color-gray-400);cursor:not-allowed}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width:768px){.stats-grid{grid-template-columns:1fr}}.stat-item{background:var(--color-bg-secondary);padding:16px;border-radius:8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.stat-icon{width:24px;height:24px;margin-bottom:4px}.stat-icon,.stat-item .relative svg{color:var(--color-primary)}.stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text-primary)}.stat-label,.stat-value{display:block;line-height:1}.stat-label{font-size:.75rem;color:var(--color-text-secondary);font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:16px}.date-input,.text-input,.time-input{width:100%;padding:12px;border:2px solid var(--color-gray-300);border-radius:8px;font-size:1rem;background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .3s ease}.date-input:focus,.text-input:focus,.time-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.text-input::-moz-placeholder{color:var(--color-gray-500)}.text-input::placeholder{color:var(--color-gray-500)}.textarea-input{width:100%;padding:12px;border:2px solid var(--color-gray-300);border-radius:8px;font-size:1rem;background:var(--color-bg-primary);color:var(--color-text-primary);transition:all .3s ease;resize:vertical;min-height:80px;font-family:inherit}.textarea-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(255,107,53,.1)}.textarea-input::-moz-placeholder{color:var(--color-gray-500)}.textarea-input::placeholder{color:var(--color-gray-500)}.form-group label{color:var(--color-text-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:2px solid var(--color-gray-300);border-radius:8px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary)}.form-group textarea{resize:vertical;min-height:80px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer}.checkbox-label input[type=checkbox]{width:auto;margin:0}.download-btn{width:100%;padding:16px;background:var(--color-primary);color:var(--color-text-light);border:none;border-radius:8px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:background-color .3s ease}.download-btn:hover{background:var(--color-primary-dark)}.download-btn:disabled{background:var(--color-gray-400);cursor:not-allowed}@media (max-width:1024px){.route-builder{grid-template-columns:1fr;height:auto}.map-container{height:400px}.controls-panel{max-height:none}}@media (max-width:768px){.create-route{padding:16px}.route-builder{gap:16px}.map-container{height:300px}.controls-panel{padding:16px}.form-row,.stats-grid{grid-template-columns:1fr}}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:10px}.search-status{background:#e3f2fd;border:1px solid #2196f3;border-radius:6px;color:#1976d2;gap:8px}.search-result,.search-status{margin-top:12px;padding:8px 12px;font-size:.875rem;display:flex;align-items:center}.search-result{background:#e8f5e8;border:1px solid #4caf50;border-radius:6px;color:#2e7d32;justify-content:space-between}.clear-search-btn{background:none;border:none;color:#4caf50;cursor:pointer;font-size:1rem;padding:2px 6px;border-radius:4px;transition:all .2s ease}.clear-search-btn:hover{background:#4caf50;color:white}.range-input{width:100%;height:6px;border-radius:3px;background:#e0e0e0;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:10px 0}.range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,.2)}.range-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,.2)}.range-value{text-align:center;font-weight:600;color:var(--color-primary);font-size:.875rem;margin-top:5px}.pace-variation-info{text-align:center;margin-top:8px;padding:8px;background:var(--color-bg-secondary);border-radius:6px;border-left:3px solid var(--color-primary)}.pace-variation-info small{color:var(--color-text-secondary);font-size:.8rem;line-height:1.4}.heart-rate-config{margin-top:16px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.heart-rate-config .form-row{margin-bottom:0}.floating-search{position:absolute;top:16px;left:16px;right:64px;z-index:10}.search-card{background:var(--color-bg-primary);border:1px solid var(--color-gray-300);border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:8px}.search-form{display:flex;gap:8px;align-items:center}.search-input-container{position:relative;flex:1}.search-input-field{width:100%;height:40px;border:1px solid var(--color-gray-300);border-radius:6px;background:var(--color-bg-primary);padding:8px 12px;font-size:14px;outline:none;transition:all .2s ease}.search-input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(255,107,53,.2)}.search-input-field::-moz-placeholder{color:var(--color-gray-500)}.search-input-field::placeholder{color:var(--color-gray-500)}.search-button{display:inline-flex;align-items:center;justify-content:center;height:40px;width:40px;background:var(--color-primary);color:white;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.search-button:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px)}.search-button:disabled{opacity:.6;cursor:not-allowed}.search-icon{width:16px;height:16px}.clear-search-button{display:inline-flex;align-items:center;justify-content:center;height:40px;width:40px;background:#dc3545;color:white;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.clear-search-button:hover{background:#c82333;transform:translateY(-1px)}.clear-icon{width:16px;height:16px}@media (max-width:768px){.floating-search{top:8px;left:8px;right:8px}.search-card{padding:6px}.search-form{gap:6px}.clear-search-button,.search-button{height:36px;width:36px}.search-input-field{height:36px;font-size:13px}}.floating-align-button{position:absolute;bottom:16px;left:16px;z-index:10}.align-route-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 16px;background:var(--color-primary);color:white;border:none;border-radius:24px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:14px;font-weight:500;white-space:nowrap}.align-route-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.align-route-btn:disabled{background:var(--color-gray-400);cursor:not-allowed;transform:none;box-shadow:0 2px 8px rgba(0,0,0,.1)}.align-route-btn:disabled .align-icon{opacity:.5}.align-route-btn:disabled .align-text{opacity:.7}.align-icon{width:20px;height:20px;transition:all .3s ease;flex-shrink:0}.align-text{font-size:14px;font-weight:500;line-height:1}@media (max-width:768px){.floating-align-button{bottom:12px;left:12px}.align-route-btn{height:40px;padding:0 12px;font-size:12px}.align-icon{width:16px;height:16px}.align-text{font-size:12px}}.charts-dashboard{background:var(--color-bg-primary);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);padding:24px;grid-column:1;grid-row:2}.charts-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:24px;text-align:center;color:var(--color-primary)}.chart-panel{background:white;border-radius:8px;padding:20px 20px 30px;margin-bottom:24px;box-shadow:0 2px 4px rgba(0,0,0,.05);border:1px solid var(--color-gray-200);overflow:visible}.chart-panel .recharts-wrapper{margin:0;padding:0;overflow:visible}.chart-panel:last-child{margin-bottom:0}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-gray-200)}.chart-title{font-size:1.125rem;font-weight:600;color:var(--color-primary);margin:0}.chart-average,.chart-total{font-size:.875rem;font-weight:500;color:var(--color-gray-600);background:var(--color-gray-100);padding:4px 8px;border-radius:4px}.recharts-wrapper{margin:0;padding:0}.recharts-cartesian-axis-tick-value{font-size:12px!important;fill:var(--color-text-secondary)!important}.recharts-cartesian-axis-label{font-size:14px!important;font-weight:600!important;fill:var(--color-text-primary)!important}.recharts-cartesian-axis-label[data-cy=xAxis-label]{dominant-baseline:hanging!important}.recharts-cartesian-axis-label{dominant-baseline:auto!important;text-anchor:middle!important}.recharts-xAxis .recharts-cartesian-axis-label{dominant-baseline:hanging!important;text-anchor:middle!important}.recharts-yAxis .recharts-cartesian-axis-label{dominant-baseline:auto!important;text-anchor:end!important}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-gray-200)!important;stroke-opacity:.5!important}.recharts-line-curve{stroke-width:2!important}.recharts-tooltip-wrapper{background:white!important;border:1px solid var(--color-gray-200)!important;border-radius:8px!important;box-shadow:0 4px 12px rgba(0,0,0,.15)!important}@media (max-width:1024px){.route-builder{grid-template-columns:1fr;grid-template-rows:auto auto auto;max-width:800px}.map-container{grid-column:1;grid-row:1}.charts-dashboard{grid-column:1;grid-row:2;padding:16px}.controls-panel{grid-column:1;grid-row:3;height:-moz-fit-content;height:fit-content}.chart-panel{padding:16px}.chart-header{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:768px){.route-builder{padding:16px;gap:16px;max-width:100%}.charts-dashboard{padding:12px}.charts-title{font-size:1.25rem;margin-bottom:16px}.chart-panel{padding:12px;margin-bottom:16px}.chart-title{font-size:1rem}.chart-average,.chart-total{font-size:.75rem}}.custom-slider{position:relative;width:100%;height:20px;display:flex;align-items:center}.custom-slider .range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;background:var(--color-gray-200);outline:none;position:relative}.custom-slider .range-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-primary);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.1);-webkit-transition:all .2s ease;transition:all .2s ease}.custom-slider .range-input::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,.15)}.custom-slider .range-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);border:2px solid var(--color-primary);cursor:pointer;box-shadow:0 2px 4px rgba(0,0,0,.1);-moz-transition:all .2s ease;transition:all .2s ease}.custom-slider .range-input::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 4px 8px rgba(0,0,0,.15)}.custom-slider .range-input::-webkit-slider-track{height:8px;border-radius:4px;background:var(--color-gray-200)}.custom-slider .range-input::-moz-range-track{height:8px;border-radius:4px;background:var(--color-gray-200)}.space-y-2>*+*{margin-top:.5rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.text-muted-foreground{color:var(--color-gray-500)}.bg-background{background-color:var(--color-bg-primary)}.border-input{border-color:var(--color-gray-300)}.ring-ring{--tw-ring-color:var(--color-primary)}.ring-offset-background{--tw-ring-offset-color:var(--color-bg-primary)}.hover\:bg-accent:hover{background-color:var(--color-gray-100)}.hover\:text-accent-foreground:hover{color:var(--color-text-primary)}.hover\:bg-primary\/90:hover{background-color:var(--color-primary-dark)}.peer[aria-checked=true]{background-color:var(--color-primary)}.peer[aria-checked=false]{background-color:var(--color-gray-300)}@media (max-width:768px){.custom-slider .range-input::-webkit-slider-thumb{width:18px;height:18px}.custom-slider .range-input::-moz-range-thumb{width:18px;height:18px}}.btn-download-gpx{background:#ff6b35;color:white;text-decoration:none;padding:12px 24px;border-radius:8px;font-weight:600;transition:all .3s ease;border:none;cursor:pointer;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-download-gpx:hover{background:#e55a2b;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn-login-required{background:#6b7280;color:#ffffff;border:2px solid #d1d5db;cursor:not-allowed}.btn-login-required:hover{background:#6b7280;transform:none;box-shadow:none}.login-required-section{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:12px;padding:20px;margin-top:20px;text-align:center}.login-required-section h3{color:#374151;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.2rem}.login-benefits{list-style:none;padding:0;margin:16px 0}.login-benefits li{padding:8px 0;color:#6b7280;font-size:.9rem;text-align:left;margin-left:20px}.credits-purchase-section{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;margin-top:20px;text-align:center}.credits-purchase-section h3{color:#92400e;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:1.2rem}.section-description{color:#a16207;max-width:600px;margin-left:auto;margin-right:auto}.create-route-credit-packages .packages-container{max-width:800px;margin:0 auto}.create-route-credit-packages .package-card{background:white;border:2px solid #f59e0b;transition:all .2s ease}.create-route-credit-packages .package-card:hover{border-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,158,11,.2)}.create-route-credit-packages .package-name{color:#92400e;font-weight:600}.create-route-credit-packages .package-credits{color:#a16207;font-weight:700}.create-route-credit-packages .package-price{color:#92400e;font-weight:600}.create-route-credit-packages .package-buy-btn{width:100%;padding:8px 16px;font-size:.85rem}@media (max-width:768px){.credits-purchase-section{padding:16px;margin-top:16px}.credits-purchase-section h3{font-size:1.1rem}.section-description{font-size:.9rem}.create-route-credit-packages .packages-container{grid-template-columns:1fr;gap:10px}.create-route-credit-packages .package-card{padding:10px}}.login-container{min-height:100vh;display:flex;background:white}.login-visual-section{flex:0 0 40%;padding:60px 40px;overflow:hidden}.login-visual-content,.login-visual-section{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center}.login-visual-content{z-index:3;text-align:center;color:white;height:100%;text-shadow:0 2px 4px rgba(0,0,0,.8)}.login-visual-content h1{font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-visual-content p{font-size:1.2rem;opacity:.9;line-height:1.6;margin-bottom:3rem}.running-figure{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.running-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;filter:brightness(.6) contrast(1.2)}.login-form-section{flex:0 0 60%;display:flex;flex-direction:column;justify-content:center;padding:60px 80px;background:white}.login-card{width:100%;max-width:36rem;margin:0 auto}.login-header{text-align:center;margin-bottom:2rem}.login-header h1{color:#333;margin-bottom:8px;font-size:1.8rem;font-weight:700}.login-header p{color:#666;margin-bottom:0;font-size:.95rem}.login-form{margin-bottom:24px}.form-group{text-align:left}.btn-continue{width:10rem;background:#f5f5f5;color:#333;border:2px solid #e1e5e9;padding:14px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:not-allowed;transition:all .3s ease;opacity:.6}.btn-continue:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}.btn-continue:disabled{opacity:.6;cursor:not-allowed}.btn-primary{padding:14px 24px}.btn-full{width:100%}.divider{position:relative;text-align:center;margin:2rem 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e1e5e9}.divider span{background:white;padding:0 20px;color:#000;font-size:1rem;font-weight:400;position:relative;z-index:1}.email-login-section{margin-top:1rem}.email-login-section h3{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:1rem;text-align:left}.email-input-group{margin-bottom:1.5rem}.email-input-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:.9rem}.email-input-wrapper{position:relative}.email-input-wrapper input{width:100%;padding:14px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.email-input-wrapper input:focus{outline:none;border-color:#4285f4}.warning-text{color:#dc3545!important;font-weight:600;margin-bottom:16px;padding:8px 12px;background:#f8d7da;border-radius:6px;border:1px solid #f5c6cb}.social-login-section{margin-bottom:2rem}.social-button{width:100%;padding:14px 20px;border:0;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;background:white;color:#333}.social-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.social-button:disabled{opacity:.6;cursor:not-allowed}.btn-google{background:#f5f5f5;color:#333;justify-content:flex-start;padding:0;height:48px}.btn-google:hover:not(:disabled){background:#e9ecef;border-color:#ced4da}label[for=email]{display:none}.google-logo{width:3rem;height:3rem;background:#4285F4;display:flex;align-items:center;justify-content:center;flex-shrink:0}.google-logo svg{width:2rem;height:2rem}.google-text{flex:1;padding:0 16px;font-weight:600}.google-text,.social-icon{display:flex;align-items:center;justify-content:center}.social-icon{width:20px;height:20px}.btn-magic-link{background:#ff6b35;color:white;border:none;padding:12px 24px;border-radius:6px;font-size:.95rem;cursor:pointer;transition:all .3s ease}.btn-magic-link:hover:not(:disabled){background:#e55a2b;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn-magic-link:disabled{background:#adb5bd;cursor:not-allowed}.magic-link-form{text-align:left}.magic-link-form .form-group{margin-bottom:16px}.magic-link-form input{width:100%;padding:10px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.95rem}.magic-link-form input:disabled{background:#e9ecef;cursor:not-allowed}.magic-link-sent{text-align:center;padding:16px;background:#d4edda;border-radius:8px;border:1px solid #c3e6cb}.magic-link-sent p{color:#155724;margin-bottom:8px}.login-footer{text-align:center;margin-top:24px;padding-top:20px;border-top:1px solid #dee2e6}.login-footer p{color:#6c757d;margin-bottom:16px}.credits-info{color:#ff6b35!important;font-size:.85rem}.email-sent{background:#f8f9fa;padding:12px;border-radius:8px;margin:16px 0;font-family:monospace;font-size:.9rem;color:#333}.btn-secondary{padding:10px 20px;border-radius:6px;font-size:.9rem}.login-card.inactive-user{max-width:600px;text-align:center}.inactive-user-header{margin-bottom:2rem}.inactive-user-icon{font-size:4rem;margin-bottom:1rem;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.inactive-user-header h1{color:#dc2626;font-size:1.875rem;font-weight:700;margin:0}.inactive-user-content{margin-bottom:2rem;text-align:left}.inactive-user-email,.inactive-user-reason{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem;margin-bottom:1rem;color:#dc2626;font-weight:500}.inactive-user-message{background:#fffbeb;border:1px solid #fed7aa;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.inactive-user-message p{margin:0 0 1rem;color:#92400e;font-size:1rem;line-height:1.5}.inactive-user-message p:last-child{margin-bottom:0}.support-contact{background:#dbeafe;border:1px solid #93c5fd;border-radius:6px;padding:.75rem;margin-top:.5rem;color:#1e40af;font-weight:600}.inactive-user-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.inactive-user-actions button{min-width:140px}@media (max-width:768px){.login-container{flex-direction:column}.login-visual-section{flex:0 0 30%;padding:40px 20px}.login-visual-content h1{font-size:1.8rem}.login-visual-content p{font-size:1rem}.login-form-section{flex:0 0 70%;padding:40px 20px}}@media (max-width:480px){.login-visual-section{flex:0 0 25%;padding:20px 15px}.login-visual-content h1{font-size:1.5rem}.login-visual-content p{font-size:.9rem}.login-form-section{flex:0 0 75%;padding:20px 15px}.login-header h1{font-size:1.5rem}.inactive-user-icon{font-size:3rem}.inactive-user-header h1{font-size:1.5rem}.inactive-user-actions{flex-direction:column;align-items:center}.inactive-user-actions button{width:100%;max-width:200px}}.profile-container{min-height:100vh;background:linear-gradient(135deg,#ff6b35,#e55a2b);padding-top:20px;min-width:1400px;padding-bottom:20px}.profile-card{background:white;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.1);padding:40px;max-width:87.5rem;margin:0 auto}.profile-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.profile-header h1{color:#333;margin-bottom:8px;font-size:2.5rem;font-weight:700}.profile-header p{color:#666;font-size:1.1rem}.profile-tabs{display:flex;gap:8px;margin-bottom:30px;border-bottom:2px solid #f0f0f0}.tab-button{background:transparent;padding:16px 24px;position:relative}.tab-button:hover{color:#ff6b35;background:rgba(255,107,53,.05)}.tab-button.active{color:#ff6b35;background:rgba(255,107,53,.1)}.tab-content{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-section{margin-bottom:40px;padding:24px;background:#f8f9fa;border-radius:12px;border-left:4px solid #ff6b35}.profile-section h2{color:#333;margin-bottom:20px;font-size:1.5rem;font-weight:600}.credits-section{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;padding:24px}.credits-section h2{color:#0c4a6e;margin-bottom:20px;display:flex;align-items:center;gap:8px}.credits-display{text-align:center;margin-bottom:24px;padding:20px;background:white;border-radius:12px;border:2px solid #0ea5e9;box-shadow:0 4px 12px rgba(14,165,233,.1)}.credits-display>p.credits-status{margin-bottom:1rem}.credits-number{display:block;font-size:3rem;font-weight:700;color:#0c4a6e;line-height:1;margin-bottom:8px}.credits-label{font-size:1.1rem;color:#0369a1;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.credits-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:24px}.credits-info-item{display:flex;align-items:center;gap:12px;padding:16px;background:white;border-radius:8px;border:1px solid #e0f2fe;box-shadow:0 2px 4px rgba(0,0,0,.05)}.info-icon{font-size:1.5rem;color:#0ea5e9}.credits-info-item span:last-child{color:#0c4a6e;font-weight:500;font-size:.95rem}.credits-info{text-align:center;color:#ff6b35;font-weight:600;font-size:1rem;margin:16px 0}.no-credits-warning{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #ef4444;border-radius:8px;padding:16px;margin-bottom:20px;text-align:center}.no-credits-warning p{color:#991b1b;margin:4px 0;font-weight:500}.no-credits-warning p:first-child{font-weight:600;font-size:1.1rem}.btn-history{margin-top:20px;background:#6c757d;color:white;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-history:hover{background:#5a6268;transform:translateY(-1px)}.credits-history{margin-top:24px;padding-top:24px;border-top:1px solid #e9ecef}.credits-history h3{color:#333;margin-bottom:16px;font-size:1.3rem;font-weight:600}.history-list{height:100%!important;overflow-y:hidden!important}.history-header{grid-template-columns:100px 100px 70px 3fr 100px;border-radius:8px 8px 0 0;border:1px solid #e9ecef;border-bottom:none;margin-bottom:0}.history-header>div{text-align:center}.history-header .header-description{text-align:left}.history-item{grid-template-columns:100px 100px 70px 3fr 100px;align-items:start;border-radius:8px;margin-bottom:8px;border:1px solid #e9ecef}.history-amount:has(+.history-description:contains("-")){color:#dc3545}.history-metadata{text-align:center;color:#666}.history-metadata small{color:#666;font-size:.8rem;background:#f8f9fa;padding:4px 8px;border-radius:4px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.info-display>.btn-secondary{margin-top:10px}.info-item{display:flex;flex-direction:column;gap:8px}.info-item label{font-weight:600;color:#495057;font-size:.9rem}.info-value{color:#333;font-weight:500;padding:8px 12px;background:white;border-radius:6px;border:1px solid #e9ecef}.edit-form{margin-top:20px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.edit-actions{display:flex;gap:12px;margin-top:20px}.btn-primary{padding:12px 24px}.info-display{margin-top:20px}.profile-actions{text-align:center;margin-top:40px;padding-top:20px;border-top:2px solid #f0f0f0}.btn-logout{background:#dc3545;color:white;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-logout:hover{background:#c82333}.btn-delete-account{background:#6c757d;color:white;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:16px}.btn-delete-account:hover{background:#5a6268;transform:translateY(-1px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.delete-account-modal{background:white;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,.25);animation:modalSlideIn .3s ease-out}.modal-header{padding:24px 24px 16px;border-bottom:2px solid #f0f0f0;text-align:center}.modal-header h2{color:#dc3545;margin:0;font-size:1.5rem;font-weight:700}.modal-body{padding:24px}.warning-text{color:#dc3545;font-size:1.1rem;margin-bottom:20px;text-align:center;padding:16px;background:#fff5f5;border-radius:8px;border:1px solid #fed7d7}.deletion-details{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #ff6b35}.deletion-details p{color:#333;font-weight:600;margin-bottom:12px}.deletion-details ul{margin:0;padding-left:20px;color:#555}.deletion-details li{margin-bottom:8px;line-height:1.5}.final-warning{color:#dc3545;font-size:1.1rem;text-align:center;margin:20px 0;padding:16px;background:#fff5f5;border-radius:8px;border:1px solid #fed7d7}.modal-actions{padding:16px 24px;display:flex;gap:16px;justify-content:center;border-top:2px solid #f0f0f0}.modal-footer{padding:16px 24px 24px;background:#f8f9fa;border-top:1px solid #e9ecef;border-radius:0 0 16px 16px}.magic-link-instructions{color:#6c757d;font-size:.9rem;text-align:center;margin:0;line-height:1.4}.btn-delete-confirm{background:#dc3545;color:white;border:none;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-delete-confirm:hover:not(:disabled){background:#c82333;transform:translateY(-1px)}.btn-delete-confirm:disabled{background:#6c757d;cursor:not-allowed;transform:none}.reauth-step{margin-top:24px;padding:20px;background:#f8f9fa;border-radius:8px;border-left:4px solid #007bff}.reauth-step h3{color:#007bff;margin-bottom:12px;font-size:1.2rem;font-weight:600}.reauth-step p{color:#555;line-height:1.5}.reauth-step .form-group,.reauth-step p{margin-bottom:16px}.reauth-step label{display:block;margin-bottom:6px;color:#333;font-weight:600}.reauth-step input[type=email]{width:100%;padding:10px 12px;border:2px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .2s ease}.reauth-step input[type=email]:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 3px rgba(0,123,255,.1)}.reauth-step input[type=email]:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.reauth-info{margin-top:16px;padding:16px;background:#e3f2fd;border-radius:6px;border:1px solid #bbdefb}.reauth-info p{color:#1565c0;margin-bottom:12px;font-weight:600}.reauth-info ul{margin:0;padding-left:20px;color:#1976d2}.reauth-info li{margin-bottom:6px;line-height:1.4}.loading-spinner.small{width:24px;height:24px;border-width:2px;margin:10px auto}.credits-purchase-section{padding:20px}.profile-credit-packages .packages-container{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.profile-credit-packages .package-card{padding:12px;min-width:0;width:100%}.purchase-info{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}.info-card{background:white;border-radius:12px;padding:20px;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .3s ease}.info-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.info-card h3{color:#1e293b;margin-bottom:16px;font-size:1.2rem;font-weight:600;display:flex;align-items:center;gap:8px}.info-card ul{list-style:none;padding:0;margin:0}.info-card li{color:#64748b;margin-bottom:8px;padding-left:0;font-size:.9rem;line-height:1.5}.info-card li:last-child{margin-bottom:0}.current-credits-display{text-align:center;margin-bottom:16px}.current-credits-number{display:block;font-size:2.5rem;font-weight:700;color:#ff6b35;line-height:1}.current-credits-label{display:block;color:#64748b;font-size:.9rem;margin-top:4px}.credits-status{text-align:center;margin:0}.status-critical{color:#dc3545;font-weight:600}.status-warning{color:#ffc107;font-weight:600}.status-ok{color:#28a745;font-weight:600}.purchase-footer{margin-top:32px;text-align:center;padding-top:24px;border-top:1px solid #e2e8f0}.footer-note{color:#64748b;margin-bottom:8px;font-size:.9rem}.footer-support{color:#94a3b8;font-size:.85rem;margin:0}@media (max-width:1024px){.profile-credit-packages .packages-container{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.profile-card{padding:24px;margin:20px}.profile-header h1{font-size:2rem}.history-item,.info-grid{grid-template-columns:1fr}.history-item{gap:8px;text-align:center}.edit-actions{flex-direction:column}.credits-purchase-section{padding:16px}.purchase-info{grid-template-columns:1fr;gap:16px}.credits-display,.credits-section{padding:16px}.credits-number{font-size:2.5rem}.credits-info-grid{grid-template-columns:1fr;gap:12px}.profile-credit-packages .packages-container{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.profile-card{padding:20px}.profile-section{padding:16px}.credits-number{font-size:2rem}}.btn-test-credits,.test-credits-section,.test-info,.test-result{display:none}.debug-section{margin:20px 0;padding:20px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1)}.debug-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.debug-header h3{margin:0;color:#856404;font-size:1.1rem}.debug-content{background:white;padding:15px;border-radius:6px;border:1px solid #ffeaa7}.debug-info{margin-bottom:15px}.debug-info p{margin:5px 0;font-family:monospace;font-size:.9rem}.debug-actions{text-align:center}.debug-note{margin-top:10px;color:#856404;font-style:italic}.credits-history-container{margin-top:24px}.history-list{overflow:hidden}.history-item{grid-template-columns:120px 120px 100px 1fr 120px;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.history-item:hover{background-color:#f8f9fa}.history-type{color:#333;font-weight:600}.history-amount.positive{color:#28a745}.history-amount.negative{color:#dc3545}.history-balance{color:#666;text-align:center;font-weight:500}.loading-state{text-align:center;padding:40px;color:#666}.loading-state p{font-size:1.1rem;margin:0}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b35,#e55a2b);color:white}.loading-spinner{width:50px;height:50px;border:4px solid rgba(0,0,0,.767);border-top-color:white;margin-bottom:20px}.loading-container p{font-size:1.1rem;font-weight:500;margin:0}.admin-container{min-height:100vh;background:linear-gradient(135deg,#ff6b35,#e55a2b);padding-top:20px;padding-bottom:20px}.admin-card{background:white;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.1);padding:40px;max-width:87.5rem;margin:0 auto}.admin-header{text-align:center;margin-bottom:40px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.admin-header h1{color:#333;margin-bottom:8px;font-size:2.5rem;font-weight:700}.admin-header p{color:#666;font-size:1.1rem}.security-badge{background:#28a745;color:white;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;margin-top:16px;display:inline-block}.admin-section{margin-bottom:40px;padding:24px;background:#f8f9fa;border-radius:12px;border-left:4px solid #ff6b35}.admin-section h2{color:#333;margin-bottom:20px;font-size:1.5rem;font-weight:600}.admin-tabs{display:flex;justify-content:start;gap:8px;margin-bottom:30px;border-bottom:2px solid #f0f0f0}.tab-button{padding:12px 24px;border-radius:8px 8px 0 0;background:#f8f9fa;color:#666;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;border-bottom:3px solid transparent}.tab-button:hover{background:#e9ecef;color:#495057;transform:translateY(-2px)}.tab-button.active{background:#ff6b35;color:white;border-bottom-color:#ff6b35;box-shadow:0 4px 8px rgba(255,107,53,.3)}.tab-content{min-height:400px}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:20px}.btn-quick{padding:16px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.btn-success{background:#28a745;color:white}.btn-success:hover{background:#218838;transform:translateY(-2px);box-shadow:0 4px 8px rgba(40,167,69,.3)}.credits-form{margin-top:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#495057;font-size:.9rem}.form-input{padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease}.form-input:focus{outline:none;border-color:#ff6b35}.form-help{color:#6c757d;font-size:.8rem}.form-actions{display:flex;gap:16px;flex-wrap:wrap}.btn-primary{background:#ff6b35;color:white;border:none;padding:14px 28px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary:hover:not(:disabled){background:#e55a2b;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-warning{background:#ffc107;color:#212529;border:none;padding:14px 28px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-warning:hover:not(:disabled){background:#e0a800;box-shadow:0 4px 6px rgba(0,0,0,.1)}.btn-warning:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#6c757d;color:white;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-secondary:hover{background:#5a6268}.users-controls{justify-content:space-between;margin-bottom:24px;padding:16px;background:white;border-radius:8px;border:1px solid #e9ecef}.users-controls,.users-count{display:flex;align-items:center}.count-badge{background:#ff6b35;color:white;padding:8px 16px;border-radius:20px;font-weight:600;font-size:.9rem}.users-list{background:white;border-radius:12px;border:1px solid #e9ecef;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.users-header{background:#f8f9fa;border-bottom:2px solid #e9ecef;font-weight:600;color:#495057;font-size:.9rem;justify-items:center}.user-item,.users-header{display:grid;grid-template-columns:2fr 2fr 1fr 1fr 1fr 1.5fr 1fr;gap:16px;padding:16px}.user-item{border-bottom:1px solid #e9ecef;align-items:center;transition:background-color .2s ease}.user-item:hover{background:#f8f9fa}.user-item:last-child{border-bottom:none}.user-info{display:flex;flex-direction:column;gap:4px}.user-name{font-weight:600;color:#333}.user-uid{color:#6c757d;font-size:.8rem}.user-email{color:#495057;font-family:monospace;font-size:.9rem}.user-role{display:flex;justify-content:center}.role-badge{padding:6px 12px;border-radius:16px;font-size:.8rem;font-weight:600;text-align:center}.role-admin{background:#ff6b35;color:white}.role-user{background:#6c757d;color:white}.user-credits{display:flex;justify-content:center}.credits-amount{background:#28a745;color:white;padding:6px 12px;border-radius:16px;font-weight:600;font-size:1.2rem}.user-status{display:flex;justify-content:center}.status-badge{padding:6px 12px;border-radius:16px;font-size:.8rem;font-weight:600;min-width:80px}.status-badge.active{background:#28a745;color:white}.status-badge.inactive{background:#dc3545;color:white}.user-created{color:#6c757d;font-size:.9rem;text-align:center}.user-actions{gap:8px}.btn-action,.user-actions{display:flex;justify-content:center}.btn-action{padding:8px;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:1rem;width:36px;height:36px;align-items:center;background:transparent}.btn-edit{color:#17a2b8;border-color:#17a2b8}.btn-edit:hover{background:#17a2b8;color:white;transform:scale(1.1);box-shadow:0 2px 8px rgba(23,162,184,.3)}.btn-delete{color:#dc3545;border-color:#dc3545}.btn-delete:hover{background:#dc3545;color:white;transform:scale(1.1);box-shadow:0 2px 8px rgba(220,53,69,.3)}.btn-reactivate{color:#28a745;border-color:#28a745}.btn-reactivate:hover{background:#28a745;color:white;transform:scale(1.1);box-shadow:0 2px 8px rgba(40,167,69,.3)}.btn-deactivating{background:#6c757d!important;opacity:.7;position:relative}.btn-deactivating:hover{background:#6c757d!important;transform:none!important;box-shadow:none!important}.btn-deactivating .loading-spinner-small{margin:0;display:inline-block}.btn-action:disabled{opacity:.5;cursor:not-allowed;transform:none;background:#6c757d!important;color:white!important}.btn-reactivate{background-color:#28a745;color:white;border:1px solid #28a745}.btn-reactivate:hover{background-color:#218838;border-color:#1e7e34}.btn-reactivate:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.btn-deactivating{color:white!important;cursor:not-allowed!important}.btn-deactivating,.btn-deactivating:hover{background-color:#6c757d!important;border-color:#6c757d!important}.loading-spinner-small{width:12px;height:12px;border:2px solid transparent;border-top-color:currentcolor}.no-users{text-align:center;padding:40px 20px;background:#f8f9fa;border-radius:12px;border:2px dashed #dee2e6}.no-users p{color:#6c757d;margin-bottom:16px;font-size:1.1rem}.history-controls{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap}.history-list{overflow-y:hidden;border-radius:8px}.history-header{background:#f8f9fa;font-weight:600;color:#495057;position:sticky;top:0;z-index:1}.history-header,.history-item{display:grid;grid-template-columns:.4fr .5fr 120px 1fr 1fr;gap:16px;align-items:center;padding:12px 16px;font-size:.9rem}.history-item{background:white;border-bottom:1px solid #e9ecef}.history-item:last-child{border-bottom:none}.history-date{color:#666;font-weight:500}.history-action{font-weight:600}.history-user{display:flex;flex-direction:column;gap:4px}.user-email{font-weight:600;color:#333;font-size:.85rem}.user-name{color:#666;font-size:.8rem;font-style:italic}.history-amount{font-weight:700;text-align:center}.history-description{color:#333;text-align:start}.no-history{text-align:center;color:#666;font-style:italic;padding:20px}.access-denied{text-align:center;padding:40px 20px}.access-denied h1{color:#dc3545;margin-bottom:16px;font-size:2rem}.access-denied p{color:#666;margin-bottom:8px;font-size:1rem}.security-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:16px;margin-top:16px;color:#856404;font-size:.9rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top-color:#ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin:20px auto}.loading-spinner-small{width:16px;height:16px;border:2px solid #f3f3f3;border-top-color:#ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto;display:inline-block;vertical-align:middle}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1024px){.user-item,.users-header{grid-template-columns:1.5fr 2fr 1fr 1fr 1fr 1fr;gap:12px;padding:12px}.header-created,.user-created{display:none}}@media (max-width:768px){.admin-card{padding:24px;margin:20px}.admin-header h1{font-size:2rem}.admin-tabs{flex-direction:column;gap:4px}.tab-button{border-radius:8px;border-bottom:none;border-left:3px solid transparent}.tab-button.active{border-left-color:#ff6b35;border-bottom-color:transparent}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.quick-actions{grid-template-columns:1fr}.user-item,.users-header{grid-template-columns:1fr 1.5fr 1fr 1fr 1fr;gap:8px;padding:8px;font-size:.8rem}.header-role,.header-status,.user-role,.user-status{display:none}.users-controls{flex-direction:column;gap:16px;align-items:stretch}.user-actions{flex-direction:column;gap:4px}.btn-action{width:32px;height:32px;font-size:.9rem}.history-header,.history-item{grid-template-columns:1fr;gap:8px;text-align:center}.history-user{order:1}.history-date{order:2}.history-action{order:3}.history-amount{order:4}.history-description{order:5}}@media (max-width:480px){.admin-container{padding-top:10px}.admin-container>.admin-card{margin-bottom:3rem}.admin-card{padding:20px}.admin-section{padding:16px}.btn-quick{padding:12px 16px;font-size:.9rem}}.edit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.edit-modal{background:white;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;border-bottom:2px solid #f0f0f0}.edit-modal-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600}.btn-close{background:none;border:none;color:#6c757d;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#f8f9fa;color:#495057;transform:scale(1.1)}.edit-modal-content{padding:24px}.edit-modal-content .form-group{margin-bottom:20px}.edit-modal-content .form-group:last-child{margin-bottom:0}.edit-modal-content label{display:block;margin-bottom:8px;font-weight:600;color:#495057;font-size:.9rem}.edit-modal-content .form-input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.edit-modal-content .form-input:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 3px rgba(255,107,53,.1)}.edit-modal-content select.form-input{cursor:pointer;background:white}.edit-modal-actions{display:flex;gap:16px;padding:16px 24px 24px;border-top:2px solid #f0f0f0;justify-content:flex-end}.edit-modal-actions button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:120px}.edit-modal-actions button:disabled{opacity:.6;cursor:not-allowed}.confirmation-message{max-height:400px;overflow-y:auto;padding:10px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.confirmation-message p{margin:5px 0;line-height:1.5;color:#495057}.confirmation-message p:first-child{margin-top:0}.confirmation-message p:last-child{margin-bottom:0}.btn-danger{background-color:#dc3545;color:white;border:1px solid #dc3545}.btn-danger:hover{background-color:#c82333;border-color:#bd2130}.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}@media (max-width:768px){.edit-modal{margin:20px;max-height:calc(100vh - 40px)}.edit-modal-header{padding:20px 20px 16px}.edit-modal-content{padding:20px}.edit-modal-actions{padding:16px 20px 20px;flex-direction:column}.edit-modal-actions button{width:100%}}@media (max-width:480px){.edit-modal-overlay{padding:10px}.edit-modal{margin:10px}.edit-modal-header h3{font-size:1.3rem}}.credits-input-container{display:flex;flex-direction:column;gap:12px}.credits-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.btn-quick-small{background:#f3f4f6;color:#374151;border:2px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:40px;text-align:center}.btn-quick-small:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.btn-quick-small:active{transform:translateY(0)}.credits-purchase-section{background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:12px;padding:24px;margin-top:24px;border:2px solid #e2e8f0}.credits-purchase-section h2{color:#1e293b;margin-bottom:12px;display:flex;align-items:center;gap:8px}.section-description{color:#64748b;margin-bottom:20px;font-size:.95rem;line-height:1.5}.profile-credit-packages{margin-top:20px}.profile-credit-packages .packages-container{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.profile-credit-packages .package-card{padding:16px}.profile-credit-packages .package-card h4{font-size:1rem;margin-bottom:8px}.profile-credit-packages .package-credits{font-size:1.2rem;margin-bottom:8px}.profile-credit-packages .package-price{font-size:1.1rem;margin-bottom:12px}.create-route-credit-packages{margin-top:16px}.create-route-credit-packages .packages-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.create-route-credit-packages .package-card{padding:12px;text-align:center}.create-route-credit-packages .package-card.compact{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b}.create-route-credit-packages .package-card.compact:hover{border-color:#d97706;transform:translateY(-1px);box-shadow:0 4px 12px rgba(245,158,11,.2)}.create-route-credit-packages .package-name{font-size:.9rem;margin-bottom:6px}.create-route-credit-packages .package-credits{font-size:1rem;margin-bottom:6px}.create-route-credit-packages .package-price{font-size:.9rem;margin-bottom:8px}.create-route-credit-packages .package-actions{margin-top:8px}@media (max-width:768px){.credits-quick-actions{justify-content:center}.btn-quick-small{min-width:35px;padding:4px 8px;font-size:.75rem}.create-route-credit-packages .packages-container,.profile-credit-packages .packages-container{grid-template-columns:1fr}}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:16px;margin:24px 0 16px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.pagination-btn{background:#ff6b35;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:#e55a2b;transform:translateY(-1px)}.pagination-btn:disabled{background:#ccc;cursor:not-allowed;transform:none}.page-numbers{display:flex;gap:8px}.page-btn{background:white;color:#666;border:1px solid #e9ecef;padding:8px 12px;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s ease;min-width:40px}.page-btn:hover{background:#f8f9fa;border-color:#ff6b35}.page-btn.active{background:#ff6b35;color:white;border-color:#ff6b35}.pagination-info{text-align:center;color:#666;font-size:.9rem;margin-top:16px;padding:12px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}