:root{color-scheme:dark;--bg:#090a0c;--panel:#121419;--panel2:#181b21;--text:#f6f7f8;--muted:#9aa3ad;--line:#292e36;--soft:#20242b;--accent:#f1f3f5;--danger:#d65c5c;--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr)}.login-hero{display:flex;align-items:flex-end;padding:clamp(2rem,6vw,6rem);background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.12),transparent 30rem),linear-gradient(145deg,#1b1e24,#08090b 68%);border-right:1px solid var(--line)}.hero-copy h1{font-size:clamp(4rem,9vw,8rem);line-height:.78;letter-spacing:-.07em;margin:.4rem 0 1rem}.hero-copy p{font-size:1.1rem;color:var(--muted)}.login-panel{display:grid;place-items:center;padding:2rem}.login-card{width:min(100%,420px)}.login-card h2{font-size:2.2rem;margin:.3rem 0 2rem}.kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.74rem;font-weight:700}.muted{color:var(--muted)}.small{font-size:.88rem}.legal{display:flex;gap:1rem;margin-top:1.5rem;font-size:.85rem;color:var(--muted)}form label{display:block;color:var(--muted);margin:.9rem 0 .4rem}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:.86rem 1rem}textarea{min-height:130px}.primary,.button,.ghost,.danger{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:.82rem 1rem;border:1px solid transparent;font-weight:700;cursor:pointer;margin-top:.8rem}.primary,.button{background:var(--accent);color:#090a0c}.ghost{background:transparent;border-color:var(--line);color:var(--text)}.danger{background:transparent;border-color:#783d3d;color:#ff9e9e}.alert{background:var(--panel2);border:1px solid var(--line);padding:.85rem 1rem;border-radius:12px;margin:1rem 0}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:1.4rem;padding:.9rem max(1rem,calc((100vw - 1180px)/2));background:rgba(9,10,12,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{font-weight:900;letter-spacing:-.03em;font-size:1.1rem}.brand span{font-weight:500;color:var(--muted)}.topbar nav{display:flex;gap:1rem;flex:1}.topbar nav a{color:var(--muted)}.topbar nav a:hover{color:var(--text)}.topbar .ghost{margin:0;padding:.55rem .8rem}.app{width:min(1180px,calc(100% - 2rem));margin:2rem auto 4rem}.page-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.page-head h1,.app>h1{font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:-.055em;margin:.2rem 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.card{border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:1.25rem}.card h2{margin-top:0}.card-head{display:flex;justify-content:space-between;align-items:center}.card-head a{color:var(--muted)}.row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.row:first-of-type{border-top:0}.row-block{display:block;margin-bottom:.8rem}.meta{color:var(--muted)}.notice{border-radius:var(--radius);padding:1rem 1.25rem;margin:0 0 1rem;border:1px solid var(--line);background:var(--panel2)}.notice-important{border-color:#7b6b31}.notice-urgent{border-color:#7d3e3e}.member-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.member-card{display:flex;gap:1rem;align-items:center;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);padding:.8rem}.member-card img,.avatar{width:74px;height:74px;border-radius:15px;object-fit:cover;background:var(--soft);display:grid;place-items:center;font-size:1.6rem;font-weight:800}.member-card span{display:block;color:var(--muted);font-size:.9rem;margin-top:.2rem}.profile-head{display:flex;gap:1.5rem;align-items:center;margin-bottom:1.5rem}.profile-image{width:150px;height:150px;border-radius:28px;object-fit:cover;background:var(--soft)}.profile-head h1{font-size:clamp(2.4rem,6vw,5rem);letter-spacing:-.06em;margin:.1rem 0}.bike img{width:100%;max-height:360px;object-fit:cover;border-radius:14px}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.facts div{background:var(--soft);padding:.8rem;border-radius:12px}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{margin:.2rem 0 0;font-weight:700}.attendance-counts{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.attendance-counts span{background:var(--soft);padding:.55rem .75rem;border-radius:999px}.attendance{display:flex;gap:.5rem;flex-wrap:wrap}.attendance button{width:auto}.check{display:flex;gap:.6rem;align-items:center;color:var(--text);margin:.65rem 0}.check input{width:auto}.narrow{width:min(100%,680px);margin-inline:auto}.center{min-height:100vh;display:grid;place-items:center;padding:1rem}.list{display:grid;gap:.7rem}.danger-zone{margin-top:1rem;border-color:#5b3434}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);white-space:nowrap}th{color:var(--muted);font-size:.8rem}.invite-url{white-space:pre-wrap;word-break:break-all;background:#060708;border:1px solid var(--line);padding:1rem;border-radius:12px}.region-select{min-width:220px}.region-select label{margin-top:0}@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-hero{min-height:38vh;border-right:0;border-bottom:1px solid var(--line)}.hero-copy h1{font-size:4.2rem}.topbar{overflow:visible;flex-wrap:wrap}.topbar nav{display:flex;width:100%;overflow-x:auto;order:3;padding-bottom:.25rem}.grid,.member-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}.profile-head{align-items:flex-start}.profile-image{width:108px;height:108px}.facts{grid-template-columns:1fr}.app{margin-top:1.2rem}}

/* Form- und Admin-UX */
.back-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--muted);padding:.55rem .72rem;font-weight:700;cursor:pointer;white-space:nowrap}.back-button:hover{color:var(--text);border-color:#3b424d}
input[type="checkbox"],input[type="radio"]{appearance:none;-webkit-appearance:none;width:1.15rem;height:1.15rem;min-width:1.15rem;padding:0;margin:0;border:1px solid #59616d;background:#0d0f13;display:inline-grid;place-content:center;vertical-align:-.15rem;box-shadow:none}
input[type="checkbox"]{border-radius:4px}input[type="radio"]{border-radius:50%}
input[type="checkbox"]:checked,input[type="radio"]:checked{background:var(--accent);box-shadow:inset 0 0 0 3px var(--panel)}
input[type="checkbox"]:focus-visible,input[type="radio"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
form p:has(> input[type="checkbox"]),form p:has(> input[type="radio"]){display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:.72rem .8rem}
form p:has(> input[type="checkbox"])>label,form p:has(> input[type="radio"])>label{order:2;flex:1;margin:0;color:var(--text)}
form p:has(> input[type="checkbox"])>input,form p:has(> input[type="radio"])>input{order:1}
.helptext{display:block;color:var(--muted);font-size:.82rem;margin:.35rem 0 .2rem;line-height:1.35}
form p:has(> input[type="checkbox"])>.helptext,form p:has(> input[type="radio"])>.helptext{order:3;flex-basis:100%;padding-left:1.85rem;margin:0}
.errorlist{list-style:none;margin:.35rem 0;padding:0;color:#ff9e9e;font-size:.88rem}
.search-form{width:min(100%,340px);margin:0}.search-form input{background:var(--panel2);padding:.72rem .9rem}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.button-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.button-row .button,.button-row .ghost{margin-top:.8rem}
.badge{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.2rem .5rem;font-size:.72rem;color:var(--muted);font-weight:700}
.section-gap{margin-top:1.2rem}.table-embedded{margin:1rem -1.25rem -1.25rem;border-left:0;border-right:0;border-bottom:0;border-radius:0 0 var(--radius) var(--radius)}
.wrap-text{white-space:normal;word-break:break-word;text-align:right}.error-card details{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}.error-card summary{cursor:pointer;color:var(--muted);font-weight:700}.traceback{white-space:pre-wrap;word-break:break-word;overflow:auto;background:#060708;border:1px solid var(--line);border-radius:12px;padding:1rem;color:#d7dce2;font-size:.78rem;line-height:1.45;max-height:420px}.error-reference{font-size:clamp(1.5rem,5vw,2.5rem);letter-spacing:.12em;font-weight:900;background:#060708;border:1px solid var(--line);padding:1rem;border-radius:12px;text-align:center}
@media(max-width:820px){.back-button{order:0}.brand{order:1}.topbar>form{margin-left:auto;order:2}.topbar nav{order:3}.search-form{width:100%}.table-embedded{margin-inline:-1.25rem}.wrap-text{text-align:left}}

/* KISS: Mein Bereich, Regio-Auftritt, Likes und Tourkarte */
.region-brand{display:flex;align-items:center;gap:.65rem;min-width:0}.region-brand img{width:38px;height:38px;border-radius:10px;object-fit:contain;background:var(--soft);border:1px solid var(--line)}.brand .region-brand-text{display:flex;flex-direction:column;min-width:0;color:var(--text);font-weight:700;line-height:1.05}.brand .region-brand-text strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.brand .region-brand-text small{margin-top:.18rem;color:var(--muted);font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.subnav{display:flex;gap:.45rem;flex-wrap:wrap;margin:1rem 0 1.4rem}.subnav a{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.55rem .78rem;background:var(--panel);color:var(--muted);font-size:.88rem;font-weight:700}.subnav a:hover{color:var(--text);border-color:#3b424d}
.compact-profile{margin-bottom:.5rem}.compact-profile .profile-image{width:104px;height:104px;border-radius:22px}.compact-profile h1{font-size:clamp(2rem,5vw,3.8rem)}.my-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.my-section{margin-top:0}.compact-copy{margin-bottom:0}.my-actions{display:grid;grid-template-columns:minmax(0,1fr)}.action-card p{color:var(--muted);margin-bottom:0}.compact-button{margin-top:0}
.bike-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}.bike-card{overflow:hidden;border:1px solid var(--line);background:var(--soft);border-radius:14px}.bike-card img{width:100%;height:180px;object-fit:cover;display:block}.bike-card-body{padding:.8rem}.bike-title-row,.tour-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.bike-title-row h3{margin:.2rem 0}
.heart-button{display:inline-flex;align-items:center;gap:.35rem;width:auto;border:1px solid var(--line);background:var(--soft);color:var(--text);border-radius:999px;padding:.55rem .75rem;font-weight:800;cursor:pointer}.heart-button:hover,.heart-button.liked{border-color:#7c4c55;background:#2a1a1e}.like-count{color:var(--muted);font-weight:800;white-space:nowrap}
.tour-title-row h1{margin:.15rem 0}.tour-title-row form{flex:0 0 auto}.tour-map-section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid var(--line)}.tour-map{height:min(58vh,520px);min-height:320px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--soft)}.map-loading,.map-empty{height:100%;display:grid;place-items:center;padding:1rem;color:var(--muted);text-align:center}.leaflet-container{font-family:inherit}.tour-list-card .card-head h2{margin-bottom:.35rem}
.region-row-name{display:flex;align-items:center;gap:.65rem}.region-list-logo{width:34px;height:34px;border-radius:9px;object-fit:contain;background:var(--soft);border:1px solid var(--line)}
@media(max-width:820px){.brand .region-brand-text strong{max-width:150px}.my-grid,.bike-grid{grid-template-columns:1fr}.tour-title-row{align-items:flex-start}.tour-map{min-height:280px;height:48vh}.subnav{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.2rem}.subnav a{white-space:nowrap}.compact-profile{align-items:center}}

/* Datenschutz, Social Links, Rollenbadge und Einladungsübersicht */
.admin-role-badge{display:inline-flex;align-items:center;justify-content:center;border:1px solid #4a5260;background:#171b22;color:#f4f6f8;border-radius:999px;padding:.45rem .65rem;font-size:.72rem;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.social-links{display:flex;gap:.5rem;flex-wrap:wrap;margin:.55rem 0 .1rem}.social-link{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--soft);border-radius:999px;padding:.5rem .7rem;color:var(--text);font-size:.85rem;font-weight:700}.social-link:hover{border-color:#4b5563}
.invitation-card{display:grid;gap:.9rem}.invitation-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}.invitation-meta>div{display:flex;justify-content:space-between;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line)}.invitation-meta span{color:var(--muted)}.invitation-meta strong{text-align:right;overflow-wrap:anywhere}.status-chip{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .6rem;font-size:.76rem;font-weight:900;border:1px solid var(--line)}.status-open{border-color:#5e744a}.status-accepted{border-color:#416a59}.status-revoked{border-color:#7d3e3e}.status-expired{border-color:#6a6257;color:var(--muted)}.invite-link-row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;background:#090a0c;border:1px solid var(--line);padding:.7rem;border-radius:12px}.invite-link-row code{flex:1;min-width:220px;overflow-wrap:anywhere;color:#dbe1e7}.invite-link-row .ghost{margin:0}
@media(max-width:820px){.admin-role-badge{order:2}.topbar>form{order:2}.invitation-meta{grid-template-columns:1fr}.invitation-meta>div{align-items:flex-start;flex-direction:column;gap:.25rem}.invitation-meta strong{text-align:left}.invite-link-row{align-items:stretch}.invite-link-row .ghost{width:100%}}


/* RC.6 CMS / Mitgliederportal */
body{background:
  radial-gradient(circle at 12% -10%,rgba(255,255,255,.055),transparent 32rem),
  linear-gradient(180deg,#0b0d10 0,#090a0c 34rem);
}
.cms-page{width:min(1280px,calc(100% - 2rem));margin-top:2.4rem}
.cms-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:2rem;padding-bottom:1.35rem;border-bottom:1px solid var(--line)}
.cms-header-inline{align-items:flex-end}
.cms-header h1{font-size:clamp(2.8rem,6vw,5.6rem);letter-spacing:-.065em;line-height:.94;margin:.18rem 0 .7rem}
.cms-intro{max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.65;margin:0}
.section-eyebrow{display:block;color:var(--muted);font-size:.69rem;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin-bottom:.48rem}
.cms-content-card,.portal-panel{background:linear-gradient(180deg,rgba(25,28,34,.96),rgba(17,19,24,.98));border:1px solid var(--line);border-radius:22px;padding:1.45rem;box-shadow:0 20px 55px rgba(0,0,0,.12)}
.cms-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}
.cms-section-head h2{font-size:1.55rem;letter-spacing:-.035em;margin:0}
.cms-section-head>a,.cms-text-link{color:#d7dce2;font-weight:700;font-size:.88rem}
.cms-section-head>a:hover,.cms-text-link:hover{color:#fff}
.cms-prose{font-size:1rem;line-height:1.72;color:#dfe3e7}
.cms-fact-list{display:grid}
.cms-fact-list>div{display:flex;justify-content:space-between;gap:1.5rem;padding:.85rem 0;border-top:1px solid var(--line)}
.cms-fact-list>div:first-child{border-top:0}
.cms-fact-list span{color:var(--muted)}
.cms-fact-list strong{text-align:right}
.cms-empty{border:1px dashed #353b45;border-radius:20px;padding:2.4rem;background:rgba(255,255,255,.018);grid-column:1/-1}
.cms-empty h2{margin:.1rem 0 .45rem}.cms-empty p{margin:0;color:var(--muted)}.cms-empty.compact{padding:1rem}

/* Admin CMS */
.admin-cms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.admin-cms-card{position:relative;min-height:205px;display:flex;flex-direction:column;justify-content:space-between;padding:1.25rem;border-radius:20px;border:1px solid var(--line);background:linear-gradient(145deg,#171a20,#101216);transition:transform .18s ease,border-color .18s ease,background .18s ease;overflow:hidden}
.admin-cms-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-100px;bottom:-120px;background:rgba(255,255,255,.035)}
.admin-cms-card:hover{transform:translateY(-2px);border-color:#444c58;background:linear-gradient(145deg,#1a1e25,#12151a)}
.admin-cms-card-system{background:linear-gradient(145deg,#18171d,#111216)}
.access-badge{position:absolute;top:1rem;right:1rem;display:inline-flex;border:1px solid #48515e;border-radius:999px;padding:.3rem .5rem;font-size:.63rem;font-weight:900;letter-spacing:.08em;color:#cdd4dc;background:#11141a}
.access-super{border-color:#65484c;color:#e5c4c7}
.admin-card-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;border:1px solid #343b45;background:#20242b;font-weight:900;font-size:.75rem;letter-spacing:.08em;color:#d6dce3}
.admin-cms-card h2{margin:1.8rem 0 .42rem;font-size:1.35rem;letter-spacing:-.03em}
.admin-cms-card p{margin:0;color:var(--muted);line-height:1.5;font-size:.92rem}
.admin-card-arrow{position:absolute;right:1.15rem;bottom:1rem;color:#7f8995;font-size:1.15rem}

/* Member directory */
.member-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.member-profile-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#111318;transition:transform .18s ease,border-color .18s ease}
.member-profile-card:hover{transform:translateY(-3px);border-color:#444c58}
.member-profile-media{aspect-ratio:4/3;background:linear-gradient(145deg,#262b33,#15181e);overflow:hidden}
.member-profile-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.member-profile-card:hover .member-profile-media img{transform:scale(1.025)}
.member-profile-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#252a32,#16191e);font-size:3rem;font-weight:900;color:#dce1e6}
.member-profile-body{padding:1rem 1rem 1.15rem}
.member-card-kicker{display:block;color:var(--muted);font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800}
.member-profile-body h2{font-size:1.25rem;letter-spacing:-.025em;margin:.32rem 0}
.member-profile-body p{min-height:2.5rem;margin:.2rem 0 .75rem;color:var(--muted);font-size:.9rem;line-height:1.45}
.member-profile-link{font-size:.83rem;font-weight:750;color:#d9dee4}

/* Member detail */
.member-hero{position:relative;min-height:290px;border:1px solid var(--line);border-radius:26px;overflow:hidden;margin-bottom:1.2rem;background:linear-gradient(135deg,#252a32,#101216)}
.member-hero-bg{position:absolute;inset:0;background:
 radial-gradient(circle at 80% 20%,rgba(255,255,255,.08),transparent 20rem),
 linear-gradient(110deg,rgba(255,255,255,.025),transparent 55%)}
.member-hero-content{position:relative;z-index:1;min-height:290px;display:flex;align-items:flex-end;gap:1.35rem;padding:2rem}
.member-hero-avatar{width:150px;height:150px;flex:0 0 150px;border-radius:24px;object-fit:cover;border:1px solid rgba(255,255,255,.16);box-shadow:0 20px 45px rgba(0,0,0,.28)}
.member-hero-copy{flex:1}.member-hero-copy h1{font-size:clamp(2.7rem,6vw,5.2rem);line-height:.92;letter-spacing:-.065em;margin:.15rem 0 .65rem}
.member-subline{color:var(--muted);margin:.25rem 0}
.member-hero-actions{display:flex;align-items:center;gap:.65rem;align-self:flex-end}.member-hero-actions .button,.member-hero-actions .heart-button{margin:0}
.profile-content-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:1rem}
.profile-copy{line-height:1.7;margin-bottom:1.2rem;color:#dde2e7}
.profile-fact{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.profile-fact span{color:var(--muted)}
.profile-bike-stack{display:grid;gap:1rem}
.profile-bike-card{overflow:hidden;border-radius:17px;background:#0e1014;border:1px solid var(--line)}
.profile-bike-card>img,.bike-placeholder{width:100%;height:230px;object-fit:cover;display:block}
.bike-placeholder{display:grid;place-items:center;background:linear-gradient(145deg,#252a32,#15181e);color:#707985;font-size:.72rem;letter-spacing:.16em;font-weight:900;text-transform:uppercase}
.profile-bike-info{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem}.profile-bike-info h3{margin:.2rem 0 0;font-size:1.22rem}.profile-bike-info form{margin:0}
.profile-bike-description{padding:0 1rem 1rem;margin:0;color:var(--muted);line-height:1.55}

/* Tours */
.tour-cms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.tour-cms-card{overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#111318;transition:transform .18s ease,border-color .18s ease}
.tour-cms-card:hover{transform:translateY(-3px);border-color:#444c58}
.tour-cms-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#171a20}
.tour-cms-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}.tour-cms-card:hover img{transform:scale(1.025)}
.tour-cms-placeholder{width:100%;height:100%;display:grid;place-items:center;background:
 radial-gradient(circle at 30% 20%,rgba(255,255,255,.08),transparent 12rem),
 linear-gradient(145deg,#252a32,#121419)}.tour-cms-placeholder span{font-size:.72rem;letter-spacing:.22em;color:#727b86;font-weight:900}
.tour-like-overlay{position:absolute;right:.7rem;top:.7rem;padding:.4rem .6rem;border-radius:999px;background:rgba(9,10,12,.78);backdrop-filter:blur(8px);font-size:.8rem;font-weight:800}
.tour-cms-body{padding:1.05rem}.tour-cms-body h2{font-size:1.35rem;letter-spacing:-.035em;margin:.32rem 0 .55rem}.tour-cms-body p{color:var(--muted);line-height:1.5;font-size:.92rem;min-height:4.15rem}
.tour-meta-line{display:flex;gap:.45rem;flex-wrap:wrap}.tour-meta-line span{font-size:.76rem;color:#c3cad2;background:#1c2026;border:1px solid #2b3139;border-radius:999px;padding:.28rem .48rem}
.cms-read-more{font-size:.84rem;font-weight:800;color:#dde2e7}
.tour-detail-shell{display:grid;gap:1rem}.tour-detail-hero{position:relative;min-height:520px;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#15181e}
.tour-detail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tour-detail-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,8,10,.05) 18%,rgba(7,8,10,.84) 100%)}
.tour-detail-hero.no-image{background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.08),transparent 25rem),linear-gradient(145deg,#252a32,#0d0f13)}
.tour-detail-heading{position:absolute;left:2rem;right:8rem;bottom:2rem;z-index:2}.tour-detail-heading h1{font-size:clamp(3rem,7vw,6.6rem);line-height:.88;letter-spacing:-.075em;margin:.25rem 0 .9rem;max-width:950px}
.tour-hero-meta,.event-hero-meta{display:flex;gap:.5rem;flex-wrap:wrap}.tour-hero-meta span,.event-hero-meta span{border:1px solid rgba(255,255,255,.17);background:rgba(7,8,10,.62);border-radius:999px;padding:.45rem .65rem;font-size:.82rem;color:#e7eaee}
.tour-like-form{position:absolute;z-index:3;right:1.3rem;bottom:1.4rem}.heart-button-hero{background:rgba(7,8,10,.78);backdrop-filter:blur(10px);border-color:rgba(255,255,255,.17)}
.tour-detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:1rem;align-items:start}.tour-main-column{display:grid;gap:1rem}.tour-side-column{position:sticky;top:90px}
.tour-fact-card h2{margin:.1rem 0 1rem}.tour-map-card{padding-bottom:1.1rem}.tour-map-card .tour-map{border-radius:16px}

/* Events */
.event-timeline{display:grid;gap:.8rem}
.event-cms-card{display:grid;grid-template-columns:94px 1fr auto;align-items:center;gap:1.25rem;border:1px solid var(--line);border-radius:20px;padding:1rem;background:linear-gradient(90deg,#171a20,#111318);transition:transform .18s ease,border-color .18s ease}
.event-cms-card:hover{transform:translateX(3px);border-color:#444c58}
.event-date-block{height:96px;border-radius:15px;background:#232830;border:1px solid #333a44;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.event-date-block span{font-size:.68rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:800}.event-date-block strong{font-size:2rem;letter-spacing:-.05em;margin:.35rem 0}.event-date-block small{color:var(--muted)}
.event-card-content h2{font-size:1.45rem;letter-spacing:-.035em;margin:.25rem 0 .35rem}.event-card-content p{color:var(--muted);line-height:1.48;margin:0;max-width:760px}.event-card-arrow{color:#7d8792;font-size:1.2rem}
.event-detail-hero{display:grid;grid-template-columns:150px 1fr;gap:1.5rem;align-items:end;min-height:330px;border-radius:26px;border:1px solid var(--line);padding:2rem;background:
 radial-gradient(circle at 85% 15%,rgba(255,255,255,.075),transparent 24rem),
 linear-gradient(145deg,#222730,#101216);margin-bottom:1rem}
.event-detail-date{height:150px;border-radius:22px;background:#111419;border:1px solid #333a44;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.event-detail-date span{text-transform:uppercase;letter-spacing:.16em;color:var(--muted);font-size:.74rem;font-weight:800}.event-detail-date strong{font-size:3.6rem;letter-spacing:-.07em;margin:.38rem 0}.event-detail-date small{color:var(--muted)}
.event-detail-copy h1{font-size:clamp(3rem,7vw,6rem);letter-spacing:-.07em;line-height:.9;margin:.2rem 0 1rem}
.event-detail-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:1rem;align-items:start}.event-main-column{display:grid;gap:1rem}.event-side-column{position:sticky;top:90px}
.cms-attendance-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.cms-attendance-counts span{display:flex;flex-direction:column;gap:.15rem;border:1px solid var(--line);border-radius:12px;background:#0e1014;text-align:center}.cms-attendance-counts strong{font-size:1.2rem}.cms-attendance{display:grid;grid-template-columns:1fr;gap:.45rem}.cms-attendance button{margin:0;width:100%}
.participant-list{display:grid}.participant-row{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-top:1px solid var(--line)}.participant-row:first-child{border-top:0}

/* Mein Bereich / Editor */
.my-profile-hero{display:flex;align-items:center;gap:1.25rem;padding:1.35rem;border-radius:22px;border:1px solid var(--line);background:linear-gradient(120deg,#1b1f26,#111318);margin-bottom:.8rem}
.my-profile-avatar{width:112px;height:112px;flex:0 0 112px;border-radius:20px;object-fit:cover}.my-profile-copy h1{font-size:clamp(2.4rem,5vw,4.5rem);letter-spacing:-.06em;margin:.15rem 0}.my-profile-copy p{margin:.3rem 0}
.my-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.garage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem}.garage-card{overflow:hidden;border-radius:17px;border:1px solid var(--line);background:#0e1014}.garage-card>img,.garage-card>.bike-placeholder{height:210px}.garage-card-body{padding:1rem}.garage-card h3{margin:.25rem 0;font-size:1.18rem}
.settings-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:#12151a}.settings-strip h2{margin:.15rem 0;font-size:1.15rem}.settings-strip>span{font-size:1.2rem;color:var(--muted)}
.profile-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.profile-editor-main{min-width:0}.profile-editor-side{position:sticky;top:90px}.form-section{margin-bottom:1rem}.field-block{margin:1rem 0}.editor-help h3{font-size:1.2rem;margin:.3rem 0}.editor-help p{color:var(--muted);line-height:1.55}.sticky-save-bar{position:sticky;bottom:.8rem;display:flex;justify-content:flex-end;padding:.6rem;margin-top:1rem;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(15,17,21,.9);backdrop-filter:blur(12px)}.sticky-save-bar .primary{margin:0}

/* Portal dashboard */
.portal-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;min-height:300px;padding:2rem;border-radius:26px;border:1px solid var(--line);background:
 radial-gradient(circle at 82% 12%,rgba(255,255,255,.09),transparent 23rem),
 linear-gradient(135deg,#222730,#0e1014);margin-bottom:1rem}
.portal-hero-copy h1{font-size:clamp(3.2rem,7vw,6.3rem);line-height:.88;letter-spacing:-.075em;margin:.2rem 0 .8rem}.portal-hero-copy>p:last-child{color:#b0b8c2;max-width:650px;font-size:1.03rem;line-height:1.6}
.portal-region-select{min-width:230px;background:rgba(8,9,11,.55);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:.8rem}.portal-region-select label{margin:0 0 .35rem}.portal-region-select select{background:#111419}
.portal-notice{position:relative;padding-left:1.35rem}.portal-notice strong{display:block;font-size:1.08rem;margin:.2rem 0}
.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.portal-panel-wide{grid-row:span 2}.portal-event-list{display:grid}.portal-event-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--line)}.portal-event-row:first-child{border-top:0}.portal-event-row>div:nth-child(2){display:flex;flex-direction:column;gap:.2rem}.portal-event-row span{color:var(--muted);font-size:.84rem}.portal-event-row>b{color:#6f7883}
.mini-date{width:45px;height:45px;border-radius:11px;background:#232830;display:flex!important;align-items:center;justify-content:center;flex-direction:column}.mini-date strong{font-size:1rem}.mini-date span{text-transform:uppercase;font-size:.6rem!important;letter-spacing:.08em}
.portal-tour-row{display:grid;grid-template-columns:78px 1fr;gap:.8rem;align-items:center;padding:.65rem 0;border-top:1px solid var(--line)}.portal-tour-row:first-of-type{border-top:0}.portal-tour-row img,.portal-tour-placeholder{width:78px;height:58px;border-radius:10px;object-fit:cover;background:#22262e}.portal-tour-placeholder{display:grid;place-items:center;color:#6c7580;font-size:.58rem;font-weight:900;letter-spacing:.12em}.portal-tour-row>div:last-child{display:flex;flex-direction:column;gap:.2rem}.portal-tour-row span{color:var(--muted);font-size:.82rem}
.portal-shortcut{min-height:185px;padding:1.3rem;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#171a20,#101216);display:flex;flex-direction:column}.portal-shortcut h2{font-size:1.5rem;margin:.25rem 0}.portal-shortcut p{color:var(--muted);line-height:1.5;flex:1}.portal-shortcut strong{font-size:.88rem}.portal-shortcut-admin{background:linear-gradient(145deg,#1a1c22,#111318)}

/* Generic CMS forms */
.cms-form input,.cms-form select,.cms-form textarea{background:#0e1014;border-color:#303640}
.cms-form label{font-weight:650;color:#c3cad2}
.cms-form p{margin:1rem 0}
.cms-search input{border-radius:999px;padding:.8rem 1.1rem;background:#111419}

@media(max-width:1080px){
  .admin-cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .member-directory{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tour-cms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .profile-content-grid,.tour-detail-grid,.event-detail-grid{grid-template-columns:1fr}
  .tour-side-column,.event-side-column,.profile-editor-side{position:static}
  .profile-editor-layout{grid-template-columns:1fr}
}
@media(max-width:820px){
  .cms-page{width:min(100% - 1rem,1280px);margin-top:1rem}
  .cms-header,.cms-header-inline{align-items:flex-start;flex-direction:column;gap:1rem}.cms-header h1{font-size:2.8rem}
  .admin-cms-grid,.member-directory,.tour-cms-grid,.my-dashboard-grid,.garage-grid,.portal-grid{grid-template-columns:1fr}
  .member-profile-media{aspect-ratio:16/10}
  .member-hero-content{align-items:flex-start;flex-wrap:wrap;padding:1.1rem;min-height:330px}.member-hero-avatar{width:105px;height:105px;flex-basis:105px;border-radius:18px}.member-hero-copy{min-width:calc(100% - 125px)}.member-hero-copy h1{font-size:2.65rem}.member-hero-actions{width:100%;align-self:auto}
  .tour-detail-hero{min-height:430px}.tour-detail-heading{left:1.1rem;right:1.1rem;bottom:4.8rem}.tour-detail-heading h1{font-size:3rem}.tour-like-form{left:1.1rem;right:auto;bottom:1rem}
  .event-cms-card{grid-template-columns:72px 1fr;gap:.8rem}.event-date-block{height:78px}.event-card-arrow{display:none}
  .event-detail-hero{grid-template-columns:88px 1fr;gap:1rem;min-height:260px;padding:1rem}.event-detail-date{height:100px;border-radius:16px}.event-detail-date strong{font-size:2.35rem}.event-detail-copy h1{font-size:2.8rem}
  .portal-hero{align-items:flex-start;flex-direction:column;min-height:260px;padding:1.25rem}.portal-hero-copy h1{font-size:3.25rem}.portal-region-select{width:100%}
  .my-profile-hero{align-items:flex-start}.my-profile-avatar{width:86px;height:86px;flex-basis:86px}.my-profile-copy h1{font-size:2.4rem}
  .cms-attendance-counts{grid-template-columns:1fr}
}


/* RC.7 — Portal/CMS shell inspired by proven control-panel patterns */
:root{--sidebar-w:248px;--topbar-h:64px;--control-nav-w:208px;--surface:#101216;--surface-2:#15181d;--surface-3:#1b1f25;--hairline:#252a31}

.portal-sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--sidebar-w);display:flex;flex-direction:column;background:#0c0e11;border-right:1px solid var(--hairline)}
.portal-sidebar-head{padding:18px 16px 12px;border-bottom:1px solid var(--hairline)}
.portal-brand{display:flex;align-items:center;gap:11px;min-width:0}
.portal-brand img,.portal-brand-mark{width:38px;height:38px;flex:0 0 38px;border-radius:8px;border:1px solid #303640;background:#171b20;object-fit:contain;display:grid;place-items:center;font-weight:900;font-size:.82rem}
.portal-brand>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.15}.portal-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.portal-brand small{margin-top:3px;color:#69727d;font-size:.64rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}
.portal-region-switch{margin-top:16px}.portal-region-switch label{margin:0 0 5px;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#626b76}.portal-region-switch select{height:36px;padding:0 10px;border-radius:7px;background:#111419;border-color:#282e36;font-size:.82rem}
.portal-primary-nav{padding:14px 10px;overflow:auto;flex:1}.portal-nav-label{display:block;padding:7px 10px 6px;color:#58616c;font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.portal-nav-label-spaced{margin-top:13px}
.portal-primary-nav a{height:38px;display:flex;align-items:center;gap:10px;padding:0 10px;border-radius:7px;color:#a0a8b2;font-size:.86rem;font-weight:650;margin:1px 0;border:1px solid transparent}
.portal-primary-nav a:hover{color:#eef1f4;background:#13161a}.portal-primary-nav a.active{background:#191d22;border-color:#252b33;color:#fff}.portal-primary-nav a.active:before{content:"";position:absolute;left:0;width:2px;height:22px;background:#d9dee3;border-radius:0 2px 2px 0}.portal-primary-nav a{position:relative}
.portal-nav-icon{width:18px;text-align:center;color:#737d88;font-size:.92rem}.portal-primary-nav a.active .portal-nav-icon{color:#e9edf1}
.portal-sidebar-user{border-top:1px solid var(--hairline);padding:11px 10px 12px}.portal-user-chip{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:6px;border-radius:7px}.portal-user-chip:hover{background:#13161a}.portal-user-chip>img,.portal-user-chip>span{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#1d2229;display:grid;place-items:center;font-size:.78rem;font-weight:900}.portal-user-chip div{min-width:0;display:flex;flex-direction:column}.portal-user-chip strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-user-chip small{font-size:.67rem;color:#69727d;margin-top:2px}.portal-logout{border:0;background:transparent;color:#68717b;font-size:.73rem;padding:6px;margin-left:43px;cursor:pointer}.portal-logout:hover{color:#d9dee3}

.portal-topbar{position:fixed;z-index:35;left:var(--sidebar-w);right:0;top:0;height:var(--topbar-h);display:flex;align-items:center;gap:12px;padding:0 24px;background:rgba(15,17,20,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline)}
.portal-history-back,.portal-mobile-menu{width:34px;height:34px;border:1px solid #292f37;border-radius:7px;background:#13161a;color:#aeb6bf;display:grid;place-items:center;cursor:pointer}.portal-mobile-menu{display:none}
.portal-topbar-context{display:flex;align-items:baseline;gap:8px;min-width:0}.portal-topbar-context span{color:#65707a;font-size:.72rem}.portal-topbar-context strong{font-size:.83rem;font-weight:750}.portal-topbar-user{margin-left:auto;color:#9da6b0;font-size:.79rem}.portal-topbar-user:hover{color:#fff}.portal-nav-overlay{display:none}

body:has(.portal-sidebar){background:#0f1114}
body:has(.portal-sidebar) .app{width:auto;max-width:none;margin:0 0 0 var(--sidebar-w);padding:calc(var(--topbar-h) + 34px) max(28px,calc((100vw - var(--sidebar-w) - 1280px)/2)) 64px}
.portal-content-page{min-height:100vh}

.portal-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:10px 0 25px;margin-bottom:0;border-bottom:1px solid #2a2f36}.portal-page-header-home{padding-top:18px}.portal-page-header h1{font-size:clamp(2.5rem,4.5vw,4.7rem);line-height:.96;letter-spacing:-.06em;margin:6px 0 8px}.portal-page-header p{margin:0;color:#8d96a0;font-size:.98rem}.portal-page-kicker,.row-kicker{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:#66707b}
.portal-page-header-actions>.button{margin:0}.portal-search{width:min(360px,100%)}.portal-search input{height:42px;border-radius:7px;background:#14171b;border-color:#2c323a;padding:.65rem .85rem}

/* Editorial home */
.editorial-notice{display:grid;grid-template-columns:88px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid #292e35}.editorial-notice>span{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#d3b86f}.editorial-notice-urgent>span{color:#e58888}.editorial-notice h2{font-size:1.08rem;margin:0 0 5px}.editorial-notice p{margin:0;color:#9ba4ae;line-height:1.55}
.home-editorial-grid{display:grid;grid-template-columns:1.15fr .85fr;border-bottom:1px solid #2a2f36}.home-feature{padding:30px 0 32px;min-width:0}.home-feature:first-child{padding-right:30px;border-right:1px solid #2a2f36}.home-feature:last-child{padding-left:30px}.home-section-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#69737e;margin-bottom:18px}
.home-feature-link{display:grid;grid-template-columns:92px 1fr;gap:20px}.home-feature-date{width:88px;height:100px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #30363e;background:#15181c}.home-feature-date strong{font-size:2.5rem;line-height:1;letter-spacing:-.06em}.home-feature-date span{text-transform:uppercase;letter-spacing:.1em;color:#7f8994;font-size:.7rem;margin-top:7px}.home-feature-copy>span,.home-tour-feature>div>span{color:#727c87;font-size:.77rem}.home-feature-copy h2,.home-tour-feature h2{font-size:1.8rem;letter-spacing:-.045em;margin:5px 0 8px}.home-feature-copy p,.home-tour-feature p{color:#969fa9;line-height:1.55;margin:0 0 13px}.home-feature-copy b,.home-tour-feature b{font-size:.8rem}
.home-tour-feature{display:grid;grid-template-columns:150px 1fr;gap:18px}.home-tour-feature img,.home-tour-noimage{width:150px;height:120px;object-fit:cover;background:#181c21;display:grid;place-items:center;color:#5e6873;font-size:.62rem;letter-spacing:.14em;font-weight:900}
.portal-index-section{padding:30px 0;border-bottom:1px solid #2a2f36}.portal-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.portal-section-heading span{font-size:.64rem;text-transform:uppercase;letter-spacing:.13em;color:#69737e;font-weight:900}.portal-section-heading h2{font-size:1.45rem;margin:4px 0 0;letter-spacing:-.035em}.portal-section-heading>a{font-size:.78rem;color:#9da6b0}
.compact-event-list>a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #242930}.compact-event-list>a:first-child{border-top:0}.compact-event-list time{width:42px;text-align:center;display:flex;flex-direction:column}.compact-event-list time strong{font-size:1.2rem}.compact-event-list time span{font-size:.58rem;color:#6f7883;text-transform:uppercase}.compact-event-list a>div{display:flex;flex-direction:column;gap:3px}.compact-event-list small{color:#727c87}.compact-event-list b{color:#5f6974}
.member-strip{display:flex;gap:24px;overflow-x:auto;padding:4px 0 8px}.member-strip>a{width:104px;flex:0 0 104px;text-align:center}.member-strip img,.member-strip>a>span{width:72px;height:72px;border-radius:50%;object-fit:cover;background:#1b1f25;display:grid;place-items:center;margin:0 auto 8px;font-weight:900}.member-strip strong{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Member directory */
.member-index{border-top:0}.member-index-row{display:grid;grid-template-columns:72px minmax(170px,1fr) minmax(180px,.75fr) 24px;gap:18px;align-items:center;padding:16px 4px;border-bottom:1px solid #292e35;transition:background .15s ease}.member-index-row:hover{background:#13161a}.member-index-avatar img,.member-index-avatar span{width:58px;height:58px;border-radius:50%;object-fit:cover;background:#1b1f25;display:grid;place-items:center;font-weight:900}.member-index-main,.member-index-bike{display:flex;flex-direction:column;gap:4px}.member-index-main>strong{font-size:1.04rem}.member-index-bike span{font-size:.67rem;color:#68727d}.member-index-bike strong{font-size:.84rem;font-weight:650}.member-index-arrow{color:#5d6671}
.portal-empty-state{padding:50px 0;border-bottom:1px solid #292e35}.portal-empty-state h2{font-size:1.35rem;margin:0 0 7px}.portal-empty-state p,.portal-empty-line{color:#79838e}

/* Public profile */
.profile-page-head{display:grid;grid-template-columns:128px 1fr auto;gap:24px;align-items:end;padding:12px 0 28px;border-bottom:1px solid #2a2f36}.profile-page-avatar img,.profile-page-avatar>span{width:112px;height:112px;border-radius:50%;object-fit:cover;background:#1b1f25;display:grid;place-items:center;font-size:2.3rem;font-weight:900}.profile-page-copy h1{font-size:clamp(2.5rem,5vw,4.7rem);letter-spacing:-.06em;line-height:.95;margin:6px 0 7px}.profile-page-copy>p{margin:0;color:#818b96}.profile-social-row{display:flex;gap:13px;margin-top:10px}.profile-social-row a{font-size:.76rem;color:#a7b0ba}.profile-page-actions{display:flex;gap:9px;align-items:center}.profile-page-actions form{margin:0}.profile-like{border:1px solid #30363e;background:#15181d;color:#e5e9ed;padding:9px 12px;border-radius:7px;cursor:pointer;font-weight:800}.profile-page-actions .button{margin:0;border-radius:7px;padding:.65rem .85rem}
.profile-anchor-nav{position:sticky;top:var(--topbar-h);z-index:10;display:flex;gap:22px;padding:14px 0;background:#0f1114;border-bottom:1px solid #2a2f36}.profile-anchor-nav a{font-size:.78rem;color:#7f8994;font-weight:750}.profile-anchor-nav a:hover{color:#fff}
.profile-section{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:36px 0;border-bottom:1px solid #2a2f36}.profile-section-label{display:flex;flex-direction:column;gap:5px}.profile-section-label>span{font-size:.62rem;color:#5f6974}.profile-section-label>strong{font-size:.9rem}.profile-section-label>a{margin-top:12px;font-size:.75rem;color:#9ca5af}.profile-about{font-size:1.08rem;line-height:1.75;max-width:760px;color:#d9dee3}.profile-definition-list{margin:25px 0 0;max-width:760px}.profile-definition-list>div{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:11px 0;border-top:1px solid #282d34}.profile-definition-list dt{color:#78828d;font-size:.8rem}.profile-definition-list dd{margin:0;font-weight:650}
.bike-editorial-list{display:grid}.bike-editorial-item{display:grid;grid-template-columns:220px 1fr auto;gap:22px;padding:18px 0;border-top:1px solid #292e35}.bike-editorial-item:first-child{border-top:0;padding-top:0}.bike-editorial-item img,.bike-editorial-noimage{width:220px;height:145px;object-fit:cover;background:#181c21;display:grid;place-items:center;color:#59636e;font-size:.62rem;letter-spacing:.13em;font-weight:900}.bike-editorial-copy>span{color:#69737e;font-size:.68rem}.bike-editorial-copy h2{font-size:1.4rem;letter-spacing:-.035em;margin:4px 0}.bike-editorial-copy>strong{font-size:.82rem}.bike-editorial-copy p{color:#919ba5;line-height:1.5;margin:10px 0 0}.bike-editorial-item form{margin:0}

/* Editorial tours */
.tour-featured{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);min-height:390px;border-bottom:1px solid #2a2f36}.tour-featured-media{min-height:390px;background:#171b20;overflow:hidden}.tour-featured-media img,.tour-featured-noimage{width:100%;height:100%;min-height:390px;object-fit:cover;display:grid;place-items:center;color:#59636e;font-size:.7rem;letter-spacing:.16em;font-weight:900}.tour-featured-copy{padding:38px 38px 38px 42px;align-self:center}.tour-featured-copy h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:.94;letter-spacing:-.055em;margin:8px 0 13px}.tour-featured-copy p{color:#929ca6;line-height:1.62;margin:15px 0 20px}.tour-inline-meta{display:flex;gap:8px;flex-wrap:wrap}.tour-inline-meta span{font-size:.72rem;color:#8d97a2}.tour-featured-copy>strong{font-size:.82rem}.tour-featured-like{position:absolute;top:16px;left:16px;background:rgba(10,12,14,.78);padding:6px 9px;font-size:.75rem;font-weight:800}
.tour-index{display:grid}.tour-index-row{display:grid;grid-template-columns:160px 1fr 120px 20px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #292e35}.tour-index-media img,.tour-index-media>span{width:160px;height:100px;object-fit:cover;background:#181c21;display:grid;place-items:center;color:#59636e;font-size:.6rem;letter-spacing:.13em;font-weight:900}.tour-index-copy h2{font-size:1.25rem;letter-spacing:-.03em;margin:4px 0 6px}.tour-index-copy p{margin:0;color:#7f8994;line-height:1.45;font-size:.88rem}.tour-index-meta{display:flex;flex-direction:column;gap:5px;text-align:right}.tour-index-meta strong{font-size:.84rem}.tour-index-meta span{font-size:.72rem;color:#727c87}.tour-index-row>b{color:#59636e}

/* Calendar */
.calendar-index{padding-top:4px}.calendar-month{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#6b7580;margin:34px 0 7px}.calendar-row{display:grid;grid-template-columns:78px 1fr 22px;gap:20px;align-items:start;padding:18px 0;border-bottom:1px solid #292e35}.calendar-row time{display:flex;align-items:baseline;gap:8px}.calendar-row time strong{font-size:2rem;letter-spacing:-.06em}.calendar-row time span{font-size:.63rem;color:#6d7782;text-transform:uppercase}.calendar-row-main>span{font-size:.72rem;color:#717b86}.calendar-row-main h3{font-size:1.3rem;letter-spacing:-.03em;margin:4px 0 6px}.calendar-row-main p{margin:0;color:#818b96;font-size:.88rem;line-height:1.45}.calendar-row>b{color:#59636e;margin-top:13px}

/* Control panel */
.admin-control-shell{display:grid!important;grid-template-columns:var(--control-nav-w) minmax(0,1fr);gap:0;padding-top:calc(var(--topbar-h) + 24px)!important}
.admin-subnav{min-height:calc(100vh - var(--topbar-h) - 48px);border-right:1px solid #292e35;padding:4px 18px 30px 0}.admin-subnav-head{padding:7px 12px 18px;border-bottom:1px solid #292e35;margin-bottom:10px}.admin-subnav-head>strong{display:block;font-size:1.05rem}.admin-scope-badge{display:inline-block;margin-top:9px;font-size:.58rem;letter-spacing:.09em;font-weight:900;color:#9fa8b2;border:1px solid #30363e;padding:3px 5px}
.admin-subnav nav{display:grid}.admin-nav-group{font-size:.59rem;text-transform:uppercase;letter-spacing:.12em;color:#59636e;font-weight:900;padding:16px 12px 6px}.admin-subnav nav a{padding:8px 12px;color:#8c96a0;font-size:.79rem;border-left:2px solid transparent}.admin-subnav nav a:hover{color:#fff;background:#14171b}.admin-subnav nav a.active{color:#fff;border-left-color:#cfd5da;background:#15181c}
.admin-workspace{min-width:0;padding-left:34px}.control-page-head{min-height:115px;display:flex;align-items:end;justify-content:space-between;gap:24px;padding:7px 0 22px;border-bottom:1px solid #292e35;margin-bottom:24px}.control-page-head h1{font-size:2.35rem;letter-spacing:-.05em;line-height:1;margin:6px 0}.control-page-head p{color:#828c97;margin:0}.control-page-head-actions>.button{margin:0}.control-breadcrumb{font-size:.62rem;color:#636d77;text-transform:uppercase;letter-spacing:.11em;font-weight:900}
.control-groups{display:grid;gap:34px}.control-group>header{margin-bottom:9px}.control-group>header h2{font-size:1rem;margin:0 0 3px}.control-group>header p{font-size:.75rem;color:#6f7984;margin:0}.control-menu{border-top:1px solid #2a2f36}.control-menu>a{display:grid;grid-template-columns:36px 1fr auto 18px;gap:12px;align-items:center;min-height:62px;padding:9px 4px;border-bottom:1px solid #2a2f36}.control-menu>a:hover{background:#13161a}.control-menu-icon{width:32px;height:32px;border:1px solid #30363e;background:#171a1f;display:grid;place-items:center;font-size:.6rem;font-weight:900}.control-menu-copy{display:flex;flex-direction:column;gap:2px}.control-menu-copy strong{font-size:.86rem}.control-menu-copy small{font-size:.72rem;color:#747e89}.control-role{font-size:.56rem;letter-spacing:.08em;color:#7b8590;border:1px solid #2d333b;padding:3px 5px}.control-menu>a>b{color:#59636e}
.control-section{margin-bottom:30px}.control-section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.control-section-head h2{font-size:1rem;margin:0}.control-section-head p{font-size:.73rem;color:#6f7984;margin:3px 0 0}.control-table-wrap{overflow:auto;border-top:1px solid #30363e}.control-table{background:transparent}.control-table th{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:#606a75;background:#101216;padding:10px 9px}.control-table td{padding:12px 9px;border-bottom:1px solid #272c33;font-size:.78rem}.control-table tbody tr:hover{background:#13161a}.control-table td strong{font-size:.8rem}.table-action{text-align:right}.table-action a,.link-button{font-size:.72rem;color:#aab2bb}.table-action form{display:inline}.link-button{border:0;background:none;padding:3px;cursor:pointer}.danger-link{color:#ce8585}.tiny-chip{font-size:.55rem;border:1px solid #30363e;color:#7f8994;padding:2px 4px;margin-left:5px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6f4242;margin-right:6px}.status-dot.ok{background:#587c65}
.control-list{border-top:1px solid #30363e}.control-list-row{display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;padding:12px 4px;border-bottom:1px solid #292e35}.control-list-media img,.control-list-media>span{width:38px;height:38px;object-fit:contain;background:#181b20;display:grid;place-items:center;font-size:.75rem;font-weight:900}.control-list-copy{display:flex;flex-direction:column;gap:3px}.control-list-copy strong{font-size:.84rem}.control-list-copy small{font-size:.7rem;color:#717b86}.control-list-actions{display:flex;align-items:center;gap:13px}.control-list-actions a,.control-list-actions button{font-size:.72rem}.control-list-row-message{grid-template-columns:8px 1fr auto}.message-priority{width:3px;height:30px;background:#59636e}.priority-important{background:#b49b52}.priority-urgent{background:#b75e5e}
.control-info-strip{font-size:.76rem;color:#838d98;background:#14171b;border-left:2px solid #46505b;padding:10px 12px;margin-bottom:18px}.status-chip{border-radius:3px!important;padding:3px 6px!important;font-size:.62rem!important}.control-form-section{max-width:760px}.control-form-actions{display:flex;justify-content:flex-end;border-top:1px solid #292e35;margin-top:20px;padding-top:13px}.control-form-actions .primary{margin:0;border-radius:7px}.control-empty{padding:30px 0;color:#737d88}
.error-log-item{border-bottom:1px solid #292e35}.error-log-item summary{display:grid;grid-template-columns:8px 110px 140px 1fr;gap:10px;align-items:center;padding:12px 4px;cursor:pointer;font-size:.75rem}.error-log-item summary small{color:#707a85}.error-log-body{padding:12px 0 22px 18px}.control-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.control-meta-grid>div{display:flex;flex-direction:column;gap:4px}.control-meta-grid span{font-size:.65rem;color:#65707b}.control-meta-grid strong{font-size:.78rem}

/* Existing detail pages: remove app-card feel */
.cms-page{margin-left:var(--sidebar-w)!important;width:auto!important;max-width:none!important;padding:calc(var(--topbar-h) + 34px) max(28px,calc((100vw - var(--sidebar-w) - 1280px)/2)) 64px!important}
.cms-content-card,.portal-panel{border-radius:8px;box-shadow:none;background:#121519}.tour-detail-hero,.event-detail-hero,.member-hero,.my-profile-hero{border-radius:9px}.subnav a{border-radius:5px}.heart-button,.button,.primary,.ghost,.danger{border-radius:7px}
.content-editor-panel{max-width:820px;border-top:1px solid #30363e;padding-top:20px}.content-editor-panel .control-form-actions{max-width:820px}

/* Mobile shell */
@media(max-width:979px){
  :root{--topbar-h:58px}
  .portal-sidebar{transform:translateX(-100%);transition:transform .2s ease;width:min(280px,86vw);box-shadow:20px 0 60px rgba(0,0,0,.35)}.portal-sidebar.open{transform:translateX(0)}
  .portal-nav-overlay{display:block;position:fixed;z-index:38;inset:0;background:rgba(0,0,0,.56);opacity:0;pointer-events:none;transition:opacity .2s}.portal-nav-overlay.open{opacity:1;pointer-events:auto}
  body.nav-open{overflow:hidden}
  .portal-topbar{left:0;padding:0 12px}.portal-mobile-menu{display:grid}.portal-history-back{display:none}.portal-topbar-user{display:none}
  body:has(.portal-sidebar) .app,.cms-page{margin-left:0!important;padding:calc(var(--topbar-h) + 24px) 16px 46px!important}
  .portal-topbar-context{gap:5px}.portal-topbar-context span{display:none}
  .admin-control-shell{display:block!important}.admin-subnav{min-height:0;border-right:0;border-bottom:1px solid #292e35;padding:0 0 13px;margin-bottom:18px;overflow-x:auto}.admin-subnav-head{display:none}.admin-subnav nav{display:flex;gap:3px;min-width:max-content}.admin-nav-group{display:none}.admin-subnav nav a{border-left:0;border-bottom:2px solid transparent;padding:8px 10px}.admin-subnav nav a.active{border-left:0;border-bottom-color:#d0d5da;background:#15181c}.admin-workspace{padding-left:0}
  .home-editorial-grid{grid-template-columns:1fr}.home-feature:first-child{padding-right:0;border-right:0;border-bottom:1px solid #292e35}.home-feature:last-child{padding-left:0}
  .profile-page-head{grid-template-columns:86px 1fr;gap:14px;align-items:center}.profile-page-avatar img,.profile-page-avatar>span{width:78px;height:78px}.profile-page-copy h1{font-size:2.5rem}.profile-page-actions{grid-column:1/-1}.profile-section{grid-template-columns:1fr;gap:15px}.profile-section-label{flex-direction:row;align-items:center;gap:9px}.profile-definition-list>div{grid-template-columns:1fr;gap:4px}
  .tour-featured{grid-template-columns:1fr}.tour-featured-media,.tour-featured-media img,.tour-featured-noimage{min-height:245px;height:245px}.tour-featured-copy{padding:22px 0}.tour-featured-like{top:12px}.tour-index-row{grid-template-columns:104px 1fr 20px;gap:13px}.tour-index-media img,.tour-index-media>span{width:104px;height:76px}.tour-index-meta{display:none}.tour-index-copy p{display:none}
  .calendar-row{grid-template-columns:58px 1fr 16px;gap:12px}.calendar-row time strong{font-size:1.55rem}
  .control-page-head,.portal-page-header{align-items:flex-start;flex-direction:column;gap:15px}.control-page-head-actions>.button,.portal-page-header-actions>.button{margin:0}.control-menu>a{grid-template-columns:34px 1fr 18px}.control-role{display:none}
  .control-table th,.control-table td{padding:10px 8px}.invitation-table th:nth-child(4),.invitation-table td:nth-child(4),.invitation-table th:nth-child(5),.invitation-table td:nth-child(5){display:none}
}
@media(max-width:620px){
  .home-feature-link{grid-template-columns:70px 1fr}.home-feature-date{width:66px;height:78px}.home-feature-date strong{font-size:2rem}
  .home-tour-feature{grid-template-columns:96px 1fr}.home-tour-feature img,.home-tour-noimage{width:96px;height:86px}.home-tour-feature p{display:none}
  .member-index-row{grid-template-columns:58px 1fr 18px;gap:10px}.member-index-avatar img,.member-index-avatar span{width:48px;height:48px}.member-index-bike{display:none}
  .bike-editorial-item{grid-template-columns:1fr auto;gap:12px}.bike-editorial-item img,.bike-editorial-noimage{grid-column:1/-1;width:100%;height:210px}
  .calendar-row-main p{display:none}.portal-page-header h1{font-size:2.7rem}
}


/* RC.8 — compact CMS controls and functional filter bars */
.primary,.button{
  background:#23282f!important;
  color:#f2f5f7!important;
  border:1px solid #3a424c!important;
  box-shadow:none!important;
}
.primary:hover,.button:hover{
  background:#2b3139!important;
  border-color:#505a66!important;
  color:#fff!important;
}
.button-subtle{margin:0;min-height:38px;padding:.58rem .82rem;border-radius:7px}
.ghost{background:#14171b;border-color:#303741;color:#c8cfd6}
.ghost:hover{background:#1b1f25;border-color:#414a55;color:#fff}
.danger{background:#1a1416;border-color:#5c3438;color:#e9a3a8}
.danger:hover{background:#241719;border-color:#77434a}
.index-toolbar,.control-filterbar{display:flex;align-items:end;gap:9px;padding:13px 0;border-bottom:1px solid #292e35;flex-wrap:wrap}
.index-toolbar{margin-bottom:3px}.index-toolbar-compact{padding-top:12px}
.index-toolbar-search{flex:1;min-width:230px}.index-toolbar-search input,.control-filterbar input{height:38px;border-radius:6px;background:#13161a;border-color:#2d333b;padding:.55rem .72rem}
.index-toolbar>label,.control-filterbar>label{margin:0}.index-toolbar label>span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:#626c77;font-weight:850;margin:0 0 5px}
.index-toolbar select,.control-filterbar select{width:auto;min-width:150px;height:38px;border-radius:6px;background:#13161a;border-color:#2d333b;padding:0 30px 0 9px;font-size:.78rem}
.control-filterbar{margin:-7px 0 24px}.control-filterbar input{flex:1;min-width:220px}.control-filterbar select{min-width:145px}
.toolbar-reset{align-self:center;color:#77818c;font-size:.72rem;padding:8px 3px}.toolbar-reset:hover{color:#e4e8ec}
.view-tabs{display:flex;gap:18px;border-bottom:1px solid #292e35;margin-top:0}.view-tabs a{position:relative;padding:13px 1px 11px;color:#727c87;font-size:.78rem;font-weight:750}.view-tabs a:hover{color:#e0e5e9}.view-tabs a.active{color:#fff}.view-tabs a.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:#cbd1d7}
@media(max-width:720px){
  .index-toolbar,.control-filterbar{align-items:stretch;display:grid;grid-template-columns:1fr 1fr}
  .index-toolbar-search,.control-filterbar input{grid-column:1/-1;min-width:0;width:100%}
  .index-toolbar select,.control-filterbar select{width:100%;min-width:0}
  .index-toolbar .button,.control-filterbar .button{margin:0;width:100%}
  .toolbar-reset{align-self:center}
}
@media(max-width:480px){
  .index-toolbar,.control-filterbar{grid-template-columns:1fr}
  .index-toolbar-search,.control-filterbar input{grid-column:auto}
}


/* RC.9 — invitation sharing */
.invite-share-actions{align-items:center}
.whatsapp-button{
  background:#1d4f38!important;
  border-color:#2d6b4f!important;
  color:#f2fff7!important;
}
.whatsapp-button:hover{
  background:#246344!important;
  border-color:#3b8060!important;
  color:#fff!important;
}
.whatsapp-invite-link{color:#7fc79f!important}
.whatsapp-invite-link:hover{color:#a2e6bd!important}


/* RC.10 — privacy/legal and dual profile images */
.portal-legal-links{display:flex;gap:9px;margin:3px 6px 0 43px;flex-wrap:wrap}
.portal-legal-links a{font-size:.62rem;color:#59636e}
.portal-legal-links a:hover{color:#aeb6bf}
.profile-image-pair{display:grid;grid-template-columns:repeat(2,minmax(0,260px));gap:14px;margin:0 0 24px}
.profile-image-pair figure{margin:0}
.profile-image-pair img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid #2d333b;background:#181c21}
.profile-image-pair figcaption{margin-top:6px;font-size:.65rem;color:#6f7984;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.legal-page{min-height:100vh;padding:clamp(24px,5vw,64px) 18px;background:#0f1114}
.legal-document{width:min(820px,100%);margin:0 auto}
.legal-document h1{font-size:clamp(2.7rem,7vw,5.2rem);letter-spacing:-.065em;line-height:.95;margin:.45rem 0 1.3rem}
.legal-document h2{font-size:1.15rem;letter-spacing:-.02em;margin:2rem 0 .6rem;padding-top:.2rem}
.legal-document h3{font-size:1rem;margin:.1rem 0 .6rem}
.legal-document p{color:#b3bbc4;line-height:1.68;margin:.55rem 0}
.legal-document a{color:#e4e8ec;text-decoration:underline;text-underline-offset:3px}
.legal-lead{font-size:1.05rem!important;color:#d6dbe0!important;max-width:760px}
.legal-back{display:inline-block;margin-bottom:2.2rem;color:#848e99!important;text-decoration:none!important;font-size:.78rem}
.legal-warning{margin:1.6rem 0;padding:16px 18px;border-left:3px solid #9b7d49;background:#171611}
.legal-warning p{color:#c8c0af}
.legal-version{margin-top:2.8rem!important;color:#656f7a!important;font-size:.75rem}
@media(max-width:620px){
  .profile-image-pair{grid-template-columns:1fr 1fr;gap:8px}
  .portal-legal-links{margin-left:43px}
}
