
:root{
  --bg:#08090a;
  --bg2:#0d0f10;
  --panel:#101214;
  --panel2:#14171a;
  --line:#24282c;
  --text:#f2f3f4;
  --muted:#9ba1a7;
  --red:#ef3c34;
  --red2:#ff4e46;
  --white:#f5f6f7;
  --radius:18px;
  --shadow:0 20px 60px rgba(0,0,0,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 50% -10%,rgba(239,60,52,.08),transparent 28%),
    var(--bg);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}

.topbar{
  position:sticky;
  top:0;
  z-index:50;
  height:78px;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:28px;
  padding:0 clamp(18px,5vw,84px);
  background:rgba(8,9,10,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.brand{display:flex;align-items:center;gap:12px;min-width:max-content}
.brand-mark{
  width:44px;height:44px;border-radius:12px;border:1px solid #34383c;
  display:grid;place-items:center;background:#0f1112;color:var(--red)
}
.brand-mark svg{width:28px;height:28px}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:1.02rem;letter-spacing:.1em}
.brand-copy small{font-size:.7rem;color:#6e757b;margin-top:5px}
.main-nav{
  display:flex;justify-content:center;gap:clamp(14px,2vw,30px);
}
.main-nav a{
  color:#d0d4d7;font-size:.8rem;font-weight:760;letter-spacing:.045em;text-transform:uppercase;
}
.main-nav a:hover{color:white}
.auth{display:flex;gap:10px}
.ghost,.primary{
  min-height:42px;padding:0 16px;border-radius:9px;
  font-size:.78rem;font-weight:850;letter-spacing:.03em;text-transform:uppercase;
}
.ghost{color:#fff;background:#101214;border:1px solid #40454a}
.ghost:hover{background:#171a1c}
.primary{color:white;background:var(--red);border:1px solid var(--red)}
.primary:hover{background:var(--red2)}
.menu-toggle{
  display:none;padding:10px 12px;border:1px solid #373c40;border-radius:8px;background:#111315;color:white
}

.hero{
  position:relative;
  min-height:590px;
  overflow:hidden;
  border-bottom:1px solid #1d2023;
  background:linear-gradient(125deg,#0b0c0d 0%,#090b0c 32%,#16120f 100%);
}
.hero-bg{position:absolute;inset:0}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(4,5,6,.98) 0%,rgba(4,5,6,.90) 33%,rgba(4,5,6,.58) 58%,rgba(4,5,6,.70) 100%),
    linear-gradient(0deg,rgba(5,6,7,.75),transparent 34%);
}
.mountain{
  position:absolute;bottom:27%;width:54%;height:50%;
  background:linear-gradient(135deg,#13181a,#0e1214);
  clip-path:polygon(0 100%,10% 70%,18% 84%,31% 41%,40% 61%,56% 28%,67% 56%,79% 18%,100% 100%);
  opacity:.95
}
.mountain.a{right:-3%;width:50%;height:54%;opacity:.82}
.mountain.b{right:18%;width:44%;height:44%;opacity:.58}
.mountain.c{right:38%;width:34%;height:36%;opacity:.35}
.road{
  position:absolute;right:18%;bottom:-20%;width:17%;height:56%;
  background:linear-gradient(90deg,#433c37,#7a6755 52%,#41362c);
  clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);
  filter:blur(.2px)
}
.hero-inner{
  position:relative;
  overflow:visible;z-index:2;
  width:min(1440px,calc(100% - 36px));
  margin:0 auto;
  min-height:560px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:34px;
  padding:46px 0 90px;
}
.hero-copy{
  max-width:600px;
  overflow:visible;
}
.eyebrow{
  display:block;
  color:#c1c6ca;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.16em;
  margin-bottom:10px;
}
.hero h1{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:4px;
  line-height:.92;
  letter-spacing:-.04em;
  overflow:visible;
}
.hero h1 span{
  display:block;
  overflow:visible;
  padding-top:.08em;
  padding-bottom:.04em;
  font-family:Impact,Haettenschweiler,"Arial Black","Arial Narrow Bold",sans-serif;
}
.hero h1 .white{
  color:var(--white);
  font-size:clamp(3.7rem,8.2vw,7rem);
  line-height:1;
}
.hero h1 .red{
  color:var(--red);
  font-size:clamp(3.2rem,7vw,6rem);
  font-style:italic;
  line-height:1;
  padding-top:.12em;
}
.hero p{
  max-width:430px;
  color:#d0d3d5;
  font-size:1.08rem;
  margin:18px 0 24px;
}
.hero-button{
  display:inline-flex;
  align-items:center;
  padding-inline:20px;
}
.hero-badge{
  align-self:flex-end;
  display:flex;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(10,11,12,.68);
  border-radius:14px;
  min-width:280px;
}
.dot{
  width:10px;height:10px;border-radius:50%;background:var(--red);
  box-shadow:0 0 0 7px rgba(239,60,52,.12);
}
.hero-badge strong{display:block}
.hero-badge small{color:#97a0a7}

.dashboard{
  width:min(1440px,calc(100% - 36px));
  margin:-42px auto 0;
  position:relative;
  z-index:5;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.panel{
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:linear-gradient(180deg,#121417,#0e1012);
  box-shadow:var(--shadow);
}
.panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:16px;
}
.kicker{
  color:var(--red);
  font-size:1.32rem;
  line-height:1;
  font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.pill{
  padding:4px 9px;
  border:1px solid #31353a;
  border-radius:999px;
  color:#9ea5ab;
  font-size:.66rem;
  text-transform:uppercase;
}
.live{position:relative;padding-left:16px}
.live::before{
  content:"";
  position:absolute;left:8px;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;background:var(--red);
}
.panel-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
.panel-footer{
  margin-top:auto;
  padding-top:16px;
}
.panel h2{
  margin:0 0 8px;
  font-size:1.45rem;
  line-height:1.15;
}
.panel p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
}
.ride-main{
  display:flex;
  align-items:center;
  gap:14px;
}
.date-box{
  flex:0 0 66px;
  height:70px;
  border:1px solid #34383c;
  border-radius:12px;
  background:#171a1d;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.date-box strong{font-size:1.6rem;line-height:1}
.date-box span{font-size:.68rem;color:var(--red);font-weight:900;letter-spacing:.14em}
.ride-info h2{font-size:1.28rem}
.meta{
  margin:18px 0 14px;
  padding-left:18px;
  color:#d8dbdd;
  font-size:.88rem;
  display:grid;
  gap:8px;
}
.avatars{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  margin-bottom:18px;
}
.avatars span{
  width:32px;height:32px;margin-right:-4px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#24282c;
  border:2px solid #111315;
  color:#eef0f1;
  font-size:.63rem;font-weight:860;
}
.actions{
  margin-top:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.wide{width:100%}

.mini-map{
  position:relative;
  height:146px;
  margin-top:18px;
  border:1px solid #262a2e;
  border-radius:12px;
  overflow:hidden;
  background:
    linear-gradient(30deg,transparent 49%,#2a2f33 50%,transparent 51%),
    linear-gradient(142deg,transparent 49%,#2a2f33 50%,transparent 51%),
    #111416;
}
.roadline{
  position:absolute;height:2px;background:#3b4044;transform-origin:left center;
}
.r1{width:82%;left:10%;top:63%;transform:rotate(-14deg)}
.r2{width:62%;left:18%;top:32%;transform:rotate(18deg)}
.r3{width:58%;left:28%;top:74%;transform:rotate(-36deg)}
.pin{
  position:absolute;left:50%;top:48%;
  width:22px;height:22px;border-radius:50% 50% 50% 0;
  transform:translate(-50%,-50%) rotate(-45deg);
  background:var(--red);
  box-shadow:0 0 0 5px rgba(239,60,52,.14);
}

.event-list{
  display:grid;
  gap:12px;
}
.event-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #24282c;
}
.event-row:last-child{border-bottom:0}
.event-icon{
  width:44px;height:44px;flex:0 0 auto;
  border-radius:10px;
  border:1px solid #34383c;
  background:#171a1d;
  display:grid;place-items:center;
  color:var(--red);
  font-weight:900;
}
.event-row strong{
  display:block;
  font-size:.96rem;
  line-height:1.2;
}
.event-row small{color:#9da4aa}

.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
.gallery-card{
  aspect-ratio:.82;
  border-radius:10px;
  border:1px solid #30353a;
  overflow:hidden;
  display:flex;
  align-items:flex-end;
  padding:8px;
  background:
    linear-gradient(0deg,rgba(0,0,0,.75),transparent 56%),
    linear-gradient(135deg,#3f3a33,#202d35);
}
.g2{
  background:
    linear-gradient(0deg,rgba(0,0,0,.75),transparent 56%),
    linear-gradient(135deg,#1e2d33,#5a4a38);
}
.g3{
  background:
    linear-gradient(0deg,rgba(0,0,0,.75),transparent 56%),
    linear-gradient(135deg,#333129,#1e2730);
}
.gallery-card span{
  font-size:.68rem;
  font-weight:800;
  white-space:nowrap;
}

.lower-grid{
  width:min(1440px,calc(100% - 36px));
  margin:16px auto;
  display:grid;
  grid-template-columns:1.15fr .95fr;
  gap:16px;
}
.head-link{
  color:#8f969c;
  font-size:.78rem;
}
.news-item{
  display:grid;
  grid-template-columns:84px 1fr auto;
  gap:14px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid #24282c;
}
.news-thumb{
  height:58px;border-radius:10px;border:1px solid #30353a;
  background:linear-gradient(135deg,#5d5445,#2f3641);
}
.n2{background:linear-gradient(135deg,#6b4c38,#1e2830)}
.news-copy strong{
  display:block;
  margin-bottom:5px;
  font-size:.96rem;
  line-height:1.25;
}
.news-copy p{
  font-size:.88rem;
}
.news-item time{
  color:#7f878d;
  font-size:.76rem;
}

.safety{
  background:
    radial-gradient(circle at 90% 12%,rgba(239,60,52,.10),transparent 30%),
    linear-gradient(180deg,#121417,#0e1012);
}
.safety h2{
  font-size:1.6rem;
  margin-bottom:10px;
}
.safety-list{
  display:grid;
  gap:9px;
  margin-top:18px;
}
.safety-list span{
  color:#d2d6d8;
  font-size:.9rem;
}
.safety-list span::before{
  content:"✓";
  color:var(--red);
  font-weight:900;
  margin-right:10px;
}

.feature-strip{
  width:min(1440px,calc(100% - 36px));
  margin:16px auto 34px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:hidden;
}
.feature-strip div{
  padding:24px 20px;
  background:#0f1113;
  border-right:1px solid var(--line);
}
.feature-strip div:last-child{border-right:0}
.feature-strip span{
  color:var(--red);
  display:block;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.12em;
  margin-bottom:8px;
}
.feature-strip strong{
  display:block;
  margin-bottom:8px;
  font-size:1.02rem;
}
.feature-strip p{
  margin:0;
  color:#8d9499;
  font-size:.88rem;
}

footer{
  position:relative;
  width:min(1440px,calc(100% - 36px));
  margin:0 auto 30px;
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#0d0f11;
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr;
  gap:34px;
}
.footer-brand{
  display:flex;
  align-items:flex-start;
  gap:13px;
}
.brand-mark.small{width:40px;height:40px}
.footer-brand strong{
  display:block;
  letter-spacing:.08em;
}
.footer-brand p{
  margin:6px 0 0;
  color:#7d858a;
  font-size:.8rem;
}
.footer-col{
  display:grid;
  align-content:start;
  gap:8px;
}
.footer-col strong{
  margin-bottom:4px;
  font-size:.8rem;
  text-transform:uppercase;
}
.footer-col a{
  color:#92989e;
  font-size:.8rem;
}
.footer-col a:hover{color:white}
.footer-copy{
  position:absolute;
  right:22px;
  bottom:14px;
  color:#656b70;
  font-size:.7rem;
}

.modal{
  width:min(440px,calc(100% - 30px));
  padding:0;
  border:1px solid #33373b;
  border-radius:18px;
  background:#111315;
  color:white;
  box-shadow:0 28px 90px rgba(0,0,0,.68);
}
.modal::backdrop{
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(5px);
}
.modal form{
  position:relative;
  display:grid;
  gap:13px;
  padding:26px;
}
.modal h2{
  margin:0 0 4px;
  font-size:1.7rem;
}
.modal label{
  display:grid;
  gap:6px;
  color:#d1d5d7;
  font-size:.79rem;
}
.modal input{
  width:100%;
  padding:12px 13px;
  border-radius:9px;
  border:1px solid #33373b;
  background:#0b0d0e;
  color:white;
}
.modal input:focus{
  outline:none;
  border-color:var(--red);
}
.modal small{
  text-align:center;
  color:#7a8287;
}
.modal-close{
  position:absolute;
  top:10px;
  right:14px;
  border:0;
  background:transparent;
  color:#8d9498;
  font-size:1.7rem;
}

@media (max-width:1220px){
  .dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lower-grid{grid-template-columns:1fr}
}
@media (max-width:930px){
  .topbar{
    height:auto;
    min-height:72px;
    grid-template-columns:auto auto 1fr;
    padding:12px 18px;
    gap:10px;
  }
  .menu-toggle{display:block;justify-self:start}
  .auth{justify-self:end}
  .main-nav{
    display:none;
    grid-column:1/-1;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    width:100%;
    padding:10px 0 4px;
  }
  .main-nav.open{display:grid}
  .main-nav a{
    padding:11px 10px;
    border:1px solid #282d31;
    border-radius:9px;
    background:#111315;
    text-align:center;
  }
  .hero-inner{
    padding:40px 0 72px;
  }
  .hero-badge{
    align-self:flex-start;
    min-width:unset;
  }
  .feature-strip{
    grid-template-columns:repeat(2,1fr);
  }
  .feature-strip div:nth-child(2){border-right:0}
  .feature-strip div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  footer{
    grid-template-columns:1.4fr 1fr;
  }
}
@media (max-width:640px){
  .brand-copy small{display:none}
  .auth .ghost{display:none}
  .auth .primary{min-height:38px;padding:0 12px;font-size:.72rem}
  .main-nav{grid-template-columns:1fr 1fr}
  .hero{
    min-height:520px;
  }
  .hero-inner{
    width:calc(100% - 20px);
    min-height:520px;
    justify-content:flex-end;
    padding:34px 0 72px;
  }
  .hero h1 .white{font-size:clamp(3.4rem,17vw,5rem)}
  .hero h1 .red{font-size:clamp(2.9rem,15vw,4.5rem)}
  .hero p{font-size:.98rem;max-width:340px}
  .hero-badge{padding:12px 14px}
  .dashboard,.lower-grid,.feature-strip,footer{
    width:calc(100% - 20px);
  }
  .dashboard{
    grid-template-columns:1fr;
    margin-top:-34px;
  }
  .gallery-card span{font-size:.62rem}
  .news-item{
    grid-template-columns:70px 1fr;
  }
  .news-item time{display:none}
  .feature-strip{
    grid-template-columns:1fr;
  }
  .feature-strip div{
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .feature-strip div:last-child{border-bottom:0}
  footer{
    grid-template-columns:1fr;
    padding-bottom:54px;
  }
  .footer-copy{
    left:28px;
    right:auto;
  }
}


/* AUTH V5 */
.flash-wrap{
  width:min(1440px,calc(100% - 36px));
  margin:18px auto -8px;
  position:relative;
  z-index:20;
}
.flash{
  border-radius:12px;
  padding:13px 16px;
  border:1px solid #34383c;
  background:#111315;
  font-weight:700;
}
.flash.success{
  border-color:rgba(60,190,110,.35);
  background:rgba(28,100,54,.16);
}
.flash.error{
  border-color:rgba(239,60,52,.35);
  background:rgba(130,32,28,.18);
}
.check-row{
  grid-template-columns:auto 1fr !important;
  align-items:center;
  gap:10px !important;
}
.check-row input{
  width:18px !important;
  height:18px;
  margin:0;
  accent-color:var(--red);
}
.account-page{
  width:min(1100px,calc(100% - 36px));
  margin:54px auto;
}
.account-card{
  min-height:auto;
  padding:30px;
}
.account-card h1{
  margin:10px 0 8px;
  font-size:clamp(2rem,5vw,3.7rem);
}
.account-data{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.account-data div{
  border:1px solid var(--line);
  background:#0c0e10;
  border-radius:12px;
  padding:16px;
}
.account-data span{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  margin-bottom:5px;
}
.account-data strong{
  word-break:break-word;
}
@media(max-width:700px){
  .account-data{grid-template-columns:1fr}
}


/* PROFILE V6 */
.account-nav{
  display:flex;
  justify-content:center;
  gap:24px;
}
.account-nav a{
  color:#aeb4b9;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.account-nav a:hover,
.account-nav a.active{
  color:white;
}
.profile-page{
  width:min(1180px,calc(100% - 36px));
  margin:42px auto 60px;
}
.profile-page > .flash{
  margin-bottom:16px;
}
.profile-hero{
  min-height:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:20px;
  padding:26px;
  margin-bottom:16px;
}
.profile-avatar{
  width:82px;
  height:82px;
  flex:0 0 82px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 30% 20%,rgba(239,60,52,.30),transparent 42%),
    #181b1e;
  border:1px solid #363b40;
  color:white;
  font-size:2rem;
  font-weight:900;
}
.profile-intro h1{
  margin:5px 0 5px;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1;
}
.profile-intro p{
  margin:0;
  color:var(--muted);
}
.profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
  gap:16px;
}
.profile-form-card,
.profile-summary{
  min-height:auto;
}
.profile-form{
  display:grid;
  gap:15px;
}
.profile-form label{
  display:grid;
  gap:7px;
  color:#d6dade;
  font-size:.8rem;
  font-weight:700;
}
.profile-form input,
.profile-form textarea{
  width:100%;
  padding:12px 13px;
  border-radius:9px;
  border:1px solid #34393d;
  background:#0b0d0f;
  color:white;
  resize:vertical;
}
.profile-form input:focus,
.profile-form textarea:focus{
  outline:none;
  border-color:var(--red);
}
.profile-form button{
  justify-self:start;
}
.summary-row{
  padding:13px 0;
  border-top:1px solid var(--line);
}
.summary-row:first-of-type{
  border-top:0;
}
.summary-row span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  margin-bottom:4px;
}
.summary-row strong{
  display:block;
  overflow-wrap:anywhere;
}
@media(max-width:900px){
  .account-nav{display:none}
  .profile-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .profile-page{width:calc(100% - 20px);margin-top:20px}
  .profile-hero{align-items:flex-start}
  .profile-avatar{width:64px;height:64px;flex-basis:64px;border-radius:17px}
}


/* V6.2 migration notice */
.migration-warning{
  border:1px solid rgba(239,60,52,.35);
  background:rgba(130,32,28,.14);
  border-radius:12px;
  padding:16px;
}
.migration-warning strong{display:block;margin-bottom:6px}
.migration-warning p{margin:0;color:#c4c9cc}
.migration-warning code{color:#fff}


/* V6.5 PROFILE */
.account-nav{
  display:flex;
  justify-content:center;
  gap:24px;
}
.account-nav a{
  color:#aeb4b9;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.account-nav a:hover,
.account-nav a.active{color:#fff}
.profile-page{
  width:min(1180px,calc(100% - 36px));
  margin:42px auto 60px;
}
.profile-page > .flash{margin-bottom:16px}
.profile-hero{
  min-height:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:20px;
  padding:26px;
  margin-bottom:16px;
}
.profile-avatar{
  width:82px;
  height:82px;
  flex:0 0 82px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 30% 20%,rgba(239,60,52,.30),transparent 42%),
    #181b1e;
  border:1px solid #363b40;
  color:white;
  font-size:2rem;
  font-weight:900;
}
.profile-intro h1{
  margin:5px 0 5px;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1;
}
.profile-intro p{margin:0;color:var(--muted)}
.profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);
  gap:16px;
}
.profile-form-card,.profile-summary{min-height:auto}
.profile-form{display:grid;gap:15px}
.profile-form label{
  display:grid;
  gap:7px;
  color:#d6dade;
  font-size:.8rem;
  font-weight:700;
}
.profile-form input,
.profile-form textarea{
  width:100%;
  padding:12px 13px;
  border-radius:9px;
  border:1px solid #34393d;
  background:#0b0d0f;
  color:white;
  resize:vertical;
}
.profile-form input:focus,
.profile-form textarea:focus{
  outline:none;
  border-color:var(--red);
}
.profile-form button{justify-self:start}
.summary-row{
  padding:13px 0;
  border-top:1px solid var(--line);
}
.summary-row:first-of-type{border-top:0}
.summary-row span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  margin-bottom:4px;
}
.summary-row strong{
  display:block;
  overflow-wrap:anywhere;
}
.migration-warning{
  border:1px solid rgba(239,60,52,.35);
  background:rgba(130,32,28,.14);
  border-radius:12px;
  padding:18px;
}
.migration-warning strong{display:block;margin-bottom:7px}
.migration-warning p{margin:0 0 16px;color:#c4c9cc}
.setup-inline-button,
.setup-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-inline:18px;
}
.setup-page{
  width:min(760px,calc(100% - 30px));
  margin:70px auto;
}
.setup-card{min-height:auto;padding:28px}
.setup-card h1{margin:10px 0 18px;font-size:2rem}
.setup-list{color:#cbd0d3;line-height:1.9}
.setup-note{color:var(--muted);margin-top:18px}
@media(max-width:900px){
  .account-nav{display:none}
  .profile-layout{grid-template-columns:1fr}
}
@media(max-width:620px){
  .profile-page{width:calc(100% - 20px);margin-top:20px}
  .profile-hero{align-items:flex-start}
  .profile-avatar{
    width:64px;height:64px;flex-basis:64px;border-radius:17px
  }
}


/* V6.6 – klarer Profil-Zugang */
.profile-button{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:7px 12px;
  border:1px solid #3a3f44;
  border-radius:10px;
  background:#101214;
  color:#fff;
}
.profile-button:hover{
  background:#171a1d;
  border-color:#51575d;
}
.profile-button-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1d2023;
  font-size:.9rem;
}
.profile-button-copy{
  display:flex;
  flex-direction:column;
  line-height:1.05;
  text-align:left;
}
.profile-button-copy strong{
  font-size:.74rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.profile-button-copy small{
  margin-top:4px;
  color:#8e969c;
  font-size:.66rem;
  max-width:110px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.active-profile{
  border-color:rgba(239,60,52,.45);
}
@media(max-width:620px){
  .profile-button-copy small{display:none}
  .profile-button{padding:6px 10px}
}


/* V6.7 – Benutzer-Dropdown */
.user-menu{
  position:relative;
}
.user-menu-toggle{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:6px 10px 6px 7px;
  border:1px solid #3a3f44;
  border-radius:10px;
  background:#101214;
  color:#fff;
}
.user-menu-toggle:hover{
  background:#171a1d;
  border-color:#51575d;
}
.user-avatar{
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 20%,rgba(239,60,52,.34),transparent 45%),
    #1b1f22;
  border:1px solid #383d42;
  color:#fff;
  font-size:.78rem;
  font-weight:900;
}
.user-menu-name{
  max-width:130px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.76rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.035em;
}
.user-menu-arrow{
  color:#858d93;
  font-size:.72rem;
  transition:transform .18s ease;
}
.user-menu.open .user-menu-arrow{
  transform:rotate(180deg);
}
.user-menu-dropdown{
  position:absolute;
  right:0;
  top:calc(100% + 10px);
  width:265px;
  display:none;
  z-index:100;
  padding:8px;
  border:1px solid #30353a;
  border-radius:13px;
  background:#101214;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
}
.user-menu.open .user-menu-dropdown{
  display:block;
}
.user-menu-dropdown a{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:10px;
  align-items:center;
  padding:11px 10px;
  border-radius:9px;
}
.user-menu-dropdown a:hover{
  background:#191c1f;
}
.user-menu-dropdown a > span:first-child{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:#1b1f22;
  color:var(--red);
  font-size:.9rem;
}
.user-menu-dropdown strong{
  display:block;
  font-size:.78rem;
  color:#fff;
}
.user-menu-dropdown small{
  display:block;
  margin-top:3px;
  color:#7f878d;
  font-size:.68rem;
}
.user-menu-separator{
  height:1px;
  margin:6px 4px;
  background:#282d31;
}
.user-menu-dropdown .logout-link strong,
.user-menu-dropdown .logout-link > span:first-child{
  color:#ff625b;
}
.settings-placeholder{
  min-height:auto;
  margin-top:16px;
}
.settings-placeholder p{
  margin:0;
  color:var(--muted);
}
@media(max-width:620px){
  .user-menu-name{
    display:none;
  }
  .user-menu-toggle{
    padding-right:8px;
  }
  .user-menu-dropdown{
    width:min(265px,calc(100vw - 30px));
  }
}


/* V6.9 – EINSTELLUNGEN */
.settings-page{
  width:min(1180px,calc(100% - 36px));
  margin:42px auto 60px;
}
.settings-page > .flash{
  margin-bottom:16px;
}
.settings-head{
  min-height:auto;
  padding:28px;
  margin-bottom:16px;
}
.settings-head h1{
  margin:8px 0 8px;
  font-size:clamp(2rem,5vw,3.4rem);
  line-height:1;
}
.settings-head p{
  margin:0;
  color:var(--muted);
}
.settings-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.settings-card{
  min-height:auto;
}
.settings-form{
  display:grid;
  gap:15px;
}
.settings-form label{
  display:grid;
  gap:7px;
  color:#d6dade;
  font-size:.8rem;
  font-weight:700;
}
.settings-form input{
  width:100%;
  padding:12px 13px;
  border-radius:9px;
  border:1px solid #34393d;
  background:#0b0d0f;
  color:white;
}
.settings-form input:focus{
  outline:none;
  border-color:var(--red);
}
.settings-form input:disabled{
  color:#858d92;
  background:#101214;
}
.settings-form button{
  justify-self:start;
}
@media(max-width:800px){
  .settings-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .settings-page{
    width:calc(100% - 20px);
    margin-top:20px;
  }
}


/* V7.0 – AUSFAHRTEN */
.form-link-button{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.single-action{
  grid-template-columns:1fr;
}
.rides-page,
.ride-form-page,
.ride-detail-page{
  width:min(1180px,calc(100% - 36px));
  margin:42px auto 60px;
}
.rides-page > .flash,
.ride-form-page > .flash,
.ride-detail-page > .flash{
  margin-bottom:16px;
}
.rides-head{
  min-height:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:28px;
  margin-bottom:16px;
}
.rides-head h1,
.ride-form-card h1{
  margin:8px 0 8px;
  font-size:clamp(2rem,5vw,3.5rem);
  line-height:1;
}
.rides-head p,
.ride-form-intro{
  margin:0;
  color:var(--muted);
}
.rides-head-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding-inline:18px;
  white-space:nowrap;
}
.rides-setup-warning,
.empty-rides{
  min-height:auto;
  padding:24px;
}
.empty-rides h2{
  margin:8px 0;
}
.empty-rides p{
  margin:0 0 18px;
}
.ride-list{
  display:grid;
  gap:14px;
}
.ride-list-card{
  min-height:auto;
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
  align-items:start;
}
.ride-list-date{
  width:76px;
  height:82px;
  border:1px solid #353a3e;
  border-radius:14px;
  background:#171a1d;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.ride-list-date strong{
  font-size:1.75rem;
  line-height:1;
}
.ride-list-date span{
  margin-top:5px;
  color:var(--red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.1em;
}
.ride-list-main{
  min-width:0;
}
.ride-list-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.ride-list-top h2{
  margin:0 0 5px;
  font-size:1.35rem;
}
.ride-list-top p{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}
.ride-list-meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 12px;
}
.ride-list-meta span{
  padding:6px 9px;
  border:1px solid #2f3438;
  border-radius:999px;
  background:#0d0f11;
  color:#cbd0d3;
  font-size:.76rem;
}
.ride-list-description{
  margin:0 0 14px;
  color:#9ca3a8;
}
.ride-details-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:140px;
}
.ride-form-card{
  min-height:auto;
  padding:28px;
}
.ride-form{
  display:grid;
  gap:16px;
  margin-top:24px;
}
.ride-form label{
  display:grid;
  gap:7px;
  color:#d6dade;
  font-size:.8rem;
  font-weight:700;
}
.ride-form input,
.ride-form textarea{
  width:100%;
  padding:12px 13px;
  border-radius:9px;
  border:1px solid #34393d;
  background:#0b0d0f;
  color:#fff;
  resize:vertical;
}
.ride-form input:focus,
.ride-form textarea:focus{
  outline:none;
  border-color:var(--red);
}
.ride-form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.ride-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:2px;
}
.ride-detail-hero{
  min-height:auto;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:22px;
  padding:28px;
  margin-bottom:16px;
}
.ride-detail-date{
  width:88px;
  height:94px;
  flex:0 0 88px;
  border:1px solid #363b3f;
  border-radius:17px;
  background:#171a1d;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.ride-detail-date strong{
  font-size:2rem;
  line-height:1;
}
.ride-detail-date span{
  margin-top:5px;
  color:var(--red);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.1em;
}
.ride-detail-title h1{
  margin:7px 0 6px;
  font-size:clamp(2rem,5vw,3.6rem);
  line-height:1;
}
.ride-detail-title p{
  margin:0;
  color:var(--muted);
}
.ride-detail-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:16px;
}
.ride-detail-info,
.ride-detail-description,
.ride-next-step{
  min-height:auto;
}
.ride-detail-row{
  padding:13px 0;
  border-top:1px solid var(--line);
}
.ride-detail-row:first-of-type{
  border-top:0;
}
.ride-detail-row span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  margin-bottom:4px;
}
.ride-detail-description p{
  margin:0;
  color:#c7ccd0;
  line-height:1.7;
}
.muted-copy{
  color:var(--muted) !important;
}
.ride-next-step{
  margin-top:16px;
}
.ride-next-step h2{
  margin:8px 0 8px;
}
.ride-next-step p{
  margin:0;
}
@media(max-width:800px){
  .rides-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ride-detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:620px){
  .rides-page,
  .ride-form-page,
  .ride-detail-page{
    width:calc(100% - 20px);
    margin-top:20px;
  }
  .ride-list-card{
    grid-template-columns:58px 1fr;
    gap:12px;
    padding:15px;
  }
  .ride-list-date{
    width:58px;
    height:66px;
  }
  .ride-list-date strong{
    font-size:1.35rem;
  }
  .ride-list-top{
    flex-direction:column;
    gap:8px;
  }
  .ride-form-row{
    grid-template-columns:1fr;
  }
  .ride-form-actions{
    flex-direction:column-reverse;
  }
  .ride-detail-hero{
    align-items:flex-start;
    padding:20px;
  }
  .ride-detail-date{
    width:66px;
    height:72px;
    flex-basis:66px;
  }
}


/* V7.2 – TEILNEHMER */
.ride-participation{
  min-height:auto;
  margin-top:16px;
}
.participant-list{
  display:grid;
  gap:9px;
  margin-bottom:18px;
}
.participant-row{
  display:flex;
  align-items:center;
  gap:11px;
  padding:10px 0;
  border-top:1px solid var(--line);
}
.participant-row:first-child{
  border-top:0;
}
.participant-avatar{
  width:38px;
  height:38px;
  flex:0 0 38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 20%,rgba(239,60,52,.26),transparent 44%),
    #1b1f22;
  border:1px solid #393e43;
  color:#fff;
  font-size:.76rem;
  font-weight:900;
}
.participant-row strong{
  display:block;
  font-size:.88rem;
}
.participant-row small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.7rem;
}
.participation-actions{
  padding-top:15px;
  border-top:1px solid var(--line);
}
.participation-actions form{
  margin:0;
}
.participation-note{
  padding:12px 14px;
  border:1px solid rgba(239,60,52,.28);
  border-radius:10px;
  background:rgba(120,30,27,.10);
  color:#d7dbdd;
  font-size:.84rem;
}
.participation-cancel{
  border-color:#5a3331;
  color:#ff8b85;
}


/* V7.3 – AUSFAHRT VERWALTEN */
.cancelled-ride-notice{
  min-height:auto;
  margin-bottom:16px;
  border-color:rgba(239,60,52,.34);
  background:rgba(120,30,27,.12);
}
.cancelled-ride-notice strong{
  display:block;
  margin-bottom:6px;
  color:#ff8d87;
}
.cancelled-ride-notice p{
  margin:0;
  color:#c7ccd0;
}
.ride-manage-card{
  min-height:auto;
  margin-top:16px;
}
.ride-manage-card > p{
  margin:0 0 16px;
  color:var(--muted);
}
.ride-manage-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ride-manage-actions form{
  margin:0;
}
.ride-cancel-button{
  border-color:#6d4b22;
  color:#ffc36c;
}
.danger-button{
  min-height:42px;
  padding:0 16px;
  border-radius:9px;
  border:1px solid #7a2d29;
  background:#4b1715;
  color:#ff9a94;
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
}
.danger-button:hover{
  background:#681d19;
  border-color:#a33a34;
}


/* V7.5 – Ausfahrtstatus nach Start */
.pill.started{
  color:#ffc36c;
  border-color:#6d4b22;
  background:rgba(109,75,34,.12);
}


/* V7.8 – Gäste sehen bei Ausfahrten nur das Datum */
.guest-date-only{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:4px;
}
.guest-date-only h2{
  margin:0 0 6px;
}
.guest-date-only p{
  margin:0;
  color:var(--muted);
}
.guest-date-box{
  flex:0 0 66px;
}
.guest-ride-card{
  align-items:center;
}
.guest-ride-main h2{
  margin:0 0 6px;
}
.guest-ride-main p{
  margin:0 0 14px;
  color:var(--muted);
}


/* V7.9 – AUSFAHRT CHECKLISTE */
.ride-options{margin:0;padding:18px;border:1px solid #34393d;border-radius:14px;background:#0d0f11}.ride-options legend{padding:0 8px;color:#fff;font-size:.86rem;font-weight:850}.ride-options-help{margin:0 0 14px;color:var(--muted);font-size:.8rem}.ride-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ride-option{min-width:0;display:grid!important;grid-template-columns:auto 1fr;align-items:start;gap:11px!important;padding:13px;border:1px solid #2f3438;border-radius:11px;background:#111315;cursor:pointer}.ride-option:hover{border-color:#4a5055;background:#15181a}.ride-option input{width:19px!important;height:19px;margin:2px 0 0;accent-color:var(--red)}.ride-option strong{display:block;margin-bottom:4px;color:#fff;font-size:.84rem}.ride-option small{display:block;color:#899197;font-size:.7rem;line-height:1.45}.ride-option:has(input:checked){border-color:rgba(239,60,52,.5);background:rgba(239,60,52,.08)}.sena-channel-box{margin-top:12px;padding-top:12px;border-top:1px solid #292e32}.sena-channel-box label{max-width:260px}.sena-channel-box select{width:100%;min-height:44px;padding:10px 12px;border:1px solid #34393d;border-radius:9px;background:#0b0d0f;color:#fff}.ride-option-summary{min-height:auto;margin-top:16px}.ride-badges{display:flex;flex-wrap:wrap;gap:8px}.ride-badges span{padding:7px 10px;border:1px solid rgba(239,60,52,.32);border-radius:999px;background:rgba(239,60,52,.07);color:#e9ecee;font-size:.76rem;font-weight:750}@media(max-width:700px){.ride-option-grid{grid-template-columns:1fr}}


/* V7.10 – Teilnahmehinweis / Eigenverantwortung */
.responsibility-modal{
  width:min(620px,calc(100% - 30px));
}
.responsibility-modal form{
  gap:15px;
}
.responsibility-copy{
  padding:15px;
  border:1px solid #30353a;
  border-radius:12px;
  background:#0c0e10;
}
.responsibility-copy p{
  margin:0;
  color:#d4d8db;
}
.responsibility-copy ul{
  margin:13px 0;
  padding-left:20px;
  color:#b8bec3;
  font-size:.82rem;
  line-height:1.65;
}
.responsibility-copy li + li{
  margin-top:6px;
}
.responsibility-copy .responsibility-legal{
  color:#8f979d;
  font-size:.75rem;
}
.responsibility-check{
  display:grid !important;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:11px !important;
  padding:13px;
  border:1px solid #3a4045;
  border-radius:11px;
  background:#111315;
}
.responsibility-check input{
  width:19px !important;
  height:19px;
  margin:2px 0 0;
  accent-color:var(--red);
}
.responsibility-check span{
  color:#f0f2f3;
  font-size:.82rem;
  line-height:1.5;
}


/* V7.11 – Ausfahrt vor Start bearbeiten */
.ride-edit-button{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
}
.ride-edit-note{
  padding:12px 14px;
  border:1px solid #31363a;
  border-radius:10px;
  background:#0e1012;
  color:var(--muted);
  font-size:.78rem;
}


/* V7.12 – Routen-Link */
.field-optional{
  color:var(--muted);
  font-weight:500;
}
.field-help{
  display:block;
  margin-top:6px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.45;
}
.route-link-panel{
  min-height:auto;
  margin-top:16px;
}
.route-link-panel p{
  margin:0 0 14px;
  color:var(--muted);
}
.route-open-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 16px;
}


/* V7.13 – Teilnehmer kann einen Gast mitbringen */
.guest-check{
  display:grid !important;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:11px !important;
  padding:13px;
  border:1px solid #343a3f;
  border-radius:11px;
  background:#111315;
}
.guest-check input{
  width:19px !important;
  height:19px;
  margin:2px 0 0;
  accent-color:var(--red);
}
.guest-check strong,
.guest-check small{
  display:block;
}
.guest-check strong{
  color:#f0f2f3;
  font-size:.84rem;
}
.guest-check small{
  margin-top:4px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.45;
}
.participant-self-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
}
.guest-toggle-button{
  min-height:42px;
}


/* V7.14 – Gast-Auswahl klar sichtbar */
.guest-choice-form{
  width:min(100%,520px);
  display:grid;
  gap:10px;
}
.guest-choice-fieldset{
  margin:0;
  padding:12px;
  border:1px solid #343a3f;
  border-radius:12px;
  background:#0e1012;
  display:grid;
  gap:9px;
}
.guest-choice-fieldset legend{
  padding:0 7px;
  color:#fff;
  font-size:.8rem;
  font-weight:800;
}
.guest-choice-option{
  display:grid !important;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:11px !important;
  padding:12px;
  border:1px solid #2e3337;
  border-radius:10px;
  background:#121416;
  cursor:pointer;
}
.guest-choice-option input{
  width:19px !important;
  height:19px;
  margin:2px 0 0;
  accent-color:var(--red);
}
.guest-choice-option strong,
.guest-choice-option small{
  display:block;
}
.guest-choice-option strong{
  color:#f2f4f5;
  font-size:.84rem;
}
.guest-choice-option small{
  margin-top:4px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.4;
}
.guest-choice-option:has(input:checked){
  border-color:rgba(239,60,52,.55);
  background:rgba(239,60,52,.08);
}
.guest-save-button{
  min-height:42px;
}
.guest-choice-modal{
  margin-bottom:0;
}
.guest-missing-note{
  margin:0;
}


/* V7.15 – Spontane Runde */
.spontaneous-style-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media(max-width:700px){
  .spontaneous-style-options{
    grid-template-columns:1fr;
  }
}


/* V7.16.1 – Event-Karte auf Startseite anklickbar */
.home-event-link{
  display:block;
  color:inherit;
  text-decoration:none;
}
.home-event-row{
  transition:border-color .15s ease, background .15s ease;
}
.home-event-link:focus-visible{
  outline:2px solid currentColor;
  outline-offset:3px;
  border-radius:10px;
}
@media (hover:hover) and (pointer:fine){
  .home-event-link:hover .home-event-row{
    background:rgba(255,255,255,.025);
  }
}
.event-footer-actions{
  display:grid;
  gap:8px;
}


/* V7.17 – Vergangene Touren */
.past-home-list{
  display:grid;
  gap:9px;
}
.past-home-row{
  min-width:0;
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:11px;
  border:1px solid #2b3034;
  border-radius:11px;
  background:#0e1012;
  color:inherit;
  text-decoration:none;
}
.past-home-date{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  align-content:center;
  border:1px solid #343a3f;
  border-radius:10px;
  background:#131517;
  line-height:1;
}
.past-home-date strong{
  font-size:1.05rem;
}
.past-home-date small{
  margin-top:4px;
  color:var(--muted);
  font-size:.6rem;
}
.past-home-copy{
  min-width:0;
}
.past-home-copy strong,
.past-home-copy small{
  display:block;
}
.past-home-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.past-home-copy small{
  margin-top:4px;
  color:var(--muted);
  font-size:.7rem;
}
.past-home-arrow{
  color:var(--muted);
  font-size:1.45rem;
}
.past-home-row-guest{
  grid-template-columns:50px minmax(0,1fr);
}
.past-date{
  opacity:.82;
}
.past-pill{
  border-color:#3b4146;
  color:#aeb4b9;
}
@media (hover:hover) and (pointer:fine){
  a.past-home-row:hover{
    border-color:#444b50;
    background:#141719;
  }
}
@media(max-width:600px){
  .past-home-row{
    grid-template-columns:46px minmax(0,1fr) auto;
  }
  .past-home-date{
    width:44px;
    height:44px;
  }
}


/* V7.18 – Community News */
.news-page-list{
  display:grid;
  gap:14px;
}
.news-page-card{
  padding:18px;
}
.news-page-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.news-page-head h1,
.news-page-head h2{
  margin:5px 0 5px;
}
.news-page-head small,
.news-page-head p{
  color:var(--muted);
}
.news-preview{
  margin:16px 0;
  color:#c5c9cc;
  line-height:1.65;
  white-space:pre-line;
}
.news-card-actions,
.news-admin-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
}
.news-detail-card{
  padding:22px;
}
.news-detail-content{
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid #2d3236;
  color:#d7dbde;
  line-height:1.75;
  overflow-wrap:anywhere;
}
.news-admin-actions{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid #2d3236;
}
.news-guest-only p{
  color:var(--muted);
}
.news-pin-option{
  max-width:none;
}
.home-news-link{
  color:inherit;
  text-decoration:none;
}
.news-important{
  border-color:rgba(239,60,52,.5) !important;
  background:
    linear-gradient(135deg,rgba(239,60,52,.18),rgba(255,255,255,.03)) !important;
}
@media (hover:hover) and (pointer:fine){
  .home-news-link:hover{
    background:rgba(255,255,255,.025);
  }
}
@media(max-width:650px){
  .news-page-head{
    flex-direction:column;
  }
}


/* V7.18.1 – Admin Panel */
.admin-page{
  width:min(1240px,calc(100% - 30px));
  margin:28px auto 60px;
}
.admin-head{
  padding:20px;
}
.admin-head h1{
  margin:5px 0 5px;
}
.admin-head p{
  margin:0;
  color:var(--muted);
}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:14px 0;
}
.admin-stat{
  padding:16px;
  min-height:auto;
}
.admin-stat small,
.admin-stat strong{
  display:block;
}
.admin-stat small{
  color:var(--muted);
}
.admin-stat strong{
  margin-top:6px;
  font-size:1.7rem;
}
.admin-members{
  padding:18px;
}
.admin-members-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:16px;
}
.admin-members-head h2{
  margin:4px 0 0;
}
.admin-search{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.admin-search input{
  min-width:240px;
  min-height:42px;
}
.admin-user-list{
  display:grid;
  gap:10px;
}
.admin-user-row{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);
  gap:16px;
  align-items:center;
  padding:14px;
  border:1px solid #2d3236;
  border-radius:12px;
  background:#0e1012;
}
.admin-user-main{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
}
.admin-user-main div{
  min-width:0;
}
.admin-user-main strong,
.admin-user-main span,
.admin-user-main small{
  display:block;
}
.admin-user-main strong small{
  display:inline;
  color:var(--muted);
}
.admin-user-main span{
  margin-top:3px;
  overflow-wrap:anywhere;
  color:#c1c6ca;
  font-size:.78rem;
}
.admin-user-main small{
  margin-top:4px;
  color:var(--muted);
  font-size:.68rem;
}
.admin-user-controls{
  display:grid;
  grid-template-columns:1fr 1fr auto;
  gap:8px;
  align-items:end;
}
.admin-user-controls label{
  min-width:0;
  color:var(--muted);
  font-size:.7rem;
}
.admin-user-controls select{
  width:100%;
  min-height:42px;
  margin-top:5px;
}
.admin-save-user{
  min-height:42px;
}
.admin-self-note{
  grid-column:1/-1;
  color:var(--muted);
  font-size:.72rem;
}
.admin-bootstrap-user{
  margin:16px 0;
  padding:14px;
  border:1px solid #33383d;
  border-radius:11px;
  background:#101214;
}
.admin-bootstrap-user small,
.admin-bootstrap-user strong,
.admin-bootstrap-user span{
  display:block;
}
.admin-bootstrap-user small,
.admin-bootstrap-user span{
  color:var(--muted);
}
.admin-bootstrap-user strong{
  margin:4px 0;
}
@media(max-width:900px){
  .admin-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-user-row{
    grid-template-columns:1fr;
  }
}
@media(max-width:600px){
  .admin-page{
    width:min(100% - 20px,1240px);
  }
  .admin-stats{
    grid-template-columns:1fr 1fr;
  }
  .admin-members-head{
    align-items:stretch;
    flex-direction:column;
  }
  .admin-search{
    display:grid;
    grid-template-columns:1fr;
  }
  .admin-search input{
    min-width:0;
    width:100%;
  }
  .admin-user-controls{
    grid-template-columns:1fr;
  }
}


/* V7.19 – Owner, Admin-Team, Gruppen & Rechte */
.owner-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.owner-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid rgba(239,60,52,.5);
  border-radius:999px;
  background:rgba(239,60,52,.12);
  color:#ff7770;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
}
.admin-team-setup-warning{
  margin-bottom:14px;
}
.admin-owner-actions,
.admin-my-rights{
  margin:14px 0;
  padding:18px;
}
.admin-owner-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.admin-owner-actions h2{
  margin:4px 0 6px;
}
.admin-owner-actions p{
  margin:0;
  color:var(--muted);
}
.admin-my-groups{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:7px;
  color:var(--muted);
}
.admin-my-groups span,
.admin-permission-badges span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 9px;
  border:1px solid #353b40;
  border-radius:999px;
  background:#111416;
  color:#cbd0d4;
  font-size:.72rem;
}
.admin-permission-badges{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.admin-team-grid{
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  gap:14px;
  margin-top:14px;
  align-items:start;
}
.admin-group-create,
.admin-group-settings,
.admin-add-member,
.admin-group-members{
  padding:18px;
}
.admin-group-create h2,
.admin-group-settings h2,
.admin-add-member h2{
  margin:5px 0 15px;
}
.admin-groups-list{
  display:grid;
  gap:10px;
}
.admin-group-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:17px;
  text-decoration:none;
  color:inherit;
  min-height:auto;
}
.admin-group-card h2{
  margin:4px 0 0;
}
.admin-group-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}
.admin-group-meta span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 9px;
  border:1px solid #343a3f;
  border-radius:999px;
  color:var(--muted);
  font-size:.7rem;
}
.admin-group-open{
  grid-column:1/-1;
  color:#d7dbde;
  font-size:.76rem;
}
.permission-fieldset{
  margin:4px 0 16px;
  padding:0;
  border:0;
}
.permission-fieldset legend{
  margin-bottom:9px;
  color:#d9dde0;
  font-size:.82rem;
  font-weight:700;
}
.permission-grid{
  display:grid;
  gap:8px;
}
.permission-choice{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr);
  gap:10px;
  align-items:flex-start;
  padding:11px;
  border:1px solid #30363a;
  border-radius:10px;
  background:#0e1012;
  cursor:pointer;
}
.permission-choice input{
  width:auto !important;
  margin-top:3px;
}
.permission-choice strong,
.permission-choice small{
  display:block;
}
.permission-choice strong{
  color:#e4e7e9;
  font-size:.8rem;
}
.permission-choice small{
  margin-top:3px;
  color:var(--muted);
  line-height:1.4;
  font-size:.68rem;
}
.admin-group-detail-grid{
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);
  gap:14px;
  margin-top:14px;
  align-items:start;
}
.admin-group-members-column{
  display:grid;
  gap:14px;
}
.admin-delete-group{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #2d3236;
}
.admin-group-member-list{
  display:grid;
  gap:8px;
}
.admin-group-member-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px;
  border:1px solid #2f3539;
  border-radius:10px;
  background:#0e1012;
}
.admin-user-status-only{
  grid-template-columns:minmax(150px,1fr) auto;
}
.admin-members-head p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.76rem;
}
@media (hover:hover) and (pointer:fine){
  .admin-group-card:hover{
    border-color:#454c51;
    background:#141719;
  }
  .permission-choice:hover{
    border-color:#444b50;
  }
}
@media(max-width:900px){
  .admin-team-grid,
  .admin-group-detail-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .owner-head,
  .admin-owner-actions,
  .admin-group-member-row{
    align-items:stretch;
    flex-direction:column;
  }
  .admin-group-card{
    grid-template-columns:1fr;
  }
  .admin-group-meta{
    justify-content:flex-start;
  }
  .admin-user-status-only{
    grid-template-columns:1fr;
  }
}


