*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:400;line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--text-primary);background:var(--bg-primary);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*:focus{outline:none}*:focus-visible{outline:2px solid var(--color-olive-green);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}:root{--traillogger-green-dark: #384e1d;--traillogger-green-olive: #7e9278;--traillogger-grey-dark: #4b4c4e;--traillogger-grey-light: #bfbfbf;--color-black: #0A0A0A;--color-dark-bg: #111111;--color-card-bg: #4b4c4e;--color-border: #2A2A2A;--color-gray-50: #F9FAFB;--color-gray-100: #F3F4F6;--color-gray-200: #E5E7EB;--color-gray-300: #D1D5DB;--color-gray-400: #9CA3AF;--color-gray-500: #bfbfbf;--color-gray-600: #4B5563;--color-gray-700: #374151;--color-gray-800: #1F2937;--color-gray-900: #111827;--color-green: #384e1d;--color-green-dark: #2a3916;--color-green-light: #7e9278;--color-olive-green: #7e9278;--primary-color: #384e1d;--primary-hover: #4a6324;--primary-light: #7e9278;--secondary-color: #e2e8f0;--success-color: #384e1d;--warning-color: #f59e0b;--error-color: #ef4444;--info-color: #3b82f6;--bg-primary: #f7fafc;--bg-secondary: #ffffff;--bg-tertiary: #edf2f7;--bg-quaternary: rgba(255, 255, 255, .95);--bg-hover: rgba(56, 78, 29, .05);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-tertiary: rgba(255, 255, 255, .6);--text-quaternary: rgba(255, 255, 255, .4);--border-primary: rgba(0, 0, 0, .08);--border-secondary: rgba(0, 0, 0, .04);--border-tertiary: rgba(0, 0, 0, .02);--border-accent: rgba(56, 78, 29, .2);--glass-bg: #4b4c4e;--glass-border: #2A2A2A;--glass-shadow: 0 4px 12px rgba(0, 0, 0, .5);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-xs: 0rem;--radius-sm: .125rem;--radius-md: .25rem;--radius-lg: .375rem;--radius-xl: .5rem;--radius-2xl: .75rem;--radius-full: 9999px;--radius-organic-tl: 255px 15px;--radius-organic-tr: 15px 225px;--radius-organic-br: 225px 15px;--radius-organic-bl: 15px 255px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .7);--shadow-green: 0 0 20px rgba(126, 146, 120, .3);--shadow-green-strong: 0 0 30px rgba(56, 78, 29, .4);--shadow-button-default: rgba(56, 78, 29, .2) 15px 28px 25px -18px;--shadow-button-hover: rgba(56, 78, 29, .4) 0px 4px 6px -2px;--shadow-button-active: rgba(56, 78, 29, .3) 2px 8px 4px -6px;--shadow-button-pressed: inset 0 2px 4px rgba(0, 0, 0, .3), rgba(56, 78, 29, .4) 0px 4px 6px -2px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-button: 235ms ease-in-out;--focus-ring: 0 0 0 3px rgba(126, 146, 120, .4);--focus-ring-offset: 2px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080}h1,h2,h3,h4,h5,h6{font-weight:500;line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin:0}h1{font-size:var(--font-size-3xl);font-weight:600}h2{font-size:var(--font-size-2xl);font-weight:600}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{margin:0;line-height:var(--line-height-relaxed);color:var(--text-primary)}.text-small{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-large{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-quaternary)}.text-success{color:var(--success-color)}.text-warning{color:var(--warning-color)}.text-error{color:var(--error-color)}.text-green{color:var(--traillogger-green-dark)}.text-olive{color:var(--traillogger-green-olive)}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-wrap{white-space:nowrap}.break-words{word-break:break-word;overflow-wrap:break-word}a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}a:focus-visible{outline:2px solid var(--color-olive-green);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-sm)}.btn-glass{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:#00000005 0 1px 3px;box-sizing:border-box;color:#000000d9;cursor:pointer;display:inline-flex;font-family:var(--font-family);font-size:16px;font-weight:600;gap:8px;justify-content:center;line-height:1.25;margin:0;min-height:3rem;padding:calc(.875rem - 1px) calc(1.5rem - 1px);position:relative;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);user-select:none;-webkit-user-select:none;touch-action:manipulation;vertical-align:baseline;white-space:nowrap}.btn-glass svg{width:1.125rem;height:1.125rem;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1)}.btn-glass:hover,.btn-glass:focus{border-color:#00000026;box-shadow:#0000001a 0 4px 12px;color:#000000a6}.btn-glass:hover{transform:translateY(-1px)}.btn-glass:active{background-color:#f0f0f1;border-color:#00000026;box-shadow:#0000000f 0 2px 4px;color:#000000a6;transform:translateY(0)}.btn-glass:disabled,.btn-glass[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-glass.btn-primary{background:rgba(255,255,255,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;border:1px solid rgba(255,255,255,.25)}.btn-glass.btn-primary:hover,.btn-glass.btn-primary:focus{background:rgba(255,255,255,.22);border-color:#ffffff59;color:#fff;box-shadow:#ffffff26 0 4px 12px}.btn-glass.btn-primary:active{background:rgba(255,255,255,.25);border-color:#fff6;color:#fff}.btn-glass.btn-secondary{background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}.btn-glass.btn-secondary:hover,.btn-glass.btn-secondary:focus{background:rgba(255,255,255,.12);border-color:#ffffff38;color:#fff}.btn-glass.btn-secondary:active{background:rgba(255,255,255,.15);border-color:#ffffff40;color:#fff}.btn-glass.btn-secondary.active{background-color:var(--traillogger-green-dark);color:#fff;border-color:var(--traillogger-green-dark);transform:none}.btn-glass.btn-secondary.active:hover{background-color:var(--traillogger-green-olive);border-color:var(--traillogger-green-olive);transform:translateY(-1px)}.btn-glass.btn-danger{background-color:var(--traillogger-green-dark);color:#fff;border-color:#7e92784d}.btn-glass.btn-danger:hover,.btn-glass.btn-danger:focus{background-color:var(--traillogger-green-olive);color:#fff;border-color:#7e927880;box-shadow:#7e92784d 0 4px 12px}.btn-glass.btn-danger:active{background-color:var(--traillogger-green-moss);color:#fff}.btn-glass.btn-small{padding:calc(.625rem - 1px) calc(1rem - 1px);font-size:14px;min-height:2.25rem}.btn-glass.btn-large{padding:calc(1rem - 1px) calc(1.75rem - 1px);font-size:18px;min-height:3.5rem}.icon-btn{padding:.5rem;min-width:2.5rem;min-height:2.5rem;width:auto;height:auto}.icon-btn svg{width:1.125rem;height:1.125rem}.icon-btn.btn-small{min-width:2rem;min-height:2rem;padding:.375rem}.icon-btn.btn-small svg{width:1rem;height:1rem}.button-group{display:flex;gap:8px;align-items:center}.button-group-vertical{display:flex;flex-direction:column;gap:8px}.header-controls .btn-glass{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;line-height:1.2;position:relative;z-index:1}.header-controls .btn-glass svg{width:.875rem;height:.875rem;flex-shrink:0}.header-controls .icon-btn{padding:var(--space-2);min-width:auto;width:2rem;height:2rem}.header-controls .icon-btn svg{width:1rem;height:1rem}.btn-glass.loading{pointer-events:none;position:relative}.btn-glass.loading:after{content:"";position:absolute;width:1rem;height:1rem;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spinner-rotate .6s linear infinite}button,input,select,textarea{font-family:var(--font-family)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=url],input[type=tel],textarea,select{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:8px;transition:all var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:#7e927899;background:rgba(255,255,255,.12);box-shadow:0 0 0 3px #384e1d33}input:disabled,textarea:disabled,select:disabled{opacity:.4;cursor:not-allowed;background:rgba(255,255,255,.04)}textarea{resize:vertical;min-height:100px}.custom-select{position:relative;width:100%}.custom-select-trigger{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--font-size-sm);line-height:var(--line-height-normal);color:var(--text-primary);background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all var(--transition-fast)}.custom-select-trigger:hover{background:rgba(255,255,255,.12);border-color:#ffffff2e}.custom-select-trigger .dropdown-arrow{width:20px;height:20px;color:#fff9;transition:transform .25s cubic-bezier(.4,0,.2,1)}.custom-select-dropdown.open+.custom-select-trigger .dropdown-arrow,.custom-select-trigger:has(+.custom-select-dropdown.open) .dropdown-arrow{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:rgba(20,20,20,.98);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:8px;max-height:320px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1000;box-shadow:0 12px 32px #0006}.custom-select-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.custom-select-dropdown::-webkit-scrollbar{width:8px}.custom-select-dropdown::-webkit-scrollbar-track{background:rgba(0,0,0,.2);border-radius:4px}.custom-select-dropdown::-webkit-scrollbar-thumb{background:rgba(255,255,255,.3);border-radius:4px}.custom-select-dropdown::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.5)}.dropdown-category{color:#ffffff80;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 6px;margin-top:8px}.dropdown-category:first-child{margin-top:0}.dropdown-option{padding:10px 16px;color:#ffffffe6;font-size:var(--font-size-sm);font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);margin:2px 0}.dropdown-option:hover{background:rgba(255,255,255,.1);color:#fff;transform:translate(4px)}.dropdown-option.selected{background:linear-gradient(135deg,rgba(56,78,29,.5),rgba(56,78,29,.3));color:#fff;font-weight:600}.dropdown-option.selected:hover{background:linear-gradient(135deg,rgba(56,78,29,.6),rgba(56,78,29,.4))}select{cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--space-2) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:var(--space-8)}input[type=checkbox],input[type=radio]{width:1.25rem;height:1.25rem;border:2px solid var(--border-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}input[type=radio]{border-radius:var(--radius-full)}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--primary-color);border-color:var(--primary-color)}label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-2)}.form-group{margin-bottom:var(--space-4)}.form-group-inline{display:flex;align-items:center;gap:var(--space-3)}.input-error{border-color:var(--error-color)}.input-error:focus{box-shadow:0 0 0 3px #ef444466}.input-success{border-color:var(--success-color)}.input-success:focus{box-shadow:0 0 0 3px #384e1d66}.error-message{color:var(--error-color);font-size:var(--font-size-xs);margin-top:var(--space-1)}.success-message{color:var(--success-color);font-size:var(--font-size-xs);margin-top:var(--space-1)}.search-input{padding-left:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23FFFFFF'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");background-position:left var(--space-2) center;background-repeat:no-repeat;background-size:1.25rem 1.25rem}input[type=file]{padding:var(--space-2);font-size:var(--font-size-sm)}input[type=file]::file-selector-button{padding:var(--space-2) var(--space-3);margin-right:var(--space-3);font-family:var(--font-family);font-size:var(--font-size-xs);font-weight:500;color:var(--text-primary);background:var(--traillogger-grey-dark);border:2px solid #FFFFFF;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}input[type=file]::file-selector-button:hover{background:var(--primary-color)}.glass-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:visible}.panel-flat{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md)}.panel-elevated{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.panel-bordered{background:transparent;border:2px solid var(--border-primary);border-radius:var(--radius-md)}.card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-md);transition:all var(--transition-fast)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding-bottom:var(--space-3);margin-bottom:var(--space-3);border-bottom:1px solid var(--border-primary)}.card-body{padding:var(--space-3) 0}.card-footer{padding-top:var(--space-3);margin-top:var(--space-3);border-top:1px solid var(--border-primary)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary)}.panel-header-title{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.panel-header-controls{display:flex;gap:var(--space-2);align-items:center}.panel-content{padding:var(--space-4)}.panel-content-compact{padding:var(--space-3)}.panel-content-spacious{padding:var(--space-6)}.panel-scrollable{overflow-y:auto;max-height:600px}.panel-scrollable::-webkit-scrollbar{width:4px;opacity:0;transition:opacity .3s ease}.panel-scrollable::-webkit-scrollbar-track{background:transparent;border-radius:2px}.panel-scrollable::-webkit-scrollbar-thumb{background:rgba(126,146,120,.4);border-radius:2px;transition:all .3s ease;opacity:0}.panel-scrollable::-webkit-scrollbar-thumb:hover{background:rgba(126,146,120,.7)}.panel-scrollable:hover::-webkit-scrollbar,.panel-scrollable:hover::-webkit-scrollbar-thumb{opacity:1}.panel-list{list-style:none;margin:0;padding:0}.panel-list-item{padding:var(--space-3);border-bottom:1px solid var(--border-secondary);transition:background var(--transition-fast)}.panel-list-item:last-child{border-bottom:none}.panel-list-item:hover{background:var(--bg-hover)}.divider{height:1px;background:var(--border-primary);margin:var(--space-4) 0}.divider-vertical{width:1px;height:100%;background:var(--border-primary);margin:0 var(--space-4)}.route-stats-panel{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-md)}.route-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.route-stats-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.btn-icon{background:transparent;border:none;padding:var(--space-2);cursor:pointer;color:var(--text-tertiary);transition:color var(--transition-fast);display:flex;align-items:center;justify-content:center}.btn-icon:hover{color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-4)}.stat-item{display:flex;flex-direction:column;gap:var(--space-1)}.stat-label{font-size:.75rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.elevation-chart-container{width:100%;height:150px;margin-top:var(--space-2);border-radius:var(--radius-md);background:var(--bg-tertiary);padding:var(--space-2)}#elevation-chart{width:100%!important;height:100%!important}.app{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex}.map-fullscreen{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.sidebar-left{position:fixed;left:16px;top:16px;bottom:16px;width:340px;background:rgba(26,26,26,.7);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff1a;z-index:var(--z-fixed);display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar-left:hover{box-shadow:0 12px 48px #00000080,0 4px 12px #0000004d,inset 0 1px #ffffff26}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;background:rgba(255,255,255,.03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sidebar-logo{display:flex;align-items:center}.sidebar-logo img{height:50px;width:auto}.sidebar-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-shrink:0;padding:8px;gap:4px}.sidebar-tab{flex:1;padding:10px 12px;text-align:center;font-size:14px;font-weight:500;color:#fff9;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.sidebar-tab:hover{color:#ffffffe6;background:rgba(255,255,255,.1)}.sidebar-tab.active{color:#fff;background:rgba(56,78,29,.4);box-shadow:0 1px 3px #0000004d}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-4)}.sidebar-content::-webkit-scrollbar{width:4px}.sidebar-content::-webkit-scrollbar-track{background:transparent}.sidebar-content::-webkit-scrollbar-thumb{background:rgba(126,146,120,.4);border-radius:2px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:rgba(126,146,120,.7)}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-primary);flex-shrink:0}.floating-header{position:fixed;top:var(--space-2);left:50%;transform:translate(-50%);z-index:var(--z-fixed);pointer-events:none;max-width:fit-content}.floating-header .glass-panel{pointer-events:auto;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-primary);background:var(--bg-secondary);overflow:visible!important;padding:0}.header-content{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px var(--space-3);overflow:visible;min-height:0}.logo{display:flex;align-items:center;white-space:nowrap;flex-shrink:0}.logo img{height:50px;width:auto;display:block;margin:0}.header-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;overflow:visible}.main-content{flex:1;position:relative;z-index:2}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.flex-col{display:flex;flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;justify-content:space-between;align-items:center}@media (max-width: 768px){.sidebar-left{width:100%;transform:translate(-100%);transition:transform var(--transition-normal)}.sidebar-left.open{transform:translate(0)}.logo img{height:40px}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInActivity{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinner-pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes progress-shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes notificationProgress{0%{width:100%}to{width:0%}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0);opacity:1}40%{transform:translateY(-10px);opacity:.7}}@keyframes footprintFadeIn{10%{opacity:1}to{opacity:1}}@keyframes footprintFadeOut{25%{opacity:0}to{opacity:0}}.fade-in{animation:fadeIn var(--transition-normal) ease-out}.fade-out{animation:fadeOut var(--transition-normal) ease-out}.fade-in-up{animation:fadeInUp var(--transition-normal) ease-out}.slide-in-left{animation:slideInLeft var(--transition-normal) ease-out}.slide-in-right{animation:slideInRight var(--transition-normal) ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.spin{animation:spin 1s linear infinite}.transition-fast{transition:all var(--transition-fast)}.transition-normal{transition:all var(--transition-normal)}.transition-slow{transition:all var(--transition-slow)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.hover-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow var(--transition-fast)}.hover-glow:hover{box-shadow:var(--shadow-green)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:none;align-items:center;justify-content:center;opacity:1;visibility:visible;pointer-events:auto}.loading-overlay.active{display:flex}.loading-overlay.hiding{opacity:0;transition:opacity .8s ease-out}.loading-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#0A0A0A!important;opacity:1!important;z-index:10001!important;display:flex;align-items:center;justify-content:center}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1.2rem;z-index:10002}.loading-logo{height:80px;width:auto;opacity:.95}.loading-progress-container{display:flex;flex-direction:column;align-items:center;gap:1rem}.loading-progress-bar{position:relative;width:360px;height:56px;background:transparent;border:1px solid rgba(156,175,136,.15);border-radius:28px;overflow:visible;display:flex;align-items:center;padding:0 10px}.footprint-progress{position:absolute;width:26px;height:24px;opacity:0;filter:drop-shadow(0 2px 4px rgba(156,175,136,.3));transition:opacity .3s ease-out,transform .3s ease-out;transform:scale(.5)}.footprint-progress.left{top:7px;left:calc(3% + (var(--delay) * 6.8%))}.footprint-progress.right{bottom:7px;left:calc(3% + (var(--delay) * 6.8%))}@keyframes footprintAppear{0%{opacity:0;transform:scale(.5)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.loading-text{color:#ffffffb3;font-size:.9rem;font-weight:400;letter-spacing:.5px;margin:0}@media (max-width: 768px){.loading-logo{height:60px}.loading-progress-bar{width:280px;height:48px}.footprint-progress{width:20px;height:18px}.footprint-progress.left{top:6px}.footprint-progress.right{bottom:6px}.loading-text{font-size:.85rem}}@media (max-width: 480px){.loading-logo{height:50px}.loading-progress-bar{width:240px;height:40px}.footprint-progress{width:17px;height:15px}.loading-text{font-size:.8rem}}.route-marker{width:12px;height:12px;border-radius:50%;background:rgba(25,25,35,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1.5px solid rgba(255,255,255,.3);cursor:pointer;transition:opacity .2s ease,box-shadow .2s ease,border-color .2s ease;box-shadow:0 1px 3px #0000004d;opacity:0;pointer-events:none}.route-marker.visible{pointer-events:auto;animation:markerFadeIn .4s ease-out forwards}@keyframes markerFadeIn{0%{opacity:0}to{opacity:1}}.route-marker:hover{box-shadow:0 2px 8px #00000080;border-width:2.5px}.start-marker{border:2px solid #10b981}.start-marker:hover{box-shadow:0 2px 6px #10b98180}.end-marker{border:2px solid #ef4444}.end-marker:hover{box-shadow:0 2px 6px #ef444480}@keyframes marker-pulse{0%,to{box-shadow:0 4px 12px #0000004d}50%{box-shadow:0 4px 12px #0000004d,0 0 20px #00d08499}}.start-marker.pulse{animation:marker-pulse 2s ease-in-out infinite}@keyframes marker-pulse-end{0%,to{box-shadow:0 4px 12px #0000004d}50%{box-shadow:0 4px 12px #0000004d,0 0 20px #ff475799}}.end-marker.pulse{animation:marker-pulse-end 2s ease-in-out infinite}.waypoint-marker{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#3498db 0%,#2980b9 100%);border:2px solid white;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:700;box-shadow:0 3px 10px #0000004d;cursor:move;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}.waypoint-marker:hover{box-shadow:0 4px 15px #0006,0 0 0 3px #3498db59;background:linear-gradient(135deg,#4aa3df 0%,#3690ca 100%)}.maplibregl-marker{will-change:transform}.maplibregl-popup-content{border-radius:12px;padding:16px;box-shadow:0 8px 24px #0003;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.maplibregl-popup-content h4{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary, #1a1a1a)}.maplibregl-popup-content p{margin:4px 0;font-size:14px;color:var(--text-secondary, #666)}.maplibregl-popup-tip{border-top-color:#fffffffa!important}@media (prefers-color-scheme: dark){.maplibregl-popup-content{background:rgba(30,30,30,.98)}.maplibregl-popup-content h4{color:var(--text-primary, #ffffff)}.maplibregl-popup-content p{color:var(--text-secondary, #b0b0b0)}.maplibregl-popup-tip{border-top-color:#1e1e1efa!important}}.route-creation-panel{position:fixed;bottom:16px;left:372px;right:16px;height:140px;background:rgba(26,26,26,.7);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff1a;padding:20px 24px;z-index:900;transform:translateY(calc(100% + 16px));transition:transform .4s cubic-bezier(.4,0,.2,1)}.route-creation-panel:hover{box-shadow:0 12px 48px #00000080,0 4px 12px #0000004d,inset 0 1px #ffffff26}.route-creation-panel.active{transform:translateY(0)}.creation-panel-content{display:flex;align-items:center;gap:24px;height:100%;max-width:1600px;margin:0 auto}.creation-stats{display:flex;gap:16px;flex-shrink:0}.stat-box{display:flex;flex-direction:column;gap:4px;padding:10px 14px;background:rgba(255,255,255,.05);border-radius:10px;border:1px solid rgba(255,255,255,.08);min-width:100px;transition:all .2s ease}.stat-box:hover{background:rgba(255,255,255,.08);border-color:#384e1d4d;transform:translateY(-1px)}.stat-box .stat-label{font-size:.7rem;color:#ffffff80;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.stat-box .stat-value{font-size:1.15rem;color:#fff;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.creation-chart{flex:1;height:100px;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid rgba(255,255,255,.08);padding:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.creation-chart canvas{display:block}.creation-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0;width:140px}.creation-actions .btn-glass{width:100%;padding:10px 16px;font-size:.85rem;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:600}.creation-actions .btn-glass svg{width:16px;height:16px}.creation-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}@media (max-width: 1200px){.creation-stats{gap:12px}.stat-box{min-width:85px;padding:8px 12px}.stat-box .stat-value{font-size:1rem}}@media (max-width: 1024px){.route-creation-panel{left:16px;height:auto;padding:16px}.creation-panel-content{flex-direction:column;gap:12px}.creation-stats{width:100%;justify-content:space-between}.creation-chart{width:100%;height:90px}.creation-actions{width:100%;flex-direction:row}.creation-actions .btn-glass{flex:1}}@media (max-width: 768px){.creation-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-box{min-width:0}}#map.routing-loading{cursor:wait!important}#map.routing-loading:after{content:"";position:absolute;top:12px;right:12px;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#3498db;border-radius:50%;animation:routing-spin .6s linear infinite;z-index:1000;pointer-events:none}@keyframes routing-spin{to{transform:rotate(360deg)}}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.ml-auto{margin-left:auto}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.pt-0{padding-top:0}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pb-0{padding-bottom:0}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.inset-0{top:0;right:0;bottom:0;left:0}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.z-dropdown{z-index:var(--z-dropdown)}.z-sticky{z-index:var(--z-sticky)}.z-fixed{z-index:var(--z-fixed)}.z-modal{z-index:var(--z-modal)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-move{cursor:move}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.bg-transparent{background:transparent}.border{border:1px solid var(--border-primary)}.border-0{border:none}.border-t{border-top:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.border-l{border-left:1px solid var(--border-primary)}.border-r{border-right:1px solid var(--border-primary)}.visible{visibility:visible}.invisible{visibility:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.auth-modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;justify-content:center;align-items:center;animation:fadeIn .2s ease}.auth-modal-overlay.active{display:flex}.auth-modal{background:rgba(26,26,26,.85);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.05);border-radius:16px;padding:32px;max-width:440px;width:90%;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease;position:relative}.auth-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#999;font-size:24px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.auth-modal-close:hover{background:rgba(255,255,255,.1);color:#fff}.auth-modal-header{margin-bottom:24px}.auth-modal-header h2{color:#fff;font-size:28px;font-weight:600;margin:0 0 8px}.auth-modal-header p{color:#999;font-size:14px;margin:0}.auth-modal-body{display:flex;flex-direction:column;gap:16px}.auth-tabs{display:flex;gap:8px;margin-bottom:16px;background:rgba(0,0,0,.3);padding:4px;border-radius:8px}.auth-tab{flex:1;padding:10px 16px;background:transparent;border:none;color:#999;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:all .2s}.auth-tab.active{background:var(--traillogger-green-dark);color:#fff}.auth-tab:hover:not(.active){background:rgba(255,255,255,.05);color:#fff}.auth-form{display:none}.auth-form.active{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#ccc;font-size:13px;font-weight:500}.form-group input{background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px 16px;color:#fff;font-size:14px;transition:all .2s}.form-group input:focus{outline:none;border-color:#e74c3c;background:rgba(0,0,0,.4)}.form-group input::placeholder{color:#666}.auth-button{padding:12px 24px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:10px}.auth-button:disabled{opacity:.5;cursor:not-allowed}.auth-button-primary{background:var(--traillogger-green-dark);color:#fff}.auth-button-primary:hover:not(:disabled){background:var(--traillogger-green-olive);transform:translateY(-1px);box-shadow:0 4px 12px #7e927866}.auth-button-google{background:#fff;color:#333;border:1px solid #ddd}.auth-button-google:hover:not(:disabled){background:#f8f8f8;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.auth-button-google img{width:20px;height:20px}.auth-divider{display:flex;align-items:center;gap:16px;margin:8px 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:rgba(255,255,255,.1)}.auth-divider span{color:#666;font-size:13px}.auth-error{display:none;padding:12px 16px;background:rgba(231,76,60,.1);border:1px solid rgba(231,76,60,.3);border-radius:8px;color:#e74c3c;font-size:13px}.auth-error.active{display:block}.auth-success{display:none;padding:12px 16px;background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);border-radius:8px;color:#2ecc71;font-size:13px}.auth-success.active{display:block}.auth-link{color:#e74c3c;text-decoration:none;font-size:13px;transition:color .2s}.auth-link:hover{color:#c0392b;text-decoration:underline}.auth-footer{margin-top:16px;text-align:center;color:#666;font-size:12px}@media (max-width: 480px){.auth-modal{padding:24px;margin:16px}.auth-modal-header h2{font-size:24px}}.my-routes-section{margin-bottom:24px}.my-routes-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 4px}.my-routes-section .section-title{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0}.groups-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.route-group{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000004d}.route-group-header{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.route-group-header:hover{background:rgba(255,255,255,.08)}.group-icon{width:16px;height:16px;border-radius:3px;flex-shrink:0}.group-name{flex:1;font-size:.875rem;font-weight:600;color:var(--text-primary)}.group-count{font-size:.75rem;color:var(--text-tertiary)}.group-actions{display:flex;align-items:center;gap:4px}.group-chevron{transition:transform .2s ease;color:var(--text-secondary)}.group-chevron.expanded{transform:rotate(180deg)}.route-group-routes{max-height:0;overflow:hidden;transition:max-height .3s ease}.route-group-routes.expanded{max-height:1000px;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.route-group-routes .route-item{margin-bottom:8px}.route-group-routes .route-item:last-child{margin-bottom:0}.route-item[draggable=true]{-webkit-user-select:none;user-select:none}.route-item[draggable=true]:hover{cursor:grab}.route-item[draggable=true]:active{cursor:grabbing}.route-item[draggable=true] button,.route-item[draggable=true] .route-stats,.route-item[draggable=true] .elevation-chart-container{cursor:default}.route-item.dragging{opacity:.5;cursor:grabbing}.route-group-header.drag-over{background-color:#3498db33;border:2px dashed rgba(52,152,219,.6);border-radius:8px}.routes-list{display:flex;flex-direction:column;gap:8px}.route-item{background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:16px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000004d}.route-item:hover{background:rgba(255,255,255,.12);border-color:#7e927880;transform:translateY(-2px);box-shadow:0 4px 16px #384e1d40}.route-item.expanded{background:rgba(56,78,29,.15);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:#7e927899;box-shadow:0 4px 16px #384e1d59}.route-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.route-item-header h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.route-header-actions{display:flex;align-items:center;gap:8px}.visibility-toggle{cursor:pointer;display:flex;align-items:center;position:relative}.visibility-checkbox{position:absolute;opacity:0;pointer-events:none}.eye-icon{width:1.125rem;height:1.125rem;color:var(--text-secondary);transition:color .2s ease,opacity .2s ease}.visibility-toggle:hover .eye-icon{color:var(--text-primary)}.eye-hidden{display:none}.visibility-checkbox:not(:checked)~.eye-visible{display:none}.visibility-checkbox:not(:checked)~.eye-hidden{display:block;opacity:.5}.route-item-stats{display:flex;gap:12px;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px}.route-item-description{font-size:.75rem;color:var(--text-tertiary);margin:4px 0;line-height:1.4}.route-item-date{font-size:.7rem;color:var(--text-tertiary);margin-top:4px}.delete-route-btn{opacity:.5;transition:opacity .2s ease}.delete-route-btn:hover{opacity:1;color:#ef4444}.route-item-analytics{max-height:0;overflow:hidden;transition:max-height .3s ease;margin-top:0}.route-item.expanded .route-item-analytics{max-height:400px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.analytics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}.route-item-analytics .analytics-stat{display:flex;flex-direction:column;gap:4px}.route-item-analytics .stat-label{font-size:.7rem;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.route-item-analytics .stat-value{font-size:.875rem;font-weight:600;color:var(--text-primary)}.analytics-chart{background:rgba(0,0,0,.2);border-radius:6px;padding:12px;margin-top:8px}.analytics-chart canvas{display:block;width:100%;height:auto}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--text-secondary);font-size:.875rem}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.auth-button-group{display:flex;gap:8px}.auth-button-group .auth-button{flex:1}.auth-button-secondary{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.auth-button-secondary:hover{background:rgba(255,255,255,.08)}.modal-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;justify-content:center;align-items:center;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.profile-btn{display:flex!important;align-items:center;gap:8px;padding:8px 14px!important;min-height:auto!important}.profile-btn .profile-icon{width:20px;height:20px;flex-shrink:0}.profile-btn .profile-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.profile-modal{background:rgba(26,26,26,.95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:20px;max-width:420px;width:90%;box-shadow:0 20px 60px #0009;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.profile-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6) var(--space-6) var(--space-4) var(--space-6);border-bottom:1px solid rgba(255,255,255,.08)}.profile-modal .modal-header h3{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.profile-modal .close-modal{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.profile-modal .close-modal:hover{background:rgba(255,255,255,.12);border-color:#fff3}.profile-modal .close-modal svg{width:18px;height:18px;color:#fffc}.profile-modal .modal-body{padding:var(--space-6)}.profile-modal .modal-footer{padding:var(--space-4) var(--space-6) var(--space-6) var(--space-6);border-top:1px solid rgba(255,255,255,.08)}.profile-info{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:16px;margin-bottom:0}.profile-avatar{width:72px;height:72px;background:linear-gradient(135deg,rgba(56,78,29,.4),rgba(56,78,29,.2));border:2px solid rgba(126,146,120,.3);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar svg{width:40px;height:40px;color:#fffffff2}.profile-details{flex:1;min-width:0}.profile-details h4{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-details p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);margin-top:var(--space-6)}.stat-item{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:var(--space-5);text-align:center;transition:all .25s ease}.stat-item:hover{background:rgba(255,255,255,.08);border-color:#7e92784d;transform:translateY(-2px)}.stat-label{display:block;font-size:.7rem;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-2)}.stat-value{display:block;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#ffffff 0%,rgba(126,146,120,1) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.btn-danger{background:rgba(255,59,48,.15);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#ff3b30;border:1px solid rgba(255,59,48,.25)}.btn-danger:hover{background:rgba(255,59,48,.25);border-color:#ff3b3066;color:#ff3b30}.btn-danger:active{background:rgba(255,59,48,.3);border-color:#ff3b3080}.mobile-header,.bottom-drawer{display:none}@media (max-width: 768px){.sidebar-left{display:none!important}.mobile-header{display:flex;position:fixed;top:0;left:0;right:0;height:56px;background:rgba(26,26,26,.85);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(255,255,255,.1);z-index:1000;align-items:center;justify-content:space-between;padding:0 12px}.mobile-header-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;padding:0}.mobile-header-btn:active{transform:scale(.95);background:rgba(255,255,255,.1)}.mobile-header-btn.active{background:var(--traillogger-green-dark);border-color:var(--traillogger-green-olive)}.mobile-route-details{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;margin-bottom:16px}.mobile-route-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.mobile-route-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.mobile-route-header .btn-icon{width:32px;height:32px;min-width:32px;padding:6px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.mobile-route-header .btn-icon:active{transform:scale(.95);background:rgba(255,255,255,.2)}.mobile-route-header .btn-icon svg{width:20px;height:20px}.mobile-route-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.stat-item{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.mobile-route-chart{margin-top:16px;border-radius:8px;overflow:hidden}.mobile-route-chart canvas{width:100%;height:auto;display:block}.mobile-header-btn svg{width:20px;height:20px}.mobile-header-logo{display:flex;align-items:center;height:36px}.mobile-header-logo img{height:100%;width:auto}.bottom-drawer{display:flex;flex-direction:column;position:fixed;bottom:0;left:0;right:0;background:rgba(26,26,26,.95);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.1);border-radius:24px 24px 0 0;z-index:999;transition:transform .3s cubic-bezier(.4,0,.2,1);max-height:75vh;overflow:hidden}.bottom-drawer.hidden{transform:translateY(100%)}.bottom-drawer.minimized{transform:translateY(calc(100% - 120px))}.bottom-drawer.open{transform:translateY(0)}.drawer-handle{display:flex;justify-content:center;align-items:center;padding:12px;cursor:grab;touch-action:none}.drawer-handle:active{cursor:grabbing}.drawer-handle-bar{width:40px;height:4px;background:rgba(255,255,255,.3);border-radius:2px}.drawer-tabs{display:flex;gap:6px;padding:0 12px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.drawer-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 4px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.drawer-tab .tab-label{display:block;line-height:1}.drawer-tab.active{background:var(--traillogger-green-dark);border-color:var(--traillogger-green-olive);color:var(--text-primary)}.drawer-tab svg{width:18px;height:18px}.drawer-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;-webkit-overflow-scrolling:touch}.drawer-content-section{display:none}.drawer-content-section.active{display:block}.mobile-info-panel{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;text-align:center}.mobile-info-panel h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.mobile-info-panel .text-secondary{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:0}.mobile-creation-stats{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px}.mobile-creation-stats .stats-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.mobile-creation-stats .stats-row:last-of-type{margin-bottom:16px}.mobile-creation-stats .stat-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;text-align:center}.mobile-creation-stats .stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.mobile-creation-stats .stat-value{display:block;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.mobile-creation-stats .mobile-chart-container{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:12px;margin-bottom:16px}.mobile-creation-stats .mobile-chart-container canvas{width:100%!important;height:120px!important}.mobile-creation-stats .action-buttons{display:flex;gap:8px}.mobile-creation-stats .action-buttons button{flex:1}.map-fullscreen{padding-top:56px}.route-card-mobile{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:12px;margin-bottom:12px;transition:all .2s ease}.route-card-mobile:active{transform:scale(.98);background:rgba(255,255,255,.08)}.route-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.route-card-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0;flex:1}.route-card-actions{display:flex;gap:4px}.route-card-icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.route-card-icon-btn:active{transform:scale(.9);background:rgba(255,255,255,.1)}.route-card-icon-btn svg{width:16px;height:16px}.route-card-stats{display:flex;gap:16px;font-size:.875rem;color:var(--text-secondary)}.route-card-stat{display:flex;align-items:center;gap:4px}.btn-glass.w-full{min-height:48px;font-size:1rem;touch-action:manipulation}.btn-glass svg{width:20px;height:20px}.settings-section{margin-bottom:24px}.settings-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:12px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.custom-select-trigger{min-height:48px;font-size:1rem;touch-action:manipulation;cursor:pointer}.custom-select-dropdown{position:fixed!important;left:16px!important;right:16px!important;top:auto!important;bottom:80px!important;max-height:50vh;overflow-y:auto;z-index:10000;border-radius:16px;box-shadow:0 8px 32px #00000080;display:none;opacity:0;transform:translateY(20px);transition:opacity .2s ease,transform .2s ease}.custom-select-dropdown.open{display:block;opacity:1;transform:translateY(0)}.dropdown-option{min-height:48px;display:flex;align-items:center;font-size:1rem;padding:12px 16px;touch-action:manipulation}.dropdown-option:active{background:rgba(255,255,255,.15)}body{font-size:16px}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}*{-webkit-tap-highlight-color:transparent}button,.btn-glass,.drawer-tab{-webkit-user-select:none;user-select:none;touch-action:manipulation}.drawer-content{will-change:scroll-position}@supports (padding: max(0px)){.mobile-header{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.bottom-drawer{padding-bottom:env(safe-area-inset-bottom)}.drawer-content{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}}@media (max-width: 768px) and (orientation: landscape){.bottom-drawer.open{transform:translateY(0);max-height:90vh}.bottom-drawer.minimized{transform:translateY(calc(100% - 80px))}}
