.portal-shell{background:#f3f6f4;color:#263d34;min-height:100vh;font-size:16px;line-height:1.6}
.portal-shell .sidebar{width:264px;background:#12372d;color:#c3d5cd;padding:30px 22px 28px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#406358 #12372d}
.portal-shell .brand{font-size:27px;gap:9px;letter-spacing:-1px;color:#fff;margin:0;flex-shrink:0}
.portal-shell .brand-icon{width:40px;height:40px;border-radius:12px;background:transparent;overflow:hidden}
.portal-shell .brand-icon img{display:block;width:40px;height:40px;max-width:none}
.portal-shell .brand-dot{color:#ff783e;margin-left:-7px}
.portal-shell .nav-label{color:#b7c9bb;font-size:15px;letter-spacing:1px;line-height:1.6;margin:25px 9px 15px}
.portal-shell .sidebar nav{display:flex;flex-direction:column;gap:5px;flex-shrink:0}
.portal-shell .sidebar nav a,.portal-shell .nav-community>summary{display:flex;align-items:center;gap:11px;min-height:46px;padding:11px 12px;color:#d1dfd8;font-size:16px;line-height:1.45;font-weight:500;background:transparent;border-radius:9px;text-decoration:none;text-align:left;position:relative}
.portal-shell .sidebar nav a>svg,.portal-shell .nav-community>summary>svg{flex-shrink:0}
.portal-shell .sidebar nav a:hover,.portal-shell .nav-community>summary:hover{background:#234b3f;color:#fff}
.portal-shell .sidebar nav a.active{background:#285647;color:#fff}
.portal-shell .sidebar nav a.active>svg{color:#ff9057}
.portal-shell .sidebar nav a small{margin-left:auto;background:#456e58;color:#fff;border-radius:5px;padding:1px 6px;font-size:15px}
.portal-shell .nav-community>summary{cursor:pointer;list-style:none}
.portal-shell .nav-community>summary::-webkit-details-marker{display:none}
.portal-shell .nav-community>summary>svg:last-child{margin-left:auto;width:18px;transition:transform .15s}
.portal-shell .nav-community[open]>summary>svg:last-child{transform:rotate(180deg)}
.portal-shell .nav-community>div{display:grid;gap:4px;padding:3px 0 7px 10px;border-left:1px solid #416354;margin:2px 0 5px 10px}
.portal-shell .nav-community>div>a{font-size:15px}
.portal-shell .sidebar nav .nav-live-dot{position:static;margin-left:auto;background:#b0d38a;flex-shrink:0;width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 4px #9cc48312}
.portal-shell .sidebar-tip{margin-top:24px;padding:20px 16px;background:#204739;border-color:#40614b;flex-shrink:0}
.portal-shell .sidebar-tip h3{font-size:20px;color:#fff;line-height:1.4;letter-spacing:-.4px}
.portal-shell .sidebar-tip p{font-size:15px;line-height:1.7;color:#c4d5c7;margin-top:12px}
.portal-shell .sidebar-tip a{display:block;color:#ffb78f;font-size:15px;font-weight:650;margin-top:16px;position:relative}
.portal-shell .sidebar-bottom{margin-top:25px;flex-shrink:0;padding-bottom:12px}
.portal-shell .sidebar-bottom>.btn{width:100%;color:#fff;font-size:16px}
.guest-sidebar-login{display:block;text-align:center;margin-top:15px;font-size:15px;color:#d3dfd5}
.portal-shell .workspace{margin-left:264px}
.portal-shell .topbar{background:#fff;border-color:#dde6df;padding:0 36px;height:80px}
.portal-shell .breadcrumb{font-size:15px;gap:13px}
.portal-shell .top-actions{gap:18px}
.portal-shell main{max-width:1600px;padding:32px 36px 0}
.portal-shell .btn.primary,.guest-shell .public-button{background:#f76c35;color:#fff;border-color:#f76c35;font-size:16px;min-height:45px}
.portal-shell .btn.primary:hover,.guest-shell .public-button:hover{background:#db5725}
.portal-shell .btn:focus-visible,.portal-shell a:focus-visible,.portal-shell summary:focus-visible,.portal-shell button:focus-visible{outline:3px solid #ff985d;outline-offset:3px}
.portal-shell .topbar .guest-login{font-size:16px;font-weight:650;color:#355044;white-space:nowrap}
.guest-preview{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 18px;background:#e7efe9;border:1px solid #d5e2d8;border-radius:11px;margin-bottom:27px;font-size:15px;line-height:1.6}
.guest-preview a{font-weight:700;white-space:nowrap;color:#aa4a22}
.guest-shell .public-main{width:auto;margin:0 auto}
.guest-shell .public-intro{padding:5px 0 28px}
.guest-shell .public-intro h1{font-size:34px;color:#263d34;letter-spacing:-1px}
.guest-shell .public-intro p{color:#617769;font-size:17px;line-height:1.75}
.guest-shell .public-kicker{color:#778b6c;font-size:15px}
.guest-shell .public-hero{margin-top:0;padding:38px;background:#193d31;border-radius:18px;color:#fff}
.guest-shell .public-hero h1{font-size:clamp(35px,3.2vw,51px);line-height:1.2;color:#fff;max-width:760px}
.guest-shell .public-hero h1 span{color:#fa743b}
.guest-shell .public-hero p{font-size:17px;color:#d1ddcf;max-width:650px}
.guest-shell .public-hero-mark{color:#acc39c}
.guest-shell .public-shortcuts{gap:17px;margin-top:23px}
.guest-shell .public-shortcuts a{background:white;border-color:#dce6dd;color:#314b3c;border-radius:12px}
.guest-shell .public-card,.guest-shell .public-person-card,.guest-shell .public-ride-card,.guest-shell .public-post,.guest-shell .public-topic-list>a,.guest-shell .public-profile-grid>section{border-color:#dce6dd;border-radius:14px}
.guest-shell .public-grid{gap:20px}
.guest-shell .public-card h3,.guest-shell .public-ride-card h3{font-size:21px;line-height:1.4;letter-spacing:-.4px}
.guest-shell .public-profile-cover{border-radius:15px 15px 0 0;height:235px}
.guest-shell .public-profile-heading{padding:0 20px 22px;margin-left:15px;margin-right:15px}
.guest-shell .public-profile-heading h1{font-size:32px}
.guest-shell .public-profile-grid{grid-template-columns:minmax(250px,.7fr) minmax(0,1.5fr);gap:24px}
.guest-shell .public-profile-grid>section{padding:25px}
.guest-shell .public-footer{padding:30px 0 35px;border-color:#dce6dd;font-size:15px}
.portal-shell .mobile-bottom-nav a,.portal-shell .mobile-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:15px;line-height:1.25;color:#657565;min-height:55px;text-decoration:none;border:0;background:none;padding:3px}
.portal-shell .mobile-bottom-nav .mobile-add{color:#db5a2b}
.portal-shell .mobile-bottom-nav .mobile-add>svg{border-radius:13px;background:#f76c35;color:#fff;padding:7px;width:39px;height:39px}
.guest-scrim{display:none}
.lwg-badges{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:10px 0}
.lwg-badge,.lwg-staff{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:7px;font-size:15px;font-weight:650;line-height:1.45}
.lwg-badge{background:#edf2e7;border:1px solid #d9e3cf;color:#41673b}
.lwg-badge b{font-weight:750;color:#35532c}
.lwg-staff{background:#fff0df;border:1px solid #f1d5b0;color:#995224}
.lwg-inline{display:block;color:#67895d;font-size:15px;font-weight:500;margin-top:3px}
.lwg-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:25px 0}
.lwg-levels article{padding:22px 17px;margin:0;min-width:0}
.lwg-symbol{font-size:15px;font-weight:850;display:inline-block;background:#f4e5cc;color:#986633;border-radius:8px;padding:7px 10px;letter-spacing:1px}
.lwg-levels h2{font-size:19px;line-height:1.4;margin:17px 0 8px;letter-spacing:-.3px}
.lwg-levels p{font-size:15px;color:#6e8065}
.lwg-rules,.lwg-leaders,.lwg-progress,.membership-card,.nickname-form{padding:28px;margin-bottom:25px;min-width:0;background:#fff;border:1px solid #dce6dd;border-radius:14px}
.lwg-rules h2,.lwg-leaders h2,.lwg-progress h2,.nickname-form h2{font-size:23px;line-height:1.4;margin-bottom:20px;letter-spacing:-.4px}
.lwg-rules>div{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;margin-bottom:22px}
.lwg-rules>div>p{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:14px;background:#f2f5ed;border-radius:9px;font-size:16px}
.lwg-rules>div b{white-space:nowrap;font-size:15px;color:#467139}
.lwg-rules>p,.nickname-form>p,.membership-card>p{font-size:16px;line-height:1.8;color:#63745b}
.lwg-leaders article{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid #e4ebdd}
.lwg-leaders article>a{display:flex;align-items:center;gap:14px;color:#304a34}
.lwg-leaders article small{display:block;color:#7c8e70;font-size:15px;margin-top:4px}
.lwg-leaders .public-avatar,.lwg-initial{width:45px;height:45px;object-fit:cover;border-radius:50%;background:#e5ecda}
.lwg-initial{display:grid;place-content:center;font-size:19px;font-weight:750}
.lwg-progress progress{width:100%;height:12px;accent-color:#648545;margin:16px 0 10px}
.lwg-progress p{font-size:16px;color:#627b57}
.membership-card h1{font-size:32px;margin:0 0 20px;line-height:1.35;max-width:800px}
.membership-table{overflow:auto;margin:26px 0;border:1px solid #dce6d6;border-radius:12px}
.membership-table table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.65;min-width:650px}
.membership-table th,.membership-table td{text-align:left;padding:17px 18px;border-bottom:1px solid #e1e8da;vertical-align:top;width:33%}
.membership-table thead th{background:#edf3e6;color:#446039;font-size:15px}
.membership-table tbody th{font-weight:650}
.membership-table tbody tr:last-child>*{border-bottom:0}
.membership-table td:last-child{background:#f7faf3}
.membership-note{background:#f3f6ed;border-radius:10px;padding:15px 18px}
.nickname-form .btn{align-self:flex-start}
.public-live-layout{display:grid;grid-template-columns:300px minmax(0,1fr);padding:0;overflow:hidden;min-height:550px}
.public-live-layout .public-map-box{height:100%;border:0;border-radius:0;min-height:550px}
.public-live-layout .public-leaflet-map{height:100%;min-height:550px}
.public-live-layout .live-people{max-height:650px;overflow:auto;border-right:1px solid #dce6dd}
.public-live-search{display:grid;gap:8px;font-size:15px;padding:15px 20px}
.public-live-search input{min-width:0;width:100%;font:inherit;font-size:16px;padding:11px 12px;background:#f4f7f1;border:1px solid #d5e1ce;border-radius:8px}
.public-live-layout .public-map-results{display:block;max-height:none;margin:0;padding:0 15px}
.public-live-layout .public-map-results>a{padding:15px 5px;min-height:75px;border:0;border-bottom:1px solid #e3eadb;border-radius:0;box-shadow:none;background:transparent}
.public-live-layout .public-map-results>a>div{min-width:0}
.public-live-layout .public-map-results small{font-size:15px}
.public-live-empty{font-size:16px;line-height:1.8;padding:20px;color:#718367}
.public-live-more{margin:18px 20px;font-size:15px;display:inline-block}
.public-live-sharing{padding:23px;gap:20px;align-items:center}
.public-live-sharing h3{font-size:20px;margin:0 0 6px}
.public-live-sharing p{font-size:16px;line-height:1.7;color:#6b8060}
.public-live-sharing .sharing-icon{font-weight:800;font-size:15px;flex-shrink:0}
.public-map-pin.kind-person{background:#28765a;border:3px solid white;border-radius:50%;box-shadow:0 0 0 5px #3b8b642b}
.public-kind-dot.kind-person{background:#28765a}
@media(max-width:1350px){.lwg-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-shell .top-actions{gap:13px}.guest-shell .public-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1150px){.portal-shell .sidebar{width:240px;padding-left:17px;padding-right:17px}.portal-shell .workspace{margin-left:240px}.portal-shell main{padding:27px 24px 0}.portal-shell .topbar{padding:0 24px}.portal-shell .brand{font-size:25px}.portal-shell .breadcrumb>span{display:none}.public-live-layout{grid-template-columns:245px minmax(0,1fr)}.guest-shell .public-profile-grid{grid-template-columns:1fr}}
@media(max-width:1024px){.portal-shell .sidebar{width:290px;max-width:88vw;z-index:1600;padding:26px 20px;transform:translateX(-100%);transition:transform .2s;box-shadow:none}.portal-shell .sidebar.open{transform:translateX(0);box-shadow:15px 0 50px #102e2833}.portal-shell .workspace{margin-left:0}.portal-shell .mobile-menu{display:inline-flex}.portal-shell .drawer-close{display:inline-flex;position:absolute;top:13px;right:11px;color:#d7e5d5}.portal-shell .brand{font-size:26px}.portal-shell .topbar{height:73px;position:relative}.portal-shell .topbar .breadcrumb{gap:12px}.portal-shell main{padding:24px 22px 100px}.portal-shell .mobile-bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:1200;background:#fff;border-top:1px solid #dce6dd;padding:7px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -3px 20px #23372a0b}.guest-shell .guest-scrim{position:fixed;inset:0;border:0;background:#102d2866;z-index:1500}.guest-shell.menu-open .guest-scrim{display:block}.guest-menu-open{overflow:hidden}.guest-shell .public-footer{padding-bottom:20px}.portal-shell .sidebar-bottom{margin-top:25px}.portal-shell .account-security-link{font-size:15px}.portal-shell .breadcrumb>svg{display:none}}
@media(min-width:1025px){.portal-shell .mobile-bottom-nav{display:none}.portal-shell .drawer-close{display:none}}
@media(max-width:720px){.portal-shell main{padding:22px 17px 105px}.portal-shell .topbar{padding:0 17px}.portal-shell .top-actions{gap:11px}.guest-shell .top-actions>.icon-btn{display:none}.guest-join{display:none}.portal-shell .breadcrumb b{font-size:15px}.guest-preview{align-items:flex-start;flex-direction:column;gap:4px;padding:12px 14px;margin-bottom:22px}.guest-shell .public-hero{padding:28px 23px}.guest-shell .public-hero h1{font-size:34px;line-height:1.24}.guest-shell .public-hero p{font-size:16px}.guest-shell .public-intro h1{font-size:29px}.guest-shell .public-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.guest-shell .public-section-title{align-items:flex-start;gap:12px}.guest-shell .public-section-title h2{font-size:25px}.lwg-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lwg-rules,.lwg-leaders,.lwg-progress,.membership-card,.nickname-form{padding:22px}.lwg-rules>div{grid-template-columns:1fr}.lwg-leaders article{align-items:flex-start;flex-direction:column;gap:4px}.lwg-levels h2{font-size:18px}.membership-card h1{font-size:27px}.membership-table table{min-width:580px;font-size:15px}.membership-table th,.membership-table td{padding:13px}.membership-card .public-action-row{gap:12px}.public-live-layout{display:flex;flex-direction:column-reverse;min-height:0}.public-live-layout .public-map-box,.public-live-layout .public-leaflet-map{min-height:400px;height:400px}.public-live-layout .live-people{max-height:450px;border:0;border-top:1px solid #dce6dd}.public-live-sharing{flex-wrap:wrap}.public-live-sharing .btn{width:100%}.public-live-sharing .sharing-icon{display:none}.guest-shell .public-profile-heading{padding:0 0 15px}.guest-shell .public-profile-heading h1{font-size:28px}.portal-shell .mobile-bottom-nav a,.portal-shell .mobile-bottom-nav button{font-size:15px;min-width:0}}
@media(max-width:460px){.guest-shell .public-grid{grid-template-columns:1fr}.guest-shell .public-shortcuts{gap:10px}.guest-shell .public-shortcuts a{padding:17px 14px}.guest-shell .public-hero h1{font-size:31px}.guest-shell .public-hero-mark{display:none}.guest-shell .public-profile-heading .lwg-badges{margin-top:9px}.lwg-badge{font-size:15px;flex-wrap:wrap;gap:3px 7px}.lwg-badge b{white-space:nowrap}.portal-shell .topbar .guest-login{font-size:15px}.portal-shell .mobile-bottom-nav a,.portal-shell .mobile-bottom-nav button{font-size:15px}.portal-shell .mobile-bottom-nav a>svg,.portal-shell .mobile-bottom-nav button>svg{width:21px;height:21px}}
@media(prefers-reduced-motion:reduce){.portal-shell .sidebar,.portal-shell .nav-community>summary>svg:last-child{transition:none}}

.public-profile-tabs{display:flex;gap:24px;overflow-x:auto;border-bottom:1px solid #dce6dd;margin:10px 0 27px;padding:0 15px}.public-profile-tabs a{display:block;flex-shrink:0;padding:15px 0;color:#697f5e;font-size:16px;font-weight:650}.public-profile-tabs a:hover{color:#dc6535}.public-profile [id^="profil-"]{scroll-margin-top:25px}.portal-shell .portal-hero{background:#193d31;color:#fff}.portal-shell .portal-hero h1{color:#fff}.portal-shell .portal-hero h1 span{color:#c5d9bf}.portal-shell .portal-hero p{color:#d1ddcf}.portal-shell .portal-hero .hero-secondary{color:#e0ebda}.portal-shell .portal-hero-art{color:#d5e3c5}.portal-shell .portal-hero .hero-label{color:#b8cea9}
