@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}#root,.app-container{width:100%;max-width:100vw;overflow-x:hidden}.container,.main-content,.page-wrapper{width:100%;max-width:100%;padding-left:16px;padding-right:16px;margin-left:0;margin-right:0}div,h1,h2,h3,h4,h5,h6,p,span{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto}.text-content{word-break:break-word;max-width:100%}@media (max-width:768px){*{margin-left:0!important;margin-right:0!important}*,img{max-width:100%}img{height:auto}}.top-navbar{width:100%;max-width:100vw;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;overflow-x:hidden;box-sizing:border-box}@media (max-width:768px){.navbar-logo{max-width:80px;flex-shrink:1}.navbar-language,.navbar-profile,.navbar-spotify{flex-shrink:0;min-width:44px;padding:8px}.navbar-language span,.navbar-spotify span{display:none}}@media (max-width:480px){.navbar-logo{max-width:60px}.top-navbar{padding:6px 8px;gap:4px}}@media (max-width:768px){.hero-card{padding:16px;margin:0}.hero-card h1{font-size:clamp(24px,6vw,32px);line-height:1.2;margin:0 0 12px;word-wrap:break-word}.hero-card p{font-size:clamp(14px,4vw,16px);line-height:1.5;word-wrap:break-word}.hero-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.hero-buttons button{flex:1 1 auto;min-width:100px;max-width:100%}}@media (max-width:480px){.hero-card{padding:12px}.hero-card h1{font-size:24px}.hero-buttons{flex-direction:column}.hero-buttons button{width:100%}}.tab-navigation-wrapper{padding:0;margin:0}.tab-navigation{padding:12px 16px}.tab-item{flex:0 0 auto;scroll-snap-align:start;min-width:80px;text-align:center;padding:8px 12px;white-space:nowrap}@media (max-width:768px){.map-container{height:50vh;min-height:300px;margin:0;border-radius:0}.map-controls{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;z-index:10}.map-control-button{width:44px;height:44px;background:#fff;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}}.route-stops-section{padding:16px;box-sizing:border-box;overflow:visible}@media (max-width:768px){.add-stop-button{padding:12px 16px}.add-stop-button,.route-stop-card{width:100%;max-width:100%;box-sizing:border-box}.route-stop-card{margin:8px 0;padding:12px}.route-stop-card h3,.route-stop-card p{word-wrap:break-word;overflow-wrap:break-word;max-width:100%}}.admin-dropdown{position:absolute;right:0;top:100%;min-width:200px;max-width:280px;background:#fff;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);z-index:1002;overflow:hidden}@media (max-width:480px){.admin-dropdown{right:8px;left:8px;min-width:auto;width:calc(100% - 16px);max-width:none}.admin-dropdown-item{padding:14px 16px;min-height:48px}}.sidebar{position:fixed;left:0;width:250px;height:100vh}@media (max-width:768px){.sidebar{position:fixed;left:-280px;width:280px;max-width:80vw;transition:left .3s ease;z-index:1001}.sidebar.open{left:0}.main-content{margin-left:0!important;width:100%}.sidebar-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:1000}}*{box-sizing:border-box;margin:0;padding:0}body,html{margin:0;padding:0}#root,.app-container,.main-wrapper,.responsive-app,body,html{width:100%;max-width:100vw;height:100vh;overflow-x:hidden;overflow-y:auto}a,div,h1,h2,h3,h4,h5,h6,p,span{word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%}img{max-width:100%;height:auto}.container,.content-wrapper{width:100%;max-width:100%;padding-left:16px;padding-right:16px;margin-left:0;margin-right:0}:root{--breakpoint-mobile:767px;--breakpoint-tablet:768px;--breakpoint-desktop:1024px;--mobile-topbar-height:56px;--mobile-bottombar-height:60px;--tablet-topbar-height:60px;--desktop-topbar-height:60px;--sidebar-collapsed-width:64px;--sidebar-expanded-width:250px;--primary-color:#4f46e5;--primary-hover:#4338ca;--spotify-green:#1db954;--danger-red:#ef4444;--mobile-padding:16px;--tablet-padding:24px;--desktop-padding:16px;--tv-padding:60px;--tv-sidebar-width:320px;--tv-topbar-height:100px;--tv-content-max-width:2400px;--tv-min-click-target:80px}.debug-overflow{outline:2px solid red!important;background:rgba(255,0,0,.1)!important}*{max-width:100%}.flex,.grid{min-width:0}[class*=container],[class*=content],[class*=wrapper]{overflow-x:hidden;max-width:100%}@supports (padding:max(0px)){.safe-area-top{padding-top:max(16px,env(safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-area-left{padding-left:max(16px,env(safe-area-inset-left))}.safe-area-right{padding-right:max(16px,env(safe-area-inset-right))}}.mobile-top-bar{position:fixed;top:0;left:0;right:0;width:100%;max-width:100vw;height:var(--mobile-topbar-height);background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:space-between;padding:8px 12px;z-index:1000;overflow:hidden}.mobile-top-bar .logo-container{flex-shrink:1;margin-right:8px;max-width:80px;display:flex;align-items:center;justify-content:center}.mobile-top-bar .logo{max-width:100%;height:auto;max-height:35px}.mobile-top-bar .logo-container .flex{display:flex;flex-direction:column;align-items:center;gap:1px}.mobile-top-bar .logo-container .text-center{text-align:center;line-height:1}.mobile-top-bar .flex-1{flex:1;display:flex;align-items:center;justify-content:center;margin:0 8px}.mobile-top-bar .flex-1 img{height:20px;width:auto;object-fit:contain;max-width:120px}@media (max-width:375px){.mobile-top-bar .logo-container{max-width:50px}.mobile-top-bar .flex-1 img{height:18px;max-width:100px}}@media (max-width:320px){.mobile-top-bar .flex-1 img{height:16px;max-width:80px}}.mobile-top-bar .actions-container{display:flex;align-items:center;gap:8px;flex-shrink:0}.mobile-top-bar .spotify-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--spotify-green);color:#fff;border-radius:20px;font-size:14px;min-width:44px;min-height:44px;flex-shrink:0;border:none;cursor:pointer;transition:background .2s ease}.mobile-top-bar .spotify-btn:hover{background:#1ed760}.mobile-top-bar .spotify-btn.connected{background:#1db954}.mobile-top-bar .spotify-btn .icon{width:20px;height:20px}.mobile-top-bar .spotify-btn .text{display:inline;font-weight:600}.mobile-top-bar .spotify-btn .device-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px;margin-left:4px}@media (max-width:375px){.mobile-top-bar .spotify-btn .text{display:none}.mobile-top-bar .spotify-btn{padding:10px;min-width:44px}}.mobile-top-bar .language-selector{display:flex;align-items:center;gap:4px;padding:8px;min-width:44px;min-height:44px;flex-shrink:0}@media (max-width:375px){.mobile-top-bar .language-selector{padding:10px}}.mobile-top-bar .notifications-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:#666;cursor:pointer;border-radius:50%;transition:background .2s ease}.mobile-top-bar .notifications-btn:hover{background:#f5f5f5}.mobile-top-bar .profile-avatar{position:relative;width:44px;height:44px;flex-shrink:0;cursor:pointer}.mobile-top-bar .profile-avatar .avatar-circle{width:36px;height:36px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5}.mobile-top-bar .profile-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.mobile-bottom-bar{position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100vw;height:var(--mobile-bottombar-height);background:#fff;box-shadow:0 -2px 8px rgba(0,0,0,.1);display:flex;justify-content:space-around;align-items:center;z-index:1000;padding:0 0 env(safe-area-inset-bottom)}.mobile-bottom-bar .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:44px;padding:8px 4px;text-decoration:none;color:#666;transition:color .2s ease;background:none;border:none;cursor:pointer;position:relative}.mobile-bottom-bar .tab-item.active{color:var(--primary-color);font-weight:600}.mobile-bottom-bar .tab-item .icon-container{position:relative;display:flex;align-items:center;justify-content:center}.mobile-bottom-bar .tab-item .icon{width:24px;height:24px;font-size:20px}.mobile-bottom-bar .tab-item .label{font-size:11px;white-space:nowrap}.mobile-bottom-bar .tab-item .badge{position:absolute;top:-4px;right:-8px;background:var(--danger-red);color:#fff;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center}@media (max-width:375px){.mobile-bottom-bar .tab-item .label{font-size:10px}.mobile-bottom-bar .tab-item .icon{width:20px;height:20px;font-size:18px}}.profile-menu-mobile{position:fixed;bottom:0;left:0;right:0;max-height:80vh;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px rgba(0,0,0,.15);z-index:1100;transform:translateY(100%);transition:transform .3s ease;overflow:hidden}.profile-menu-mobile.open{transform:translateY(0)}.profile-menu-mobile .menu-content{max-height:80vh;overflow-y:auto}.profile-menu-mobile .user-header{display:flex;align-items:center;gap:16px;padding:20px;background:#f8f9fa;border-bottom:1px solid #e5e5e5;position:relative}.profile-menu-mobile .user-avatar{position:relative;flex-shrink:0}.profile-menu-mobile .user-avatar .avatar-circle{width:48px;height:48px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5;font-size:18px}.profile-menu-mobile .user-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.profile-menu-mobile .user-info{flex:1;min-width:0}.profile-menu-mobile .user-name{font-size:16px;font-weight:600;color:#333;margin-bottom:4px;word-wrap:break-word}.profile-menu-mobile .user-email{font-size:14px;color:#666;margin-bottom:4px;word-wrap:break-word}.profile-menu-mobile .admin-label{font-size:12px;color:#f59e0b;font-weight:600}.profile-menu-mobile .close-menu-btn{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:rgba(0,0,0,.1);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;color:#666}.profile-menu-mobile .close-menu-btn:hover{background:rgba(0,0,0,.2);color:#333}.profile-menu-mobile .close-menu-btn:active{background:rgba(0,0,0,.3)}.profile-menu-mobile .menu-items{padding:8px 0}.profile-menu-mobile .menu-item{display:flex;align-items:center;gap:16px;padding:16px 20px;min-height:56px;cursor:pointer;background:none;border:none;width:100%;text-align:left;text-decoration:none;color:#333;font-size:16px;transition:background .2s ease}.profile-menu-mobile .menu-item:active{background:#f8f8f8}.profile-menu-mobile .menu-item .icon{width:24px;height:24px;font-size:20px;flex-shrink:0}.profile-menu-mobile .menu-item .label{flex:1;word-wrap:break-word}.profile-menu-mobile .menu-item.upgrade{color:var(--primary-color)}.profile-menu-mobile .menu-item.logout{color:var(--danger-red)}.profile-menu-mobile .menu-item:disabled{opacity:.5;cursor:not-allowed}.spotify-device-modal .modal-content{max-width:400px}.spotify-device-modal .modal-header{padding:16px 20px}.spotify-device-modal .modal-header h2{font-size:18px}.spotify-device-modal .modal-body{padding:16px 20px}.content-area-mobile{margin-top:var(--mobile-topbar-height);margin-bottom:var(--mobile-bottombar-height);padding:var(--mobile-padding);width:100%;max-width:100%;overflow-x:hidden;height:calc(100vh - var(--mobile-topbar-height) - var(--mobile-bottombar-height));overflow-y:auto}.tablet-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-collapsed-width);background:#fff;box-shadow:2px 0 8px rgba(0,0,0,.05);transition:width .3s ease;z-index:900;overflow:hidden;display:flex;flex-direction:column}.tablet-sidebar.expanded{width:var(--sidebar-expanded-width)}.tablet-sidebar .logo-section{padding:20px;border-bottom:1px solid #f0f0f0;flex-shrink:0;opacity:0;transition:opacity .3s ease}.tablet-sidebar.expanded .logo-section{opacity:1}.tablet-sidebar .logo{max-width:100%;height:auto}.tablet-sidebar .nav-section{padding:16px 0;flex:1}.tablet-sidebar .nav-item{display:flex;align-items:center;gap:16px;padding:16px;color:#666;text-decoration:none;transition:all .2s ease;white-space:nowrap;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:15px;position:relative}.tablet-sidebar .nav-item:hover{background:#f5f5f5}.tablet-sidebar .nav-item.active{background:#eef2ff;color:var(--primary-color);border-right:3px solid var(--primary-color);font-weight:600}.tablet-sidebar .nav-item .icon{width:24px;height:24px;font-size:20px;flex-shrink:0}.tablet-sidebar .nav-item .label{font-size:15px;opacity:0;transition:opacity .3s ease;flex:1}.tablet-sidebar.expanded .nav-item .label{opacity:1}.tablet-sidebar .nav-item .badge{background:var(--danger-red);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.tablet-sidebar.expanded .nav-item .badge{opacity:1}.tablet-sidebar .divider{height:1px;background:#f0f0f0;margin:16px 0;opacity:0;transition:opacity .3s ease}.tablet-sidebar.expanded .divider{opacity:1}.tablet-sidebar .toggle-btn{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:40px;height:40px;background:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;border:none;color:#666}.tablet-sidebar .toggle-btn:hover{background:#e5e5e5}.tablet-sidebar:not(.expanded) .nav-item{position:relative}.tablet-sidebar:not(.expanded) .nav-item:after{content:attr(data-label);position:absolute;left:70px;background:#333;color:#fff;padding:6px 12px;border-radius:6px;font-size:13px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.tablet-sidebar:not(.expanded) .nav-item:hover:after{opacity:1}.tablet-sidebar .nav-item.admin-only{display:none}.tablet-sidebar[data-user-role=admin] .nav-item.admin-only{display:flex}.tablet-top-bar{position:fixed;top:0;left:var(--sidebar-collapsed-width);right:0;height:var(--tablet-topbar-height);background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between;padding:0 var(--tablet-padding);z-index:800;transition:left .3s ease}.tablet-top-bar.sidebar-expanded{left:var(--sidebar-expanded-width)}.tablet-top-bar .left-section{display:flex;align-items:center;gap:16px}.tablet-top-bar .left-section .logo-container{flex-shrink:0}.tablet-top-bar .left-section .logo{max-width:80px;height:auto;max-height:40px}.tablet-top-bar .logo-section{display:flex;align-items:center;flex:1;justify-content:center}.tablet-top-bar .rownorth-text-logo{height:20px;width:auto;max-width:120px;object-fit:contain}.tablet-top-bar .right-section{display:flex;align-items:center;gap:16px}.tablet-top-bar .spotify-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--spotify-green);color:#fff;border-radius:20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;border:none}.tablet-top-bar .spotify-btn:hover{background:#1ed760}.tablet-top-bar .spotify-btn.connected{background:var(--spotify-green)}.tablet-top-bar .spotify-btn .icon{width:20px;height:20px}.tablet-top-bar .spotify-btn .device-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px;margin-left:4px;border-radius:4px;transition:background .2s ease}.tablet-top-bar .spotify-btn .device-btn:hover{background:hsla(0,0%,100%,.2)}.tablet-top-bar .language-selector{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s ease}.tablet-top-bar .language-selector:hover{background:#f5f5f5;border-color:#d5d5d5}.tablet-top-bar .notifications{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background .2s ease;color:#666}.tablet-top-bar .notifications:hover{background:#f5f5f5}.tablet-top-bar .notifications .badge{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger-red);border-radius:50%;border:2px solid #fff}.tablet-top-bar .profile-avatar{position:relative;width:40px;height:40px;cursor:pointer;transition:transform .2s ease}.tablet-top-bar .profile-avatar:hover{transform:scale(1.05)}.tablet-top-bar .profile-avatar .avatar-circle{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5;font-size:16px}.tablet-top-bar .profile-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.profile-menu-tablet{position:fixed;top:60px;right:20px;width:300px;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid #e5e5e5;z-index:1000;overflow:hidden}.profile-menu-tablet .user-header{display:flex;align-items:center;gap:12px;padding:16px;background:#f8f9fa;border-bottom:1px solid #e5e5e5}.profile-menu-tablet .user-avatar{position:relative;flex-shrink:0}.profile-menu-tablet .user-avatar .avatar-circle{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5;font-size:16px}.profile-menu-tablet .user-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.profile-menu-tablet .user-info{flex:1;min-width:0}.profile-menu-tablet .user-name{font-size:15px;font-weight:600;color:#333;margin-bottom:2px;word-wrap:break-word}.profile-menu-tablet .user-email{font-size:13px;color:#666;margin-bottom:2px;word-wrap:break-word}.profile-menu-tablet .admin-label{font-size:11px;color:#f59e0b;font-weight:600}.profile-menu-tablet .menu-items{padding:8px 0}.profile-menu-tablet .menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:48px;cursor:pointer;background:none;border:none;width:100%;text-align:left;text-decoration:none;color:#333;font-size:14px;transition:background .2s ease}.profile-menu-tablet .menu-item:hover{background:#f8f9fa}.profile-menu-tablet .menu-item .icon{width:20px;height:20px;font-size:16px;flex-shrink:0}.profile-menu-tablet .menu-item .label{flex:1;word-wrap:break-word}.profile-menu-tablet .menu-item.upgrade{color:var(--primary-color)}.profile-menu-tablet .menu-item.logout{color:var(--danger-red)}.profile-menu-tablet .menu-item:disabled{opacity:.5;cursor:not-allowed}.content-area-tablet{margin-left:var(--sidebar-collapsed-width);margin-top:var(--tablet-topbar-height);padding:var(--tablet-padding);width:calc(100% - var(--sidebar-collapsed-width));transition:margin-left .3s ease,width .3s ease;height:calc(100vh - var(--tablet-topbar-height));overflow-y:auto;overflow-x:hidden}.tablet-sidebar.expanded~.content-area-tablet{margin-left:var(--sidebar-expanded-width);width:calc(100% - var(--sidebar-expanded-width))}.desktop-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-expanded-width);background:#fff;box-shadow:2px 0 8px rgba(0,0,0,.05);z-index:900;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.desktop-sidebar .logo-section{padding:20px;border-bottom:1px solid #f0f0f0;flex-shrink:0}.desktop-sidebar .logo{max-width:100%;height:auto}.desktop-sidebar .nav-section{padding:16px 0;flex:1}.desktop-sidebar .nav-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:#666;text-decoration:none;transition:all .2s ease;position:relative;background:none;border:none;width:100%;text-align:left;cursor:pointer;font-size:15px}.desktop-sidebar .nav-item:hover{background:#f5f5f5;color:#333}.desktop-sidebar .nav-item.active{background:#eef2ff;color:var(--primary-color);font-weight:600}.desktop-sidebar .nav-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--primary-color)}.desktop-sidebar .nav-item .icon{width:24px;height:24px;font-size:20px;flex-shrink:0}.desktop-sidebar .nav-item .label{flex:1;word-wrap:break-word}.desktop-sidebar .nav-item .badge{background:var(--danger-red);color:#fff;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:600;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}.desktop-sidebar .divider{height:1px;background:#f0f0f0;margin:16px 0}.desktop-sidebar .nav-item.admin-only{display:none}.desktop-sidebar[data-user-role=admin] .nav-item.admin-only{display:flex}.desktop-top-bar{position:fixed;top:0;left:var(--sidebar-expanded-width);right:0;height:var(--desktop-topbar-height);background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.05);justify-content:space-between;padding:0 var(--desktop-padding);z-index:800}.desktop-top-bar,.desktop-top-bar .logo-section{display:flex;align-items:center}.desktop-top-bar .rownorth-text-logo{height:32px;width:auto;object-fit:contain}.desktop-top-bar .actions{display:flex;align-items:center;gap:16px}.desktop-top-bar .spotify-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--spotify-green);color:#fff;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease;border:none}.desktop-top-bar .spotify-btn:hover{background:#1ed760}.desktop-top-bar .spotify-btn.connected{background:var(--spotify-green)}.desktop-top-bar .spotify-btn .icon{width:20px;height:20px}.desktop-top-bar .spotify-btn .device-btn{background:none;border:none;color:#fff;cursor:pointer;padding:2px;margin-left:4px;border-radius:4px;transition:background .2s ease}.desktop-top-bar .spotify-btn .device-btn:hover{background:hsla(0,0%,100%,.2)}.desktop-top-bar .language-selector{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #e5e5e5;border-radius:8px;cursor:pointer;transition:all .2s ease}.desktop-top-bar .language-selector:hover{background:#f5f5f5;border-color:#d5d5d5}.desktop-top-bar .notifications{position:relative;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:50%;transition:background .2s ease;color:#666}.desktop-top-bar .notifications:hover{background:#f5f5f5}.desktop-top-bar .notifications .badge{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--danger-red);border-radius:50%;border:2px solid #fff}.desktop-top-bar .profile-avatar{position:relative;width:40px;height:40px;cursor:pointer;transition:transform .2s ease}.desktop-top-bar .profile-avatar:hover{transform:scale(1.05)}.desktop-top-bar .profile-avatar .avatar-circle{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5;font-size:16px}.desktop-top-bar .profile-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.profile-menu-desktop{position:absolute;top:100%;right:0;margin-top:8px;width:320px;background:#fff;border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.15);border:1px solid #e5e5e5;z-index:1000;overflow:hidden}.profile-menu-desktop .user-header{display:flex;align-items:center;gap:12px;padding:16px;background:#f8f9fa;border-bottom:1px solid #e5e5e5}.profile-menu-desktop .user-avatar{position:relative;flex-shrink:0}.profile-menu-desktop .user-avatar .avatar-circle{width:40px;height:40px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-weight:600;color:#4f46e5;border:2px solid #e5e5e5;font-size:16px}.profile-menu-desktop .user-avatar .admin-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;background:#fbbf24;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.profile-menu-desktop .user-info{flex:1;min-width:0}.profile-menu-desktop .user-name{font-size:15px;font-weight:600;color:#333;margin-bottom:2px;word-wrap:break-word}.profile-menu-desktop .user-email{font-size:13px;color:#666;margin-bottom:2px;word-wrap:break-word}.profile-menu-desktop .admin-label{font-size:11px;color:#f59e0b;font-weight:600}.profile-menu-desktop .menu-items{padding:8px 0}.profile-menu-desktop .menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;min-height:48px;cursor:pointer;background:none;border:none;width:100%;text-align:left;text-decoration:none;color:#333;font-size:14px;transition:background .2s ease}.profile-menu-desktop .menu-item:hover{background:#f8f9fa}.profile-menu-desktop .menu-item .icon{width:20px;height:20px;font-size:16px;flex-shrink:0}.profile-menu-desktop .menu-item .label{flex:1;word-wrap:break-word}.profile-menu-desktop .menu-item.upgrade{color:var(--primary-color)}.profile-menu-desktop .menu-item.logout{color:var(--danger-red)}.profile-menu-desktop .menu-item:disabled{opacity:.5;cursor:not-allowed}.spotify-device-modal{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:16px;z-index:1200}.spotify-device-modal .modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;max-height:80vh;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.2)}.spotify-device-modal .modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e5e5}.spotify-device-modal .modal-header h2{font-size:20px;font-weight:600;color:#333;margin:0}.spotify-device-modal .close-btn{background:none;border:none;color:#666;cursor:pointer;padding:4px;border-radius:4px;transition:background .2s ease}.spotify-device-modal .close-btn:hover{background:#f5f5f5}.spotify-device-modal .modal-body{padding:20px 24px;max-height:60vh;overflow-y:auto}.content-area-desktop{margin-left:var(--sidebar-expanded-width);margin-top:var(--desktop-topbar-height);padding:var(--desktop-padding);height:calc(100vh - var(--desktop-topbar-height));overflow-y:auto;overflow-x:hidden}.content-area-desktop .content-wrapper{max-width:1400px;margin:0 auto;min-height:100%}.hero-card{width:100%;max-width:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:32px;color:#fff;overflow:hidden;box-sizing:border-box;margin-bottom:24px}.hero-card .hero-title{font-size:clamp(24px,5vw,48px);line-height:1.2;margin-bottom:12px;word-wrap:break-word;font-weight:700}.hero-card .hero-subtitle{font-size:clamp(14px,3vw,20px);line-height:1.4;margin-bottom:16px;opacity:.95;word-wrap:break-word}.hero-card .hero-description{font-size:clamp(14px,2.5vw,16px);line-height:1.6;margin-bottom:24px;opacity:.9;word-wrap:break-word}.hero-card .hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-card .btn{padding:12px 24px;border-radius:24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.hero-card .btn-primary{background:#fff;color:#667eea}.hero-card .btn-secondary{background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3)}@media (max-width:768px){.hero-card{padding:24px 20px;border-radius:12px}.hero-card .hero-actions{flex-direction:column}.hero-card .btn{width:100%}}.tab-navigation-wrapper{width:100%;max-width:100%;overflow:hidden;position:relative;margin:24px 0}.tab-navigation{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:0 16px 12px}.tab-navigation::-webkit-scrollbar{display:none}.tab-navigation .tab-item{flex:0 0 auto;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;min-width:80px;text-align:center;text-decoration:none;color:#666;border-radius:12px;transition:all .2s ease;white-space:nowrap;background:none;border:none;cursor:pointer}.tab-navigation .tab-item.active{background:#eef2ff;color:var(--primary-color);font-weight:600}.tab-navigation .tab-item .icon{width:32px;height:32px;font-size:24px}.tab-navigation .tab-item .label{font-size:13px}.tab-navigation-wrapper:after{content:"";position:absolute;right:0;top:0;bottom:12px;width:40px;background:linear-gradient(270deg,#fff,transparent);pointer-events:none}@media (min-width:768px){.tab-navigation{overflow-x:visible;flex-wrap:wrap;justify-content:center}.tab-navigation-wrapper:after{display:none}}.map-container{width:100%;max-width:100%;height:400px;position:relative;overflow:hidden;border-radius:12px;margin:24px 0;background:#f5f5f5}.map-container .map{width:100%;height:100%}.map-container .map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e5e5e5;color:#666;font-size:18px}.map-controls{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;gap:8px;z-index:10}.map-control-btn{width:44px;height:44px;background:#fff;border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:18px;font-weight:600}.map-control-btn:hover{background:#f5f5f5;box-shadow:0 4px 12px rgba(0,0,0,.2)}.map-control-btn:active{transform:scale(.95)}.map-info-overlay{left:12px;padding:12px 16px;border-radius:8px;font-size:14px}.map-fullscreen-toggle,.map-info-overlay{position:absolute;top:12px;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:10}.map-fullscreen-toggle{right:12px;width:44px;height:44px;border:none;border-radius:8px;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:18px}@media (max-width:768px){.map-container{height:50vh;min-height:300px;border-radius:0;margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}.map-fullscreen-toggle{display:flex}}.map-container.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw!important;height:100vh!important;z-index:2000;margin:0;border-radius:0}.route-stops-section{width:100%;max-width:100%;margin:24px 0}.route-stops-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:12px}.route-stops-header h2{font-size:24px;color:#333;margin:0}.add-stop-btn{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.add-stop-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgba(79,70,229,.3)}@media (max-width:768px){.route-stops-header{flex-direction:column;align-items:stretch}.add-stop-btn{width:100%;justify-content:center}}.route-stop-card{width:100%;max-width:100%;background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:16px;margin-bottom:12px;box-sizing:border-box;transition:all .2s ease}.route-stop-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:#d5d5d5}.route-stop-card h3{font-size:18px;margin:0 0 8px}.route-stop-card h3,.route-stop-card p{word-wrap:break-word;overflow-wrap:break-word}.route-stop-card p{font-size:14px;color:#666;margin:0}.stop-actions{display:flex;gap:8px;margin-top:12px}.stop-actions button{padding:6px 12px;border:1px solid #e5e5e5;border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease;font-size:12px}.stop-actions button:hover{background:#f5f5f5}.route-inspiration-section{width:100%;max-width:100%;margin:24px 0}.route-inspiration-section h2{font-size:24px;color:#333;margin:0 0 16px}.inspiration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.inspiration-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:16px;transition:all .2s ease}.inspiration-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);border-color:#d5d5d5}.inspiration-card h3{font-size:16px;margin:0 0 8px;word-wrap:break-word}.inspiration-card p{font-size:14px;color:#666;margin:0 0 8px;word-wrap:break-word}.inspiration-type{font-size:12px;color:var(--primary-color);font-weight:600;text-transform:uppercase}@media (max-width:768px){.inspiration-grid{grid-template-columns:1fr}}@media (min-width:1920px){:root{--tv-sidebar-width:320px;--tv-topbar-height:100px;--tv-content-padding:60px;--tv-content-max-width:2400px;--tv-base-font:24px;--tv-h1:64px;--tv-h2:48px;--tv-h3:36px;--tv-min-click-target:80px}.desktop-sidebar{width:320px}.desktop-sidebar .nav-item{padding:20px 28px;font-size:22px;min-height:80px}.desktop-sidebar .nav-item .icon{width:32px;height:32px;font-size:28px}.desktop-sidebar .nav-item .label{font-size:22px}.desktop-top-bar{left:320px;height:100px;padding:0 60px}.desktop-top-bar .spotify-btn{padding:18px 36px;font-size:22px;min-height:70px}.desktop-top-bar .language-selector{font-size:20px;padding:16px 24px;min-height:70px}.desktop-top-bar .profile-avatar{width:60px;height:60px}.desktop-top-bar .profile-avatar .avatar-circle{width:60px;height:60px;font-size:24px}.content-area-desktop{margin-left:320px;margin-top:100px;padding:60px}.content-area-desktop .content-wrapper{max-width:2400px}body{font-size:24px;line-height:1.7}h1{font-size:clamp(56px,5vw,72px)}h2{font-size:clamp(44px,4vw,56px)}h3{font-size:clamp(32px,3vw,44px)}.btn,button{padding:20px 40px;font-size:22px;min-width:180px}.btn,.clickable,a,button,input,select{min-height:80px}.hero-card{padding:60px;border-radius:24px}.hero-card h1{font-size:64px}.hero-card .subtitle{font-size:32px}.hero-card .description{font-size:24px}.map-container{height:800px;border-radius:24px}.map-control-btn{width:80px;height:80px;font-size:24px}.route-stop-card{padding:32px;border-radius:20px}.route-stop-card h3{font-size:32px}.route-stop-card p{font-size:24px}.tab-item{min-width:140px;padding:24px 32px;font-size:22px}.tab-item .icon{width:48px;height:48px;font-size:36px}input[type=email],input[type=text],textarea{font-size:28px;padding:24px 28px;min-height:90px;border-radius:16px}.clickable:hover,a:hover,button:hover{transform:scale(1.05);transition:transform .2s ease}a:focus,button:focus{outline:6px solid #4f46e5;outline-offset:4px}}@media (min-width:3840px){:root{--tv-base-font:28px;--tv-h1:80px;--tv-content-max-width:3000px}body{font-size:28px}h1{font-size:clamp(72px,5vw,96px)}.btn,button{font-size:26px;padding:24px 48px}.desktop-sidebar .nav-item{font-size:26px;padding:24px 32px}.desktop-top-bar .spotify-btn{font-size:26px;padding:22px 44px}}.device-indicator{position:fixed;background:#fff;border:2px solid var(--device-color);border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);font-family:Monaco,Consolas,monospace;z-index:1000;transition:all .3s ease;pointer-events:none}.device-indicator.mobile{bottom:80px;right:16px;left:16px}.device-indicator.tablet{top:80px;right:20px;width:300px}.device-indicator.desktop{bottom:20px;left:270px;width:320px}.device-indicator.tv{top:120px;right:60px;width:500px}.admin-responsive-app .device-indicator.mobile{bottom:80px;right:16px;left:16px}.admin-responsive-app .device-indicator.tablet{bottom:20px;left:80px;width:300px;top:auto}.admin-responsive-app .device-indicator.desktop{bottom:20px;left:270px;width:320px}.admin-responsive-app .device-indicator.tv{bottom:20px;left:340px;width:400px;top:auto}.device-indicator-compact{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;user-select:none;pointer-events:none}.device-indicator-compact:hover{background:#f9fafb}.device-icon{font-size:24px}.device-label{font-weight:600;color:var(--device-color);font-size:14px;text-transform:uppercase;letter-spacing:.5px}.device-resolution{font-size:12px;color:#6b7280;font-weight:500}.expand-btn{margin-left:auto;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:12px;padding:4px}.device-indicator-details{border-top:1px solid #e5e7eb;padding:12px 16px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#111827;font-weight:600}.detail-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.detail-btn{flex:1;padding:8px 12px;font-size:12px;font-weight:600;border:1px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer}.detail-btn:hover{background:#f9fafb;border-color:var(--device-color)}.device-indicator-toggle{position:fixed;bottom:20px;right:20px;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;font-size:24px;z-index:1000;pointer-events:auto}@media (min-width:1920px){.device-indicator.tv .device-indicator-compact{padding:20px 28px}.device-indicator.tv .device-icon{font-size:32px}.device-indicator.tv .device-label{font-size:20px}.device-indicator.tv .detail-row,.device-indicator.tv .device-resolution{font-size:18px}.device-indicator.tv .detail-btn{font-size:18px;padding:14px 20px}}.about-page{width:100%;max-width:1200px;margin:0 auto;padding:40px 20px}.about-hero{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px;margin-bottom:60px}.about-hero h1{font-size:clamp(36px,5vw,56px);margin-bottom:16px}.about-hero .tagline{font-size:clamp(18px,3vw,24px);opacity:.95}.about-content{display:flex;flex-direction:column;gap:60px}.about-company h2,.about-description h2,.about-features h2{font-size:clamp(28px,4vw,36px);margin-bottom:24px;color:#111827}.about-description p{font-size:18px;line-height:1.8;color:#4b5563}.company-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px;margin-bottom:40px}.info-item label{display:block;font-size:14px;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.info-item p{font-size:20px;color:#111827}.info-item a{color:#4f46e5;text-decoration:none;font-weight:600}.info-item a:hover{text-decoration:underline}.philosophy{background:#f9fafb;padding:32px;border-radius:12px;border-left:4px solid #4f46e5}.philosophy p{font-size:18px;line-height:1.8;color:#374151;font-style:italic}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:32px}.feature-card{background:#fff;padding:32px;border-radius:12px;border:1px solid #e5e7eb;text-align:center;transition:all .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.1);border-color:#4f46e5}.feature-icon{font-size:48px;display:block;margin-bottom:16px}.feature-card h3{font-size:20px;margin-bottom:8px;color:#111827}.feature-card p{font-size:16px;color:#6b7280;line-height:1.6}.about-footer{margin-top:80px;padding-top:40px;border-top:1px solid #e5e7eb;text-align:center;color:#6b7280}.about-footer p{margin-bottom:8px}.designed-by{font-size:14px;font-style:italic}@media (min-width:1920px){.about-page{padding:60px 40px}.about-hero{padding:80px 40px}.about-hero h1{font-size:72px}.about-hero .tagline{font-size:32px}.about-description p,.philosophy p{font-size:24px}.info-item p{font-size:28px}.feature-card{padding:48px}.feature-icon{font-size:64px}.feature-card h3{font-size:28px}.feature-card p{font-size:22px}}