/* V7.20 – Erweiterte Mitgliederverwaltung */
.admin-user-row{
  grid-template-columns:minmax(0,1.2fr) auto minmax(280px,.65fr);
}
.admin-user-row-actions{
  display:flex;
  align-items:center;
}
.admin-member-profile{
  padding:18px;
}
.admin-member-title{
  display:flex;
  align-items:center;
  gap:15px;
}
.admin-member-title h1{
  margin:4px 0 2px;
}
.admin-member-title p{
  margin:0;
  color:var(--muted);
}
.admin-member-avatar{
  width:58px;
  height:58px;
  font-size:1.15rem;
}
.admin-member-badges{
  margin-left:auto;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.admin-member-grid{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
  gap:14px;
  margin-top:14px;
  align-items:start;
}
.admin-member-info,
.admin-member-action-card{
  padding:18px;
}
.admin-member-info h2,
.admin-member-action-card h2{
  margin:5px 0 14px;
}
.admin-member-actions{
  display:grid;
  gap:14px;
}
.admin-member-action-card p{
  color:var(--muted);
  line-height:1.55;
}
.admin-member-data{
  display:grid;
  gap:0;
  margin:0 0 18px;
}
.admin-member-data div{
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #292e32;
}
.admin-member-data dt{
  color:var(--muted);
  font-size:.74rem;
}
.admin-member-data dd{
  margin:0;
  color:#d8dcdf;
  overflow-wrap:anywhere;
  font-size:.8rem;
}
.admin-member-groups{
  margin:0 0 16px;
  padding:13px;
  border:1px solid #30363a;
  border-radius:10px;
  background:#0e1012;
}
.admin-member-groups > strong{
  display:block;
  margin-bottom:8px;
  font-size:.76rem;
}
.admin-member-groups > div{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.admin-member-groups a{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 9px;
  border:1px solid #343a3f;
  border-radius:999px;
  color:#d7dbde;
  text-decoration:none;
  font-size:.7rem;
}
.admin-danger-zone{
  border-color:rgba(239,60,52,.28);
}
.forced-logout{
  margin-top:10px;
}
@media(max-width:950px){
  .admin-user-row{
    grid-template-columns:1fr;
  }
  .admin-member-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .admin-member-title{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-member-badges{
    margin-left:0;
    justify-content:flex-start;
  }
  .admin-member-data div{
    grid-template-columns:1fr;
    gap:3px;
  }
}
