*{margin:0;padding:0;box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;overflow-x:hidden}body{overflow-x:hidden;width:100%;position:relative}#root{overflow-x:hidden;width:100%}*{transition:color .3s ease,border-color .3s ease,transform .2s ease,opacity .3s ease,box-shadow .3s ease}input,textarea,select{transition:border-color .3s ease,box-shadow .3s ease,background-color .3s ease}body{margin:0;min-width:320px;background:var(--gradient-bg);background-attachment:fixed;color:var(--text-primary)}#root{min-height:100vh}.navigation{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;background:var(--gradient-bg);border-top:1px solid var(--border-color);padding:12px 0;z-index:1001;box-shadow:0 -4px 20px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation__item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 16px;min-width:80px;text-decoration:none;color:var(--text-tertiary);transition:all .3s ease;border-radius:12px;position:relative}.navigation__item:before{content:"";position:absolute;inset:0;background:var(--gradient-accent);opacity:0;border-radius:12px;transition:opacity .3s ease;z-index:-1}.navigation__item:hover{color:var(--accent-light);transform:translateY(-2px)}.navigation__item:hover:before{opacity:.1}.navigation__item--active{color:var(--accent-primary);font-weight:600}.navigation__item--active:before{opacity:.15}.navigation__item svg{flex-shrink:0}.navigation__item span{font-size:12px;font-weight:500}@media(min-width:769px){.navigation{display:none}}.trail-card{display:grid;grid-template-columns:320px 1fr;background:var(--gradient-card);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-md);transition:all .3s ease;text-decoration:none;color:var(--text-primary);position:relative;border:1px solid var(--border-color);min-height:200px}.trail-card:hover{transform:translate(8px);box-shadow:var(--shadow-lg);border-color:var(--accent-primary)}.trail-card__image{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg-secondary)}.trail-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.trail-card:hover .trail-card__image img{transform:scale(1.05)}.trail-card__difficulty{position:absolute;top:16px;right:16px;padding:6px 16px;border-radius:24px;color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;box-shadow:0 4px 12px #0003;animation:slideInFromRight .5s ease}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.trail-card__favorite{position:absolute;top:16px;left:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);color:#ffffffe6;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));animation:slideInFromLeft .5s ease}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.trail-card__favorite:hover{transform:scale(1.15) rotate(-10deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}.trail-card__favorite--active{color:#e63946;animation:heartbeat .6s ease}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}}.trail-card__favorite--active:hover{transform:scale(1.2) rotate(10deg)}.trail-card__content{padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between;position:relative}.trail-card__title{margin:0 0 12px;font-size:24px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.3}.trail-card__location{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--text-secondary);font-size:15px;font-weight:500}.trail-card__map-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:var(--gradient-accent);border:none;border-radius:50%;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 6px #2e7d324d}.trail-card__map-button:hover{transform:scale(1.1);box-shadow:0 4px 12px #2e7d3280}.trail-card__map-button svg{color:#fff;stroke:#fff}.trail-card__disciplines{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.trail-card__discipline-tag{padding:6px 14px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.trail-card__stats-compact{display:flex;justify-content:space-around;align-items:center;margin-bottom:18px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.trail-card__stat-item{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;flex:1;position:relative}.trail-card__stat-item:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:var(--border-color)}.trail-card__stat-label{font-size:9px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.trail-card__stat-value{font-size:14px;font-weight:700;color:var(--accent-primary)}.trail-card__footer{display:flex;justify-content:space-between;align-items:center}.trail-card__rating{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:var(--text-primary);padding:8px 14px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:20px}.trail-card__rating svg{flex-shrink:0;color:#ffa726}.trail-card__reviews{font-size:13px;color:var(--text-tertiary);font-weight:600}@media(max-width:968px){.trail-card{grid-template-columns:1fr;min-height:auto}.trail-card__image{height:200px}.trail-card__content{padding:20px}.trail-card__title{font-size:20px}.trail-card__stats{gap:16px}.trail-card__stat-value{font-size:16px}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.trail-card{animation:fadeInScale .4s ease}.logo{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--gradient-card);border-radius:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:all .3s ease}.logo:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.logo__icon{width:48px;height:48px;flex-shrink:0}.logo__icon svg{width:100%;height:100%}.logo__text{display:flex;flex-direction:column;gap:2px}.logo__title{font-size:18px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.5px}.logo__subtitle{font-size:11px;color:var(--text-secondary);font-weight:500}@media(max-width:768px){.logo{padding:8px 12px}.logo__icon{width:36px;height:36px}.logo__title{font-size:16px}.logo__subtitle{font-size:10px}}.home-page-new{min-height:100vh;background:var(--gradient-bg)}.catalog-header{position:sticky;top:0;padding:12px 20px 16px;max-width:1400px;margin:0 auto;z-index:100;transition:all .3s ease}.catalog-header__container{background:var(--gradient-card);border-radius:20px;box-shadow:0 4px 16px #0006,0 2px 8px #2e7d3233;border:1px solid var(--border-color);transition:box-shadow .3s ease;overflow:hidden}.catalog-header__container:hover{box-shadow:0 6px 24px #00000080,0 4px 12px #2e7d324d}.catalog-header__top{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-color)}.catalog-header__bottom{padding:14px 18px}.search-wrapper{display:flex;gap:12px;align-items:center}.catalog-header__logo{flex-shrink:0}.catalog-header__profile-btn{display:flex;align-items:center;gap:10px;padding:6px 14px 6px 6px;background:var(--gradient-card);border:2px solid var(--accent-primary);border-radius:24px;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:var(--shadow-sm)}.catalog-header__profile-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-light)}.profile-btn-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-primary);transition:all .3s ease;flex-shrink:0}.profile-btn-avatar-placeholder{width:36px;height:36px;border-radius:50%;background:var(--gradient-accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border:2px solid var(--accent-primary);transition:all .3s ease;flex-shrink:0}.profile-btn-name{color:var(--text-primary);font-size:14px;font-weight:600;white-space:nowrap}.search-bar{flex:1;position:relative;display:flex;align-items:center;padding:10px 16px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:50px;transition:all .3s ease;box-shadow:var(--shadow-sm)}.search-bar:focus-within{border-color:var(--input-border-focus);box-shadow:0 4px 16px #2e7d3226;transform:translateY(-1px)}.search-bar svg{color:var(--text-tertiary);flex-shrink:0;transition:color .2s}.search-bar:focus-within svg{color:var(--accent-primary)}.search-bar__input{flex:1;margin:0 12px;padding:0;border:none;outline:none;font-size:14px;color:var(--text-primary);background:transparent}.search-bar__input::placeholder{color:var(--text-tertiary)}.search-bar__clear{padding:4px;background:none;border:none;cursor:pointer;color:var(--text-tertiary);transition:all .2s;border-radius:50%;display:flex;align-items:center;justify-content:center}.search-bar__clear:hover{color:var(--text-primary);background:var(--hover-overlay);transform:rotate(90deg)}.filters-toggle{display:flex;align-items:center;gap:8px;padding:14px 24px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:50px;font-size:15px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative;box-shadow:var(--shadow-sm)}.filters-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 12px #2e7d3226}.filters-toggle--active{background:var(--gradient-accent);border-color:var(--accent-hover);color:#fff}.filters-toggle--active:hover{background:linear-gradient(135deg,#1b5e20,#0d4412);transform:translateY(-1px) scale(1.02)}.filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#ffffff4d;border-radius:10px;font-size:12px;font-weight:700}.filters-toggle--active .filters-badge{background:#ffffff4d;color:#fff}.filters-toggle-circle{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--input-bg);border:2px solid var(--input-border);border-radius:50%;cursor:pointer;transition:all .3s ease;position:relative;box-shadow:var(--shadow-sm)}.filters-toggle-circle:hover{border-color:var(--accent-primary);background:var(--bg-tertiary);transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #2e7d3233}.filters-toggle-circle svg{color:var(--text-secondary);transition:color .3s}.filters-toggle-circle:hover svg{color:var(--accent-primary)}.filters-toggle-circle--active{background:var(--gradient-accent);border-color:var(--accent-hover);box-shadow:0 6px 16px #2e7d3266}.filters-toggle-circle--active svg{color:#fff}.filters-toggle-circle--active:hover{background:var(--gradient-hover);transform:translateY(-2px) scale(1.1)}.filters-badge-circle{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;padding:0 6px;display:flex;align-items:center;justify-content:center;background:#ff5722;color:#fff;border-radius:10px;font-size:11px;font-weight:700;border:2px solid var(--bg-elevated);box-shadow:0 2px 8px #ff572266}.filters-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1001;animation:fadeIn .2s ease}.filters-panel{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:500px;background:var(--bg-secondary);display:flex;flex-direction:column;animation:slideInRight .3s ease;box-shadow:var(--shadow-lg);z-index:1002}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.filters-panel__header{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:2px solid var(--border-color);background:var(--gradient-bg)}.filters-panel__header h3{margin:0;font-size:24px;font-weight:700;color:var(--accent-primary)}.filters-panel__close{padding:8px;background:var(--bg-secondary);border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.filters-panel__close:hover{background:var(--accent-primary);color:#fff;transform:rotate(90deg) scale(1.1)}.filters-panel__content{flex:1;padding:24px 24px 100px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:24px;min-height:0;-webkit-overflow-scrolling:touch}.filters-panel__actions{display:flex;gap:12px;position:sticky;bottom:0;background:var(--bg-primary);padding:20px 24px;border-top:2px solid var(--border-primary);margin:0 -24px;box-shadow:0 -4px 16px #0000001a}.filter-group{display:flex;flex-direction:column;gap:12px}.filter-group__label{font-size:15px;font-weight:700;color:var(--text-primary)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{padding:10px 18px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:24px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative;overflow:hidden}.filter-chip:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#2e7d321a;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s}.filter-chip:hover:before{width:200px;height:200px}.filter-chip:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3226}.filter-chip--active{background:var(--gradient-accent);border-color:var(--accent-hover);color:#fff;box-shadow:0 4px 12px #2e7d324d}.filter-chip--active:hover{transform:translateY(-2px) scale(1.05)}.filter-clear-btn{align-self:flex-start;padding:8px 16px;background:none;border:1px solid var(--input-border);border-radius:20px;font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-clear-btn:hover{background:#fff3e0;border-color:#ff9800;color:#ff9800;transform:translate(4px)}.range-slider-container{margin-top:16px}.range-slider-wrapper{position:relative;height:40px;margin-bottom:8px}.range-slider{position:absolute;width:100%;height:6px;background:transparent;pointer-events:none;-webkit-appearance:none;appearance:none}.range-slider::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--input-border);border-radius:3px}.range-slider::-moz-range-track{width:100%;height:6px;background:var(--input-border);border-radius:3px}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);cursor:pointer;box-shadow:0 2px 12px #2e7d3266;border:3px solid var(--accent-primary);pointer-events:all;position:relative;z-index:2;margin-top:-9px;transition:all .2s}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 4px 16px #2e7d3280}.range-slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);cursor:pointer;border:3px solid var(--accent-primary);box-shadow:0 2px 12px #2e7d3266;pointer-events:all;position:relative;z-index:2;transition:all .2s}.range-slider::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 4px 16px #2e7d3280}.range-slider--max{z-index:1}.range-values{display:flex;justify-content:space-between;margin-top:12px}.range-value{padding:8px 14px;background:var(--bg-tertiary);border-radius:12px;font-size:14px;font-weight:700;color:var(--accent-primary);box-shadow:var(--shadow-sm)}.filter-reset-btn,.filter-apply-btn{flex:1;padding:16px 24px;border:none;border-radius:50px;font-size:16px;font-weight:700;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.filter-apply-btn{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 16px #2e7d324d}.filter-apply-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d4412);transform:translateY(-2px);box-shadow:0 8px 24px #2e7d3266}.filter-apply-btn:active,.filter-reset-btn:active{transform:translateY(0)}.catalog-main{padding:20px 20px 40px}.catalog-container{max-width:1400px;margin:0 auto}.catalog-info{margin-bottom:16px;text-align:center}.catalog-title{margin:0 0 4px;font-size:28px;font-weight:800;background:linear-gradient(135deg,#2e7d32,#1b5e20);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.catalog-subtitle{margin:0;font-size:13px;color:var(--text-secondary);font-weight:500}.trails-grid{display:flex;flex-direction:column;gap:20px;animation:fadeInUp .5s ease}.trail-skeleton{background:var(--card-bg);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}.trail-skeleton__image{width:100%;height:200px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.trail-skeleton__content{padding:16px;display:flex;flex-direction:column;gap:12px}.trail-skeleton__line{height:16px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.trail-skeleton__line--title{width:70%;height:20px}.trail-skeleton__line--subtitle{width:50%}.trail-skeleton__tags{display:flex;gap:8px}.trail-skeleton__tag{width:80px;height:24px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--text-tertiary);animation:fadeIn .5s ease}.empty-state svg{margin-bottom:24px;color:var(--text-disabled)}.empty-state p:first-of-type{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text-secondary)}.empty-state__hint{margin:0;font-size:16px}@media(min-width:769px){.catalog-header__top{padding:20px 40px}.catalog-header__bottom{padding:0 40px 20px}.catalog-main{padding:60px 40px}.catalog-title{font-size:64px}.trails-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:32px}}@media(max-width:768px){.catalog-header__bottom,.search-wrapper{width:100%}.search-bar{flex:1}.filters-panel{width:100%;max-width:100%}.catalog-title{font-size:32px}.catalog-subtitle{font-size:16px}.trails-grid{grid-template-columns:repeat(2,1fr);gap:12px}}.review-section{margin-top:40px;padding:0 20px 20px}.review-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.review-section__header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.add-review-btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;border:none;border-radius:50px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2e7d324d}.add-review-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3266}.add-review-btn:active{transform:translateY(0)}.review-loading{text-align:center;padding:40px;color:#666;font-size:16px}[data-theme=dark] .review-loading{color:#999}.review-form{background:#fff;border-radius:16px;padding:24px;margin-bottom:32px;box-shadow:0 4px 16px #00000014;animation:slideDown .3s ease}[data-theme=dark] .review-form{background:#1a1a1a;box-shadow:0 4px 16px #0000004d}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.review-form h3{font-size:20px;font-weight:700;color:#1a1a1a;margin:0 0 20px}[data-theme=dark] .review-form h3{color:#fff}.review-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ffebee;border:1px solid #ef5350;border-radius:12px;color:#c62828;font-size:14px;margin-bottom:20px}.review-form .form-group{margin-bottom:20px}.review-form .form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.stars{display:flex;gap:4px}.star{background:none;border:none;font-size:32px;color:#e0e0e0;cursor:pointer;transition:all .2s ease;padding:0;line-height:1}.star:not(:disabled):hover{transform:scale(1.2)}.star--active{color:#ffa726}.review-form textarea{width:100%;padding:14px 16px;font-size:15px;border:2px solid #e0e0e0;border-radius:12px;transition:all .2s ease;font-family:inherit;resize:vertical}.review-form textarea:focus{outline:none;border-color:#2e7d32;box-shadow:0 0 0 4px #2e7d321a}.char-count{font-size:13px;color:#666;margin-top:6px}.form-actions{display:flex;gap:12px}.submit-btn,.cancel-btn{flex:1;padding:14px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease}.submit-btn{background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;box-shadow:0 4px 12px #2e7d324d}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3266}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#f5f5f5;color:#333}.cancel-btn:hover{background:#e0e0e0}.reviews-list{display:flex;flex-direction:column;gap:16px}.no-reviews{text-align:center;padding:60px 20px;color:#999}.no-reviews svg{margin-bottom:16px;opacity:.5}.no-reviews p{font-size:18px;font-weight:600;margin:0 0 8px}.no-reviews__subtitle{font-size:14px;font-weight:400;color:#bbb}.review-card{background:#fff;border-radius:12px;padding:14px;box-shadow:0 2px 8px #0000000f;transition:all .3s ease;position:relative}.review-card:hover{box-shadow:0 4px 16px #0000001a}.review-card__header{display:flex;gap:12px;align-items:center;margin-bottom:8px}.review-card__avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0}.review-card__avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;font-size:18px;font-weight:700}.review-card__info{display:flex;flex-direction:column;gap:6px;flex:1}.review-card__top-line{display:flex;justify-content:space-between;align-items:center;gap:12px}.review-card__name-date{display:flex;flex-direction:column;gap:2px}.review-card__name-link{font-size:15px;font-weight:700;color:var(--accent-primary);background:none;border:none;padding:0;cursor:pointer;transition:color .2s ease;text-align:left}.review-card__name-link:hover{color:var(--accent-light)}.review-card__date{font-size:11px;color:var(--text-tertiary);white-space:nowrap}.review-card__rating{margin:0}.review-card__level{display:inline-block;padding:2px 8px;font-size:10px;font-weight:600;background:var(--gradient-accent);color:#fff;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.review-card__rating .stars{gap:2px}.review-card__rating .star{font-size:24px;cursor:default}.review-card__comment{font-size:14px;line-height:1.5;color:#333;margin:0 0 8px;white-space:pre-wrap}.review-card__bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:8px;gap:12px}.review-card__delete-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffebee;color:#d32f2f;border:1px solid #ffcdd2;border-radius:8px;cursor:pointer;transition:all .2s ease;flex-shrink:0;padding:0}.review-card__delete-icon:hover{background:#ffcdd2;border-color:#ef9a9a}[data-theme=dark] .review-card__delete-icon{background:#d32f2f26;border-color:#d32f2f4d;color:#ef5350}[data-theme=dark] .review-card__delete-icon:hover{background:#d32f2f40;border-color:#d32f2f80}.photo-upload-area{display:flex;flex-direction:column;gap:12px}.photo-upload-button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;background:#f5f5f5;border:2px dashed #ccc;border-radius:12px;cursor:pointer;transition:all .2s ease;align-self:flex-start}.photo-upload-button:hover{background:#e8f5e9;border-color:#2e7d32}.photo-upload-button span{font-size:15px;font-weight:600;color:#333}.photo-preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.photo-preview{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;border:2px solid #e0e0e0}.photo-remove-btn{position:absolute;top:4px;right:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #0003}.photo-remove-btn:hover{background:#ffebee;color:#d32f2f}.review-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:12px}.review-photo{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid #e0e0e0}.review-photo:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}@media(max-width:768px){.review-section{padding:0 16px 16px}.review-section__header{flex-direction:column;gap:16px;align-items:stretch}.review-section__header h2{font-size:20px}.add-review-btn{width:100%;justify-content:center}.review-form{padding:20px 16px}.review-form h3{font-size:18px}.star{font-size:28px}.form-actions{flex-direction:column}.review-card{padding:14px}.review-card__header{align-items:flex-start}.review-card__avatar{width:44px;height:44px}.review-card__info{gap:4px}.review-card__top-line{gap:8px}.review-card__date{font-size:11px}.review-card__level{font-size:9px;padding:2px 6px}.review-card__rating .star{font-size:20px}.review-card__comment{font-size:13px}.review-card__bottom{flex-direction:column;align-items:flex-start;gap:8px}.review-card__delete-icon{align-self:flex-end}}[data-theme=dark] .review-form .form-group label{color:#e0e0e0}[data-theme=dark] .review-form textarea{background:#2a2a2a;border-color:#444;color:#fff}[data-theme=dark] .review-form textarea:focus{border-color:#2e7d32;background:#2a2a2a}[data-theme=dark] .char-count{color:#999}[data-theme=dark] .cancel-btn{background:#2a2a2a;color:#e0e0e0}[data-theme=dark] .cancel-btn:hover{background:#333}[data-theme=dark] .no-reviews{color:#888}[data-theme=dark] .no-reviews__subtitle{color:#666}[data-theme=dark] .review-card{background:#1a1a1a;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .review-card:hover{box-shadow:0 4px 16px #0006}[data-theme=dark] .review-card__comment{color:#e0e0e0}[data-theme=dark] .photo-upload-button{background:#2a2a2a;border-color:#444}[data-theme=dark] .photo-upload-button:hover{background:#1b5e20;border-color:#2e7d32}[data-theme=dark] .photo-upload-button span{color:#e0e0e0}[data-theme=dark] .photo-preview,[data-theme=dark] .review-photo{border-color:#444}.trail-detail{max-width:1200px;margin:0 auto;padding:12px 12px 80px;background:var(--gradient-bg);min-height:100vh}.trail-detail__loading,.trail-detail__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-tertiary)}.trail-detail__header{margin-bottom:12px}.trail-detail__back{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;text-decoration:none;color:var(--text-primary);font-size:14px;font-weight:500;transition:all .3s ease}.trail-detail__back:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translate(-4px)}.trail-detail__gallery{position:relative;width:100%;height:300px;margin-bottom:20px;background:var(--bg-secondary);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:box-shadow .3s ease;cursor:grab;touch-action:pan-y pinch-zoom;-webkit-user-select:none;user-select:none}.trail-detail__gallery:active{cursor:grabbing}.trail-detail__gallery:hover{box-shadow:var(--shadow-lg)}.trail-detail__photo{width:100%;height:100%;object-fit:cover}.trail-detail__gallery-controls{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:8px 16px;background:#000000b3;border-radius:24px;color:#fff}.gallery-button{padding:4px 12px;background:#fff3;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px}.gallery-button:hover{background:#ffffff4d}.gallery-counter{font-size:14px}.trail-detail__content{display:grid;grid-template-columns:1fr 280px;gap:20px}.trail-detail__title{margin:0 0 10px;font-size:24px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.trail-detail__location{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--text-secondary);font-size:14px}.trail-detail__location svg{color:var(--accent-primary);width:18px;height:18px}.trail-detail__disciplines{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.trail-detail__discipline-tag{padding:4px 10px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:12px;font-size:12px;font-weight:500}.trail-detail__difficulty{display:inline-block;padding:6px 12px;margin-bottom:16px;border-radius:8px;color:#fff;font-size:13px;font-weight:600}.trail-detail__stats{display:flex;justify-content:space-around;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.trail-detail__stat{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;flex:1;position:relative}.trail-detail__stat:not(:last-child):after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:var(--border-color)}.trail-detail__stat-label{font-size:10px;font-weight:700;color:var(--text-tertiary);letter-spacing:.5px;text-transform:uppercase}.trail-detail__stat-value{font-size:15px;font-weight:700;color:var(--accent-primary)}.trail-detail__description,.trail-detail__section{margin-bottom:20px}.trail-detail__description h2,.trail-detail__section h2{margin:0 0 8px;font-size:16px;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.trail-detail__description p,.trail-detail__section p{margin:0;color:var(--text-secondary);line-height:1.6}.trail-detail__tags{display:flex;flex-wrap:wrap;gap:8px}.trail-detail__tag{padding:6px 12px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:8px;font-size:14px}.trail-detail__list{margin:0;padding-left:20px;color:var(--text-secondary)}.infrastructure-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.infrastructure-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--gradient-card);border:2px solid var(--border-color);border-radius:12px;transition:all .3s ease;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.infrastructure-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent);transform:scaleX(0);transition:transform .3s ease}.infrastructure-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.infrastructure-item:hover:before{transform:scaleX(1)}.infrastructure-item__icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(46,125,50,.3));transition:transform .3s ease}.infrastructure-item:hover .infrastructure-item__icon{transform:scale(1.1) rotate(5deg)}.infrastructure-item__label{font-size:11px;color:var(--text-secondary);text-align:center;font-weight:600;letter-spacing:.2px;transition:color .3s ease;line-height:1.2}.infrastructure-item:hover .infrastructure-item__label{color:var(--accent-primary)}.trail-detail__sidebar{position:sticky;top:20px;height:fit-content}.trail-detail__map{padding:20px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md)}.trail-detail__map h3{margin:0 0 12px;font-size:18px;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.trail-detail__map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;color:var(--text-tertiary)}.trail-detail__coordinates{margin:0;font-size:13px;font-weight:600;color:var(--text-secondary);padding:8px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:20px;box-shadow:var(--shadow-sm)}.trail-detail__map-button{display:flex;align-items:center;gap:8px;padding:14px 28px;background:var(--gradient-accent);color:#fff;text-decoration:none;border-radius:50px;font-size:16px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 16px #2e7d324d;margin-top:8px}.trail-detail__map-button:hover{background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 8px 24px #2e7d3266}.trail-detail__map-button:active{transform:translateY(0)}.trail-detail__map-button svg{flex-shrink:0;transition:transform .3s ease}.trail-detail__map-button:hover svg{transform:scale(1.2)}@media(max-width:768px){.trail-detail__content{grid-template-columns:1fr}.trail-detail__sidebar{position:static}.trail-detail__gallery{height:250px}.trail-detail__title{font-size:24px}.trail-detail__stats{grid-template-columns:repeat(2,1fr)}}.competition-card{display:flex;flex-direction:column;padding:20px;background:var(--gradient-card);border-radius:20px;box-shadow:var(--shadow-md);transition:all .3s ease;color:var(--text-primary);border:1px solid var(--border-color);border-left:6px solid var(--accent-primary);height:100%}.competition-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.competition-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.competition-card__title{margin:0 0 8px;font-size:18px;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.competition-card__location{display:flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:14px}.competition-card__status{padding:6px 12px;border-radius:20px;color:#fff;font-size:12px;font-weight:600;white-space:nowrap}.competition-card__date{display:flex;align-items:center;gap:6px;margin-bottom:12px;color:var(--text-secondary);font-size:14px;font-weight:500}.competition-card__disciplines{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.competition-card__discipline-tag{padding:4px 10px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:16px;font-size:12px;font-weight:500}.competition-card__description{margin:0 0 16px;color:var(--text-secondary);font-size:14px;line-height:1.5;flex:1}.competition-card__details-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:var(--gradient-accent);color:#fff;text-decoration:none;border-radius:50px;font-size:15px;font-weight:700;transition:all .3s ease;box-shadow:0 4px 12px #2e7d324d;margin-top:auto}.competition-card__details-button:hover{background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 6px 16px #2e7d3266}.competition-card__details-button:active{transform:translateY(0)}.competition-card__details-button svg{flex-shrink:0;transition:transform .3s ease}.competition-card__details-button:hover svg{transform:translate(4px)}@media(max-width:768px){.competition-card{padding:16px}.competition-card__header{flex-direction:column;align-items:flex-start}.competition-card__status{align-self:flex-start;font-size:11px;padding:4px 10px}.competition-card__title{font-size:16px}.competition-card__date,.competition-card__location,.competition-card__description{font-size:13px}.competition-card__details-button{padding:10px 20px;font-size:14px}}.competitions-page{min-height:100vh;background:var(--gradient-bg);max-width:1200px;margin:0 auto;padding:20px 20px 100px}.competitions-page__header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;padding:20px;background:var(--gradient-card);border-radius:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:box-shadow .3s ease}.competitions-page__logo{flex-shrink:0}.competitions-page__header-text{flex:1;text-align:center}.competitions-page__title{margin:0 0 2px;font-size:20px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.competitions-page__subtitle{margin:0;font-size:12px;color:var(--text-secondary)}.competitions-page__filter-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--gradient-accent);color:#fff;border:1px solid var(--accent-primary);border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 1px 4px #2e7d324d;flex-shrink:0}.competitions-page__filter-toggle svg{width:14px;height:14px}.competitions-page__filter-toggle:hover{background:linear-gradient(135deg,#1b5e20,#0d4412);box-shadow:0 6px 16px #2e7d3280;transform:translateY(-2px)}.competitions-page__filter-toggle:active{transform:translateY(0)}.competitions-page__filters{margin-bottom:32px;padding:20px;background:var(--gradient-card);border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.competitions-page__filters:hover{box-shadow:var(--shadow-lg)}.filter-group{margin-bottom:20px}.filter-group:last-child{margin-bottom:0}.filter-label{display:block;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text-primary)}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-button{padding:8px 16px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:20px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s}.filter-button:hover{border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-1px);box-shadow:0 4px 12px #2e7d3226}.filter-button--active{background:var(--gradient-accent);border-color:var(--accent-hover);color:#fff;box-shadow:0 4px 12px #2e7d324d}.filters-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:2px solid var(--border-color)}.filter-reset-btn,.filter-apply-btn{flex:1;padding:14px 24px;border:none;border-radius:20px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.filter-reset-btn{background:var(--bg-tertiary);color:var(--text-secondary);border:2px solid var(--input-border)}.filter-reset-btn:hover{background:#ff9800;color:#fff;border-color:#ff9800;transform:translateY(-2px);box-shadow:0 6px 16px #ff98004d}.filter-apply-btn{background:var(--gradient-accent);color:#fff;box-shadow:0 4px 12px #2e7d324d}.filter-apply-btn:hover{background:linear-gradient(135deg,#1b5e20,#0d4412);box-shadow:0 6px 16px #2e7d3280;transform:translateY(-2px)}.filter-apply-btn:active{transform:translateY(0)}.competitions-page__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.competitions-page__loading,.competitions-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 20px;color:var(--text-tertiary);grid-column:1 / -1}.competitions-page__empty p:first-child{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-secondary)}.competitions-page__empty-hint{margin:0;font-size:14px}@media(max-width:768px){.competitions-page{padding:16px}.competitions-page__header{flex-direction:column;align-items:flex-start;gap:16px}.competitions-page__header-text{text-align:left}.competitions-page__filter-toggle{width:100%;justify-content:center}.competitions-page__title{font-size:24px}.competitions-page__subtitle{font-size:14px}.filter-buttons{flex-wrap:wrap}.filter-button{flex-shrink:0}.competitions-page__list{grid-template-columns:1fr;gap:16px}}.competition-detail{max-width:1200px;margin:0 auto;padding:20px 20px 80px;background:var(--gradient-bg);min-height:100vh}.competition-detail__loading,.competition-detail__error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-tertiary)}.competition-detail__header{margin-bottom:20px}.competition-detail__back{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;text-decoration:none;color:var(--text-primary);font-weight:500;transition:all .2s}.competition-detail__back:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translate(-2px)}.competition-detail__content{display:grid;grid-template-columns:1fr 300px;gap:32px}.competition-detail__title-section{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.competition-detail__title{flex:1;margin:0;font-size:32px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.competition-detail__status{padding:8px 16px;border-radius:8px;color:#fff;font-weight:600;font-size:14px;white-space:nowrap}.competition-detail__location{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--text-secondary);font-size:16px}.competition-detail__disciplines{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.competition-detail__discipline-tag{padding:6px 14px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:16px;font-size:14px;font-weight:500}.competition-detail__info{margin-bottom:32px}.info-card{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-sm)}.info-card svg{flex-shrink:0;color:var(--accent-primary)}.info-card__label{margin-bottom:4px;color:var(--text-tertiary);font-size:14px}.info-card__value{font-size:18px;font-weight:600;color:var(--text-primary)}.competition-detail__section{margin-bottom:32px}.competition-detail__section h2{margin:0 0 12px;font-size:20px;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.competition-detail__section p{margin:0;color:var(--text-secondary);line-height:1.6}.registration-link{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--gradient-accent);color:#fff;text-decoration:none;border-radius:50px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #2e7d324d}.registration-link:hover{background:var(--gradient-hover);transform:translateY(-2px);box-shadow:0 6px 16px #2e7d3266}.contact-info{padding:16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;white-space:pre-line;color:var(--text-secondary)}.competition-detail__sidebar{position:sticky;top:20px;height:fit-content}.competition-detail__map{padding:20px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-md)}.competition-detail__map h3{margin:0 0 12px;font-size:18px;font-weight:600;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.competition-detail__map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-tertiary);text-align:center}.competition-detail__map-placeholder svg{margin-bottom:8px;color:var(--accent-primary)}.competition-detail__coordinates{margin-top:8px;font-size:12px;color:var(--text-secondary)}@media(max-width:768px){.competition-detail__content{grid-template-columns:1fr}.competition-detail__sidebar{position:static}.competition-detail__title-section{flex-direction:column;align-items:flex-start}.competition-detail__title{font-size:24px}}.favorites-page{min-height:100vh;background:var(--gradient-bg);max-width:1200px;margin:0 auto;padding:20px 20px 100px}.favorites-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:20px;background:var(--gradient-card);border-radius:16px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.favorites-page__logo{flex-shrink:0}.favorites-page__header-text{flex:1;text-align:right}.favorites-page__title{margin:0 0 4px;font-size:28px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.favorites-page__subtitle{margin:0;font-size:14px;color:var(--text-secondary)}.favorites-page__loading,.favorites-page__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-tertiary)}.favorites-page__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.favorites-page__empty svg{margin-bottom:16px;color:var(--text-disabled)}.favorites-page__empty p:first-of-type{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-secondary)}.favorites-page__empty-hint{margin:0;font-size:14px}.spinner{width:40px;height:40px;margin-bottom:12px;border:4px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@media(max-width:768px){.favorites-page__title{font-size:24px}.favorites-page__list{grid-template-columns:1fr}}.profile-page{min-height:100vh;background:var(--gradient-bg);max-width:800px;margin:0 auto;padding:20px 20px 80px}.profile-page__back{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:20px}.profile-page__back:hover{transform:translate(-4px);box-shadow:0 4px 12px #0003}.profile-page__logo{display:flex;justify-content:center;margin-bottom:24px}.profile-page__header{display:flex;align-items:center;gap:20px;padding:24px;background:var(--gradient-card);border-radius:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);margin-bottom:24px;transition:box-shadow .3s ease}.profile-page__avatar-wrapper{position:relative;flex-shrink:0}.profile-page__avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0}.profile-page__avatar img{width:100%;height:100%;object-fit:cover}.profile-page__avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--gradient-accent);color:#fff}.profile-page__info{flex:1}.profile-page__name{margin:0 0 4px;font-size:24px;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile-page__email{margin:0 0 8px;font-size:14px;color:var(--text-secondary)}.profile-page__age{margin:0 0 4px;font-size:14px;color:var(--text-secondary);font-weight:500}.profile-page__level{display:inline-block;padding:4px 12px;background:var(--bg-tertiary);color:var(--accent-primary);border-radius:12px;font-size:12px;font-weight:600}.avatar-upload-btn{position:absolute;bottom:0;right:0;width:32px;height:32px;background:var(--gradient-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all .2s;color:#fff}.avatar-upload-btn:hover{background:var(--gradient-hover);transform:scale(1.1);box-shadow:var(--shadow-md)}.avatar-upload-btn svg{width:18px;height:18px}.profile-name-row{display:flex;align-items:center;gap:12px;margin-bottom:4px}.profile-edit-btn{padding:6px;background:#f5f5f5;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#666}.profile-edit-btn:hover{background:#e8f5e9;color:#2e7d32}.profile-edit-form{display:flex;flex-direction:column;gap:12px}.profile-edit-input{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;font-weight:600;color:#333;outline:none;transition:border-color .2s}.profile-edit-input:focus{border-color:#2e7d32}.profile-edit-input--age{width:120px}.profile-edit-actions{display:flex;gap:8px}.profile-edit-save,.profile-edit-cancel{padding:8px 16px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.profile-edit-save{background:#2e7d32;color:#fff;flex:1}.profile-edit-save:hover{background:#245c28}.profile-edit-cancel{background:#f5f5f5;color:#666}.profile-edit-cancel:hover{background:#e0e0e0}.profile-page__stats{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.stat-card--combined{display:flex;flex-direction:row;justify-content:space-around;align-items:center;padding:20px}.stat-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.stat-divider{width:2px;height:60px;background:linear-gradient(to bottom,transparent,#e0e0e0,transparent);margin:0 16px}.profile-page__bike-info{padding:20px;background:var(--gradient-card);border-radius:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);margin-bottom:24px;transition:transform .3s ease,box-shadow .3s ease}.profile-page__bike-info:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.profile-page__bike-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.profile-page__bike-title{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;color:var(--accent-primary)}.profile-page__bike-edit-btn{padding:6px 16px;background:#2e7d32;color:#fff;border:none;border-radius:16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.profile-page__bike-edit-btn:hover{background:#245c28}.profile-page__bike-model{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.profile-page__bike-input{width:100%;padding:12px;border:2px solid #2e7d32;border-radius:12px;font-size:16px;font-weight:600;color:#333;outline:none;transition:border-color .2s}.profile-page__bike-input:focus{border-color:#1b5e20}.bike-photo-section{margin:16px 0}.bike-photo-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px;background:#f5f5f5;border:2px dashed #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s;color:#999}.bike-photo-upload:hover{border-color:#2e7d32;background:#e8f5e9;color:#2e7d32}.bike-photo-upload svg{opacity:.5}.bike-photo-upload:hover svg{opacity:1}.bike-photo-upload span{font-size:14px;font-weight:500}.bike-photo-input{display:none}.bike-photo-container{position:relative;border-radius:12px;overflow:hidden}.bike-photo{width:100%;height:auto;display:block;border-radius:12px}.bike-photo-remove{position:absolute;top:12px;right:12px;padding:8px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.bike-photo-remove:hover{background:#d32f2fe6;transform:scale(1.1)}.stat-card{padding:20px;background:var(--gradient-card);border-radius:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);text-align:center;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card__icon{font-size:32px;margin-bottom:8px}.stat-card__value{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-card__value--text{font-size:14px;font-weight:600;line-height:1.4}.stat-card--disciplines{grid-column:1 / -1}.stat-card__label{font-size:13px;color:var(--text-secondary)}.profile-page__disciplines-section{padding:20px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;margin-bottom:20px;box-shadow:0 2px 8px #0003}.disciplines-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.discipline-tag{padding:8px 16px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:20px;font-size:14px;font-weight:600}.profile-page__sections{display:flex;flex-direction:column;gap:24px}.profile-section{padding:24px;background:var(--gradient-card);border-radius:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.profile-section:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.profile-section__title{margin:0 0 8px;font-size:20px;font-weight:600;color:var(--text-primary)}.profile-section__subtitle{margin:0 0 16px;font-size:14px;color:var(--text-secondary)}.disciplines-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.discipline-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background:var(--input-bg);border:2px solid var(--input-border);border-radius:12px;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s;min-height:80px}.discipline-card:hover:not(.discipline-card--disabled){background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3226}.discipline-card--selected{background:var(--gradient-accent);border-color:var(--accent-hover);color:#fff;box-shadow:0 4px 12px #2e7d324d}.discipline-card--disabled{opacity:.5;cursor:not-allowed}.discipline-card__label{text-align:center}.profile-section__empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:#999}.profile-section__empty svg{margin-bottom:12px;color:#ddd}.profile-section__empty p:first-of-type{margin:0 0 4px;font-size:16px;font-weight:600;color:#666}.profile-section__hint{margin:0;font-size:14px}.settings-list{display:flex;flex-direction:column;gap:8px}.setting-item{display:flex;align-items:center;gap:12px;padding:16px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;cursor:pointer;transition:all .2s;width:100%;text-align:left;color:var(--text-primary)}.setting-item:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);transform:translate(4px);box-shadow:0 4px 12px #2e7d321a}.setting-item span{flex:1;font-size:15px;font-weight:500}.setting-item svg:first-child{color:var(--text-secondary)}.setting-item svg:last-child{color:var(--text-tertiary)}.setting-item--danger{color:#d32f2f}.setting-item--danger svg{color:#d32f2f}.disciplines-select-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:16px 24px;background:#2e7d32;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #2e7d324d}.disciplines-select-btn:hover{background:#245c28;box-shadow:0 4px 12px #2e7d3266;transform:translateY(-2px)}.disciplines-select-btn:active{transform:translateY(0)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;padding:24px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 32px #0003;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.modal-title{margin:0;font-size:22px;font-weight:700;color:#333}.modal-subtitle{margin:0 0 20px;font-size:14px;color:#666}.modal-close{padding:8px;background:#f5f5f5;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#666}.modal-close:hover{background:#e0e0e0;color:#333}.modal-done-btn{width:100%;padding:14px;background:#2e7d32;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;margin-top:20px;transition:all .2s}.modal-done-btn:hover{background:#245c28}.my-reviews-list{display:flex;flex-direction:column;gap:16px;margin-top:16px}.my-review-card{background:var(--bg-secondary);border-radius:10px;padding:12px;border:2px solid transparent;transition:all .2s ease;cursor:pointer}.my-review-card:hover{border-color:var(--accent-primary);box-shadow:0 4px 12px #2e7d321a}.my-review-trail-info{display:flex;align-items:center;gap:10px;margin-bottom:8px}.my-review-trail-image{width:50px;height:50px;border-radius:6px;object-fit:cover}.my-review-trail-name{font-size:15px;font-weight:600;color:var(--text-primary);margin:0}.my-review-trail-city{font-size:12px;color:var(--text-secondary);margin:3px 0 0}.my-review-rating{color:#ffa726;font-size:14px;margin-bottom:6px}.my-review-comment{color:var(--text-primary);font-size:13px;line-height:1.4;margin:0 0 6px}.my-review-date{font-size:11px;color:var(--text-tertiary)}.reviews-modal-content{max-width:600px;max-height:80vh;display:flex;flex-direction:column}.reviews-modal-body{flex:1;overflow-y:auto;padding:0 24px 24px}.reviews-modal-body .my-reviews-list{display:flex;flex-direction:column;gap:12px}@media(max-width:768px){.profile-page__header{flex-direction:column;text-align:center}.profile-page__stats{grid-template-columns:1fr}.stat-card__value{font-size:20px}}.user-profile-page{min-height:100vh;background:var(--gradient-bg);padding:20px 20px 100px;max-width:800px;margin:0 auto}.user-profile-back{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:20px}.user-profile-back:hover{transform:translate(-4px);box-shadow:0 4px 12px #0003}.user-profile-header{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:20px;padding:24px;margin-bottom:20px;display:flex;align-items:center;gap:20px;box-shadow:0 4px 12px #0000004d}.user-profile-avatar-container{flex-shrink:0}.user-profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid var(--accent-primary)}.user-profile-avatar-placeholder{width:80px;height:80px;border-radius:50%;background:var(--gradient-accent);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;border:3px solid var(--accent-primary)}.user-profile-info{flex:1}.user-profile-name{margin:0 0 8px;font-size:28px;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-profile-level{display:inline-block;padding:6px 14px;background:var(--gradient-accent);color:#fff;border-radius:16px;font-size:13px;font-weight:600}.user-profile-section{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;padding:20px;margin-bottom:16px;box-shadow:0 2px 8px #0003}.user-profile-section-title{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:600;color:var(--accent-primary)}.user-profile-disciplines{display:flex;flex-wrap:wrap;gap:8px}.user-profile-discipline-tag{padding:8px 16px;background:var(--input-bg);color:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:20px;font-size:14px;font-weight:600}.user-profile-bike-photo{margin-bottom:12px;border-radius:12px;overflow:hidden}.user-profile-bike-photo img{width:100%;height:auto;display:block}.user-profile-bike-model{margin:0;font-size:18px;font-weight:700;color:var(--text-primary)}.user-profile-loading,.user-profile-error{text-align:center;padding:40px 20px;font-size:16px;color:var(--text-secondary)}.user-profile-error{color:#e53935}.admin-page{min-height:100vh;background:var(--gradient-bg);padding:20px;max-width:1400px;margin:0 auto}.admin-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px}.admin-login-box{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;padding:40px;width:100%;max-width:400px;box-shadow:0 8px 32px #0000001a}.admin-login-box h1{margin:0 0 24px;font-size:24px;font-weight:800;text-align:center;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-login-form{display:flex;flex-direction:column;gap:20px}.admin-login-form .form-group{margin:0}.admin-login-form input{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:10px;font-size:15px;background:var(--bg-primary);color:var(--text-primary);transition:all .2s}.admin-login-form input:focus{outline:none;border-color:var(--accent-primary)}.error-message{margin:8px 0 0;color:#d32f2f;font-size:14px;font-weight:600}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding:20px;background:var(--gradient-card);border-radius:16px;border:1px solid var(--border-color)}.admin-header h1{margin:0;font-size:28px;font-weight:800;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-actions{margin-bottom:20px}.admin-btn{padding:12px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.admin-btn--primary{background:var(--gradient-accent);color:#fff}.admin-btn--primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2e7d3266}.admin-btn--secondary{background:var(--gradient-card);color:var(--text-primary);border:1px solid var(--border-color)}.admin-btn--secondary:hover{border-color:var(--accent-primary)}.admin-btn--small{padding:6px 12px;font-size:13px}.admin-btn--danger{background:#d32f2f;color:#fff}.admin-btn--danger:hover{background:#c62828}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-form-container{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;padding:30px;margin-bottom:30px}.admin-form-container h2{margin:0 0 24px;font-size:24px;font-weight:700;color:var(--text-primary)}.admin-form{display:flex;flex-direction:column;gap:24px}.form-section{padding:20px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.form-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--accent-primary)}.form-group{display:flex;flex-direction:column;gap:8px;flex:1}.form-group label{font-size:14px;font-weight:600;color:var(--text-primary)}.form-group input,.form-group textarea,.form-group select{padding:12px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:15px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.form-hint{margin:8px 0 0;font-size:13px;color:var(--text-secondary)}.form-hint a{color:var(--accent-primary);text-decoration:none}.form-hint a:hover{text-decoration:underline}.discipline-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.discipline-checkbox{display:flex;align-items:center;gap:8px;padding:10px;background:var(--input-bg);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s}.discipline-checkbox:hover{border-color:var(--accent-primary)}.discipline-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.discipline-checkbox span{font-size:14px;font-weight:500;color:var(--text-primary)}.photo-upload{margin-bottom:16px}.photo-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px;background:var(--input-bg);border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s}.photo-upload-label:hover{border-color:var(--accent-primary);background:var(--hover-overlay)}.photo-upload-label svg{color:var(--text-secondary)}.photo-upload-label span{font-size:14px;color:var(--text-secondary);text-align:center}.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.photo-preview{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:4px;right:4px;width:28px;height:28px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.photo-remove:hover{background:#d32f2f}.form-actions{display:flex;gap:12px;padding-top:20px;border-top:1px solid var(--border-color)}.trails-list{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;padding:30px}.trails-list h2{margin:0 0 20px;font-size:24px;font-weight:700;color:var(--text-primary)}.trails-table{overflow-x:auto}.trails-table table{width:100%;border-collapse:collapse}.trails-table thead{background:var(--bg-secondary)}.trails-table th{padding:12px;text-align:left;font-size:14px;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color)}.trails-table td{padding:12px;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.trails-table tbody tr:hover{background:var(--hover-overlay)}.table-actions{display:flex;gap:8px}.main-photo-badge{position:absolute;bottom:4px;left:4px;background:var(--accent-primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}@media(min-width:1024px){.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-section{margin:0}.form-section:nth-child(1){grid-column:1 / -1}.form-section:nth-child(2),.form-section:nth-child(3){grid-column:auto}.form-section:nth-child(4),.form-section:nth-child(5){grid-column:auto}.form-section:nth-child(6){grid-column:1 / -1}.form-section:nth-child(7){grid-column:1 / -1}.form-section:nth-child(8){grid-column:1 / -1}.form-actions{grid-column:1 / -1}.discipline-grid{grid-template-columns:repeat(3,1fr)}.photo-preview-grid{grid-template-columns:repeat(6,1fr)}.form-section:nth-child(7) .form-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.admin-header{flex-direction:column;gap:16px;text-align:center}.form-row,.discipline-grid{grid-template-columns:1fr}.trails-table{font-size:12px}.trails-table th,.trails-table td{padding:8px}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gradient-bg);padding:20px 20px 80px}.auth-container{width:100%;max-width:440px;background:var(--gradient-card);border:1px solid var(--border-color);border-radius:24px;box-shadow:var(--shadow-lg);overflow:hidden;animation:fadeInUp .4s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{padding:40px 40px 30px;text-align:center;background:var(--gradient-accent);color:#fff;border-bottom:1px solid var(--border-color)}.auth-header h1{font-size:28px;font-weight:700;margin:0 0 8px}.auth-header p{font-size:15px;margin:0;opacity:.95;font-weight:400}.auth-form{padding:40px}.auth-error{display:flex;align-items:center;gap:10px;padding:14px 16px;background:#ffebee;border:1px solid #ef5350;border-radius:12px;color:#c62828;font-size:14px;margin-bottom:24px;animation:shake .3s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.auth-error svg{flex-shrink:0}.auth-info{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#e3f2fd;border:1px solid #2196f3;border-radius:12px;color:#1565c0;font-size:14px;margin-bottom:24px;line-height:1.5}.auth-info svg{flex-shrink:0;margin-top:2px}.form-group{margin-bottom:24px}.auth-button{width:100%;padding:16px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#2e7d32,#1b5e20);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 12px #2e7d324d}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3266}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-footer{margin-top:24px;text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.auth-footer p{font-size:14px;color:var(--text-secondary);margin:0}.auth-link{color:var(--accent-primary);font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:var(--accent-light);text-decoration:underline}@media(max-width:768px){.auth-container{max-width:100%;border-radius:16px}.auth-header{padding:30px 24px 20px}.auth-header h1{font-size:24px}.auth-header p{font-size:14px}.auth-form{padding:30px 24px}.form-group{margin-bottom:20px}.form-group input{padding:12px 14px;font-size:14px}.auth-button{padding:14px;font-size:15px}}.account-settings-page{min-height:100vh;background:var(--gradient-bg);padding-bottom:80px}.account-settings-page__header{display:flex;align-items:center;gap:16px;padding:20px;background:var(--gradient-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-md);position:sticky;top:0;z-index:100}.back-button{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--input-bg);border:1px solid var(--input-border);border-radius:50%;cursor:pointer;color:var(--text-primary);transition:all .2s ease}.back-button:hover{background:var(--bg-tertiary);border-color:var(--accent-primary)}.account-settings-page__header h1{font-size:24px;font-weight:700;color:var(--text-primary);margin:0}.account-settings-content{max-width:600px;margin:0 auto;padding:24px 20px}.alert{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:12px;font-size:14px;margin-bottom:24px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert svg{flex-shrink:0}.alert--error{background:#ffebee;border:1px solid #ef5350;color:#c62828}.alert--success{background:#e8f5e9;border:1px solid #66bb6a;color:#2e7d32}.settings-section{background:var(--gradient-card);border:1px solid var(--border-color);border-radius:16px;padding:24px;margin-bottom:20px;box-shadow:var(--shadow-md)}.settings-section h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.form-group input{width:100%;padding:14px 16px;font-size:15px;background:var(--input-bg);color:var(--text-primary);border:2px solid var(--input-border);border-radius:12px;transition:all .2s ease;font-family:inherit}.form-group input:focus{outline:none;border-color:var(--input-border-focus);box-shadow:0 0 0 4px #2e7d3226}.form-group input::placeholder{color:var(--text-tertiary)}.input-disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.form-group small{display:block;font-size:13px;color:var(--text-secondary);margin-top:6px}.btn{padding:14px 24px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn--primary{background:linear-gradient(135deg,#2e7d32,#1b5e20);color:#fff;box-shadow:0 4px 12px #2e7d324d}.btn--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #2e7d3266}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:768px){.account-settings-page__header{padding:16px}.account-settings-page__header h1{font-size:20px}.account-settings-content,.settings-section{padding:20px 16px}.settings-section h2{font-size:18px}.form-group{margin-bottom:16px}.form-group input{padding:12px 14px;font-size:14px}.btn{width:100%;padding:12px;font-size:15px}}:root[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2d2d2d;--bg-elevated: #1f1f1f;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-tertiary: #808080;--text-disabled: #4a4a4a;--accent-primary: #2e7d32;--accent-hover: #1b5e20;--accent-light: #4caf50;--card-bg: #1a1a1a;--input-bg: #2d2d2d;--input-border: #404040;--input-border-focus: #2e7d32;--border-color: #2d2d2d;--border-color-light: #404040;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .6);--hover-overlay: rgba(255, 255, 255, .05);--active-overlay: rgba(255, 255, 255, .1);--gradient-bg: linear-gradient(135deg, #0d1410 0%, #1a3a1f 40%, #0f1f13 70%, #0a0f0c 100%);--gradient-card: linear-gradient(135deg, #1a1a1a 0%, #1f2e1f 50%, #1a1a1a 100%);--gradient-accent: linear-gradient(135deg, #2e7d32 0%, #4caf50 50%, #1b5e20 100%);--gradient-hover: linear-gradient(135deg, #1b5e20 0%, #2e7d32 50%, #0d4412 100%);--hover-overlay: rgba(46, 125, 50, .1)}:root[data-theme=light]{--bg-primary: #f5f7fa;--bg-secondary: #ffffff;--bg-tertiary: #e8f5e9;--bg-elevated: #ffffff;--text-primary: #1a1a1a;--text-secondary: #666666;--text-tertiary: #999999;--text-disabled: #cccccc;--accent-primary: #2e7d32;--accent-hover: #1b5e20;--accent-light: #4caf50;--card-bg: #ffffff;--input-bg: #ffffff;--input-border: #e0e0e0;--input-border-focus: #2e7d32;--border-color: #e0e0e0;--border-color-light: #f0f0f0;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .1);--hover-overlay: rgba(0, 0, 0, .02);--active-overlay: rgba(0, 0, 0, .05);--gradient-bg: linear-gradient(135deg, #f5f7fa 0%, #e8f5e9 50%, #f5f7fa 100%);--gradient-card: linear-gradient(135deg, #ffffff 0%, #f0f8f0 50%, #ffffff 100%);--gradient-accent: linear-gradient(135deg, #2e7d32 0%, #4caf50 50%, #1b5e20 100%);--gradient-hover: linear-gradient(135deg, #1b5e20 0%, #2e7d32 50%, #0d4412 100%);--hover-overlay: rgba(46, 125, 50, .05)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body{background:var(--bg-primary);color:var(--text-primary)}.app{min-height:100vh;background:#f5f5f5;padding-bottom:70px}@media(min-width:769px){.app{padding-bottom:0}}.button{display:inline-block;padding:12px 24px;background:#2e7d32;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s}.button:hover{background:#1b5e20}.spinner{width:48px;height:48px;margin-bottom:16px;border:4px solid #f0f0f0;border-top-color:#2e7d32;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
