@font-face{font-family:"Cheddar Gothic Sans";src:url('assets/CheddarGothicSans.woff2') format('woff2');font-display:swap;font-weight:400;font-style:normal}
:root{--night:#0d1611;--night-2:#131f18;--panel:#131f18;--panel-soft:#18271e;--cream:#fcf7f1;--muted:#abb0a7;--olive:#909453;--online:#c8cf84;--played:#899087;--line:#61665b;--danger:#c47769;--success:#9eaa72;--display:"Oswald","Arial Narrow",sans-serif;--headline:"Cheddar Gothic Sans","Oswald","Arial Narrow",sans-serif;--copy:"Asap Condensed",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;background:var(--night);color:var(--cream);font-family:var(--copy);font-size:17px;line-height:1.48}
button,input,select{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit}
img{display:block;max-width:100%}
body:has(.profile-drawer[aria-hidden="false"]),body:has(.admin-drawer[aria-hidden="false"]){overflow:hidden}
.eyebrow{margin:0 0 7px;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.13em;text-transform:uppercase}
h1,h2,h3,h4,.brand-title strong,.played-archive summary strong{font-family:var(--headline);font-weight:400;text-transform:lowercase}
.year-heading,.status-chip,.primary-button,.ghost-button,.main-nav,.brand-title span{font-family:var(--display);font-weight:400;text-transform:uppercase}
h1{margin:0;font-size:clamp(74px,8vw,145px);line-height:.9;letter-spacing:-.02em}
h2{font-size:clamp(44px,6vw,88px);line-height:.9}
h3{font-size:clamp(30px,3vw,48px);line-height:1;margin:0}
h4{font-size:27px;line-height:1;margin:0 0 22px}
small{color:var(--olive);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.muted{color:var(--muted)}
.message{width:min(1480px,calc(100% - 64px));margin:24px auto;padding:16px 20px;border-left:3px solid var(--success);background:var(--panel-soft)}
.message.error{border-color:var(--danger)}
.site-header{position:sticky;z-index:50;top:0;border-bottom:1px solid var(--line);background:rgba(7,23,15,.94);backdrop-filter:blur(16px)}
.header-inner{width:min(1800px,calc(100% - 64px));min-height:86px;margin:auto;display:flex;align-items:center;gap:20px}
.home-mark{width:65px;height:65px;flex:0 0 auto;display:grid;place-items:center}
.home-mark img{width:55px;height:62px;object-fit:contain}
.brand-title{display:flex;flex-direction:column;margin-right:auto}
.brand-title strong{font-size:27px;line-height:.9}
.brand-title span{color:var(--olive);font-size:16px;letter-spacing:.13em}
.site-header nav{display:flex;align-items:center;gap:28px;font-size:18px;letter-spacing:.06em}
.site-header nav a,.site-header nav button{padding:12px 0;border:0;background:none;color:var(--cream);text-decoration:none;cursor:pointer}
.site-header nav form{margin:0}
.site-header nav a:hover,.site-header nav button:hover{color:var(--online)}
.signed-in-user{margin-left:auto;display:flex;min-width:150px;flex-direction:column;align-items:flex-end;padding:8px 16px;border-right:1px solid var(--line)}
.signed-in-user small{font-size:10px}.signed-in-user strong{font-size:18px;line-height:1.15;color:var(--online);white-space:nowrap}
.signed-in-user+nav{margin-left:0}
.menu-toggle{display:none;width:52px;height:48px;padding:11px;border:1px solid var(--line);background:none;color:var(--cream);cursor:pointer}
.menu-toggle span{display:block;width:100%;height:2px;margin:5px 0;background:currentColor;transition:transform .18s,opacity .18s}
main{padding-bottom:100px}
.hero{width:min(1480px,calc(100% - 64px));margin:auto;padding:90px 0 70px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px;border-bottom:0}
.hero>div:first-child>p:last-child{max-width:650px;margin:30px 0 0;color:var(--muted);font-size:21px}
.hero-count{display:flex;align-items:flex-end;gap:20px;padding-bottom:5px}
.hero-count strong{color:var(--olive);font:400 74px/.8 var(--display)}
.hero-count span{color:var(--muted);font-size:14px;line-height:1.2;letter-spacing:.08em;text-transform:uppercase}
.year-section,.played-archive,.empty-state{width:min(1480px,calc(100% - 64px));margin:70px auto 0}
.year-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;margin-bottom:28px;color:var(--olive)}
.year-heading::before,.year-heading::after{content:"";height:3px;background:linear-gradient(90deg,transparent,var(--olive))}
.year-heading::after{background:linear-gradient(90deg,var(--olive),transparent)}
.year-heading h2{margin:0;font-size:39px;white-space:nowrap}
.year-heading>span{display:none}
.trip-list{display:grid;gap:18px}
.trip-card{border:1px solid var(--line);background:linear-gradient(135deg,var(--panel),rgba(13,33,23,.78));scroll-margin-top:105px}
.trip-card.is-played{filter:saturate(.35);opacity:.86}
.trip-heading{display:grid;grid-template-columns:190px minmax(0,1fr) auto;align-items:center;gap:34px;min-height:135px;padding:25px 30px;border-bottom:1px solid var(--line)}
.trip-heading time{font:400 31px/1 var(--display);letter-spacing:.02em}
.trip-heading p{margin:4px 0 0;color:var(--muted)}
.trip-heading .eyebrow{margin:0 0 6px;color:var(--olive)}
.status-chip{padding:9px 13px;border:1px solid currentColor;color:var(--online);font-size:16px;letter-spacing:.06em}
.status-chip.played{color:var(--played)}
.trip-content{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-areas:'facts location hotel' 'participants participants participants'}
.facts-section{padding:32px;border-right:1px solid var(--line)}
.facts-section:first-child{grid-area:facts}.location-section{grid-area:location}.hotel-section{grid-area:hotel;border-right:0}
.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.facts-grid div{display:flex;flex-direction:column;gap:4px;min-width:0}
.facts-grid strong{font-size:19px;font-weight:500}
.facts-grid span{color:var(--muted);font-size:14px}
.facts-section>p{margin:0 0 15px;color:var(--muted)}
.facts-section>p strong{color:var(--cream);font-size:19px}
.text-link{display:inline-block;margin-top:5px;color:var(--online);font-size:14px;text-underline-offset:4px}
.note{margin-top:22px!important;padding-top:18px;border-top:1px solid var(--line)}
.note small{display:block;margin-bottom:6px}
.room-list{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0}
.room-list span{padding:6px 9px;background:rgba(152,155,83,.13);color:var(--cream);font-size:13px}
.participants-section{grid-area:participants;padding:32px;border-top:1px solid var(--line)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}
.section-heading h4{margin:0}.section-heading>span{color:var(--muted);font-size:14px}
.role-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.role-group{min-width:0;padding:17px;background:rgba(0,0,0,.13)}
.people-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.person,.empty-person{display:inline-flex;flex-direction:column;padding:8px 10px;border-left:2px solid var(--olive);background:var(--panel-soft);font-size:14px}
.person-wrap{display:inline-flex;align-items:stretch}.guest-remove-form{display:flex}.guest-remove-form button{width:34px;border:1px solid var(--line);border-left:0;background:transparent;color:var(--declined);font-size:22px;cursor:pointer}.guest-remove-form button:hover,.guest-remove-form button:focus-visible{background:rgba(190,112,103,.12);color:var(--cream)}
.person.is-me{border-color:var(--online);color:var(--online)}
.person em{color:var(--muted);font-size:12px;font-style:normal}
.empty-person{border-color:transparent;background:none;color:#69736c}
.join-form{display:grid;grid-template-columns:220px minmax(320px,1fr) 220px auto auto;align-items:end;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.join-member{grid-column:1/-1}
.participant-remove-actions{display:flex;grid-column:1/-1;justify-content:flex-end;flex-wrap:wrap;gap:8px;align-items:stretch}.participant-remove-actions[hidden],.join-guest[hidden]{display:none}.participant-remove-actions .ghost-button{flex:0 1 210px;min-width:176px;padding-inline:14px;font-size:12px;line-height:1.2}.ghost-button.day-only{border-color:#d2924e;color:#e0a25e}.ghost-button.day-only:hover,.ghost-button.day-only:focus-visible{border-color:#f0b46f;background:rgba(210,146,78,.14);color:var(--cream)}
label{display:flex;flex-direction:column;gap:7px;color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}
label>span:not(.password-field){font-weight:400;text-transform:none}
input,select{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:0;outline:none;background:rgba(4,17,11,.7);color:var(--cream)}
input:focus,select:focus{border-color:var(--online);box-shadow:0 0 0 1px var(--online)}
.primary-button,.ghost-button{min-height:48px;padding:10px 20px;border:1px solid var(--olive);background:var(--olive);color:var(--night);font:500 14px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.join-form .primary-button,.join-form .ghost-button{white-space:nowrap}
.primary-button:hover{background:var(--online);border-color:var(--online)}
.primary-button:disabled{border-color:#3d4741;background:#3d4741;color:#899087;cursor:not-allowed;opacity:1}
.primary-button:disabled:hover{border-color:#3d4741;background:#3d4741;color:#899087}
.ghost-button{background:transparent;color:var(--cream)}
.ghost-button.danger{border-color:rgba(201,120,109,.55);color:var(--danger)}
.editor-confirm-dialog{width:min(calc(100% - 32px),560px);margin:auto;padding:0;border:1px solid rgba(144,148,83,.58);border-radius:0;background:#101d16;color:var(--cream);box-shadow:0 30px 100px rgba(0,0,0,.72)}.editor-confirm-dialog::backdrop{background:rgba(1,7,4,.82);backdrop-filter:blur(5px)}.editor-confirm-dialog form{margin:0}.editor-confirm-dialog header{display:flex;align-items:center;gap:17px;padding:24px 26px 20px;border-bottom:1px solid var(--line);background:#0d1812}.editor-confirm-dialog header>span{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid var(--olive);border-radius:50%;color:var(--olive);font:400 24px/1 var(--display)}.editor-confirm-dialog header small{display:block;margin-bottom:5px;color:var(--olive);font:400 10px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.editor-confirm-dialog h2{margin:0;font:400 28px/1 var(--display);letter-spacing:.025em;text-transform:uppercase}.editor-confirm-dialog>form>p{min-height:72px;margin:0;padding:24px 26px;color:var(--muted);font:300 17px/1.55 var(--copy)}.editor-confirm-dialog footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px 22px}.editor-confirm-dialog button{min-height:44px;padding:10px 17px;border:1px solid var(--line);background:transparent;color:var(--cream);font:400 12px/1 var(--display);letter-spacing:.07em;text-transform:uppercase;cursor:pointer}.editor-confirm-dialog button:hover,.editor-confirm-dialog button:focus-visible{border-color:var(--olive);outline:0}.editor-confirm-dialog .confirm-action{border-color:var(--olive);background:var(--olive);color:var(--night)}.editor-confirm-dialog.danger{border-color:rgba(181,98,92,.7)}.editor-confirm-dialog.danger header>span{border-color:var(--danger);color:#e0a29d}.editor-confirm-dialog.danger .confirm-action{border-color:var(--danger);background:var(--danger);color:var(--cream)}
.played-archive{border-top:3px solid transparent;border-image:linear-gradient(90deg,transparent,var(--played),transparent) 1}
.played-archive>summary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px 0;cursor:pointer;list-style:none}
.played-archive>summary::-webkit-details-marker{display:none}
.played-archive summary span{display:flex;flex-direction:column}.played-archive summary small{color:var(--played)}
.played-archive summary strong{font-size:35px}.played-archive summary em{color:var(--muted);font-size:15px;font-style:normal}
.played-archive summary em::after{content:' ↓';color:var(--olive)}
.played-archive[open] summary em::after{content:' ↑'}
.empty-state{padding:80px 30px;text-align:center;border:1px solid var(--line)}
.empty-state h2{margin:10px 0 25px}.empty-state p:last-child{color:var(--muted)}
.profile-drawer,.admin-drawer{position:fixed;z-index:100;inset:0;display:grid;grid-template-columns:1fr min(760px,92vw);visibility:hidden;pointer-events:none}
.admin-drawer{z-index:130;grid-template-columns:1fr min(900px,94vw)}
.profile-drawer[aria-hidden="false"],.admin-drawer[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.drawer-backdrop{border:0;background:rgba(0,0,0,.78);opacity:0;transition:opacity .2s}
.profile-drawer[aria-hidden="false"] .drawer-backdrop,.admin-drawer[aria-hidden="false"] .drawer-backdrop{opacity:1}
.drawer-panel{position:relative;overflow:auto;height:100%;padding:65px clamp(28px,6vw,70px);border-left:1px solid var(--line);background:var(--panel);transform:translateX(100%);transition:transform .24s}
.profile-drawer[aria-hidden="false"] .drawer-panel,.admin-drawer[aria-hidden="false"] .drawer-panel{transform:none}
.drawer-panel h2{margin:0 0 40px}.drawer-panel h3{margin:30px 0 15px;font-size:28px}.drawer-panel hr{margin:55px 0;border:0;border-top:1px solid var(--line)}
.close-button{position:absolute;top:22px;right:22px;width:54px;height:54px;border:1px solid var(--line);border-radius:50%;background:none;color:var(--cream);font-size:37px;line-height:1;cursor:pointer}
.profile-form{display:grid;gap:18px}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.password-field{position:relative;display:block}.password-field input{padding-right:55px}
.password-toggle{position:absolute;top:50%;right:7px;width:40px;height:40px;padding:8px;border:0;background:none;color:var(--muted);cursor:pointer;transform:translateY(-50%)}.password-toggle:hover,.password-toggle[aria-pressed="true"]{color:var(--olive)}.password-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}
.login-page{min-height:100vh;overflow-x:hidden}
.login-hero{min-height:100vh;background:var(--night)}
.login-wrap{width:min(520px,calc(100% - 48px));min-height:100vh;margin:auto;display:grid;place-items:center}
.login-panel{width:100%;min-width:0;padding:32px;border:1px solid rgba(252,247,241,.34);background:var(--night-2)}
.login-panel h1{font-size:clamp(50px,8vw,95px);line-height:.9;margin:7px 0 30px}.login-panel>p:not(.eyebrow){color:var(--muted)}
.form-stack{display:grid;gap:18px;margin-top:28px}.login-form{display:grid;gap:12px;margin-top:28px;padding-top:26px;border-top:1px solid var(--line)}.login-form label{color:var(--olive);font:400 13px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.login-form>input[type="email"]{width:100%;min-width:0;min-height:52px;padding:0 15px}.login-form .password-input{width:100%;min-width:0;min-height:52px;padding:0 58px 0 15px}.login-form>.primary-button{min-height:52px;margin-top:6px}
.forgot-password-link{justify-self:start;color:var(--cream);font:400 15px/1.3 var(--body);text-decoration-color:rgba(252,247,241,.45);text-underline-offset:4px}.forgot-password-link:hover{color:var(--olive);text-decoration-color:var(--olive)}
.admin-user-list{display:grid;gap:16px}.admin-user-card{display:grid;gap:14px;padding:20px;border:1px solid var(--line);background:rgba(0,0,0,.12)}
.admin-user-card label>span{color:var(--muted);font-size:12px}.admin-actions{display:flex;gap:12px}.admin-actions button{flex:1}
.admin-access{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0;padding:15px;border:1px solid var(--line)}.admin-access legend{padding:0 8px;color:var(--olive);font:400 14px/1 var(--display);letter-spacing:.06em}.admin-access label{display:flex;align-items:center;gap:9px}.admin-access input{width:18px;height:18px;margin:0;accent-color:var(--olive)}
.audit-controls{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;margin-bottom:18px}.audit-controls input,.audit-controls select{min-height:46px}.audit-history{border-top:1px solid var(--line)}.audit-month{border-bottom:1px solid var(--line)}.audit-month>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 3px;cursor:pointer;list-style:none}.audit-month>summary::-webkit-details-marker{display:none}.audit-month>summary strong{font:400 20px/1 var(--display);color:var(--cream);text-transform:lowercase}.audit-month>summary span{color:var(--olive);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.audit-list{display:grid;border-top:1px solid rgba(97,102,91,.55)}.audit-list>div{display:grid;grid-template-columns:165px 170px minmax(0,1fr);gap:16px;padding:13px 4px;border-bottom:1px solid rgba(97,102,91,.45)}
.audit-days{border-top:1px solid rgba(97,102,91,.55)}.audit-day{border-bottom:1px solid rgba(97,102,91,.45)}.audit-day:last-child{border-bottom:0}.audit-day>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 10px;cursor:pointer;list-style:none;background:rgba(255,255,255,.018)}.audit-day>summary::-webkit-details-marker{display:none}.audit-day>summary strong{color:var(--cream);font:400 15px/1 var(--copy)}.audit-day>summary span{color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.audit-day[open]>summary{border-left:3px solid var(--olive);background:rgba(144,148,83,.08)}.audit-day .audit-list{padding-left:10px}
.audit-row[hidden],.audit-day[hidden],.audit-month[hidden]{display:none!important}
.audit-list time{display:flex;gap:9px;white-space:nowrap}.audit-list time i{color:var(--olive);font-style:normal}.audit-list time span,.audit-list>div>span{color:var(--muted);font-size:13px}.audit-list strong{font-weight:500;color:var(--cream)}

@media(max-width:1100px){
  .trip-content{grid-template-columns:1fr 1fr;grid-template-areas:'facts facts' 'location hotel' 'participants participants'}
  .facts-section:first-child{border-right:0;border-bottom:1px solid var(--line)}
  .role-groups{grid-template-columns:1fr 1fr}
  .join-form{grid-template-columns:1fr 1fr}.join-form button{width:100%}
}
@media(max-width:700px){
  body{font-size:16px}
  .header-inner{width:calc(100% - 28px);min-height:70px}.home-mark{width:46px;height:55px}.home-mark img{width:40px;height:48px}
  .brand-title strong{font-size:22px}.brand-title span{font-size:13px}
  .header-inner{position:relative;flex-wrap:wrap}.signed-in-user{order:3;width:100%;min-width:0;align-items:flex-start;margin:-7px 0 7px;padding:0;border:0}.signed-in-user strong{font-size:16px}.menu-toggle{display:block;margin-left:auto}
  .menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .site-header nav{position:absolute;top:70px;right:0;left:0;display:none;align-items:stretch;flex-direction:column;gap:0;margin:0;padding:8px 14px 15px;border:1px solid var(--line);border-top:0;background:var(--night-2);font-size:22px}
  .site-header nav.is-open{display:flex}.site-header nav a,.site-header nav button{display:block;width:100%;padding:16px 8px;border-bottom:1px solid var(--line);text-align:left}.site-header nav form{width:100%}.site-header nav form button{border-bottom:0}
  main{padding-bottom:60px}
  .hero,.year-section,.played-archive,.empty-state{width:calc(100% - 28px)}
  .hero{padding:55px 0 45px;align-items:flex-start;flex-direction:column}
  h1{font-size:82px}.hero>div:first-child>p:last-child{font-size:17px;margin-top:23px}
  .hero-count strong{font-size:58px}
  .year-section,.played-archive{margin-top:48px}
  .year-heading{gap:12px}.year-heading h2{font-size:29px}
  .trip-heading{grid-template-columns:1fr auto;gap:13px;min-height:0;padding:22px 19px}
  .trip-heading time{grid-column:1/-1;font-size:28px}.trip-heading h3{font-size:32px}.trip-heading>div{min-width:0}.status-chip{padding:7px 9px;font-size:14px}
  .trip-content{display:block}.facts-section{padding:24px 19px;border:0;border-bottom:1px solid var(--line)}
  .facts-grid{grid-template-columns:1fr 1fr;gap:23px 16px}.facts-grid strong{font-size:17px}
  .participants-section{padding:24px 19px}.section-heading{align-items:flex-start;flex-direction:column}
  .role-groups{grid-template-columns:1fr 1fr}.role-group{padding:13px}
  .join-form{grid-template-columns:1fr;margin-top:20px}
  .played-archive>summary{align-items:flex-start;flex-direction:column;padding:28px 0}.played-archive summary strong{font-size:30px}
  .profile-drawer,.admin-drawer{grid-template-columns:1fr}.drawer-backdrop{display:none}.drawer-panel{width:100%;border-left:0;padding:70px 22px 40px}
  .audit-controls{grid-template-columns:1fr}.audit-list>div{grid-template-columns:1fr;gap:2px}.admin-actions{flex-direction:column}
  .two-columns{grid-template-columns:1fr}
  .login-wrap{width:calc(100% - 32px);min-height:100vh;padding:28px 0}
  .login-panel{width:100%;min-width:0;padding:27px 22px}.login-panel h1{font-size:clamp(42px,14vw,60px);margin-bottom:25px}
}
@media(max-width:420px){.brand-title{display:none}.role-groups{grid-template-columns:1fr}.facts-grid{grid-template-columns:1fr 1fr}.site-header nav{margin-left:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Fahrtenplan 1.1: kompakte Monatsliste und Detail-Lightbox */
.icon{width:24px;height:24px;flex:0 0 auto}
.modal-open{overflow:hidden}
.hero{padding:65px 0 48px;align-items:center}
.hero h1,.brand-title,.site-header nav,.month-heading h3,.trip-row-main small,.status-chip,.modal-heading h2,.participants-section h4,.facts-section h4{text-transform:lowercase}
.year-section{margin-top:42px}
.year-heading{margin-bottom:20px}
.year-heading h2{font-size:48px}
.month-section{margin:0 0 54px}
.month-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:0 4px 13px;border-bottom:1px solid var(--line)}
.month-heading h3{color:var(--olive);font-size:36px}
.month-heading span{color:var(--muted);font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.trip-list{gap:0}
.trip-list-item{border-bottom:1px solid var(--line)}
.trip-row{width:100%;min-height:106px;padding:18px 20px;display:grid;grid-template-columns:108px minmax(260px,1fr) 350px 110px 28px;align-items:center;gap:22px;border:0;background:transparent;color:var(--cream);text-align:left;cursor:pointer;transition:background .16s}
.trip-row:hover,.trip-row:focus-visible{outline:none;background:var(--panel-soft)}
.trip-row time{display:flex;align-items:baseline;gap:7px;font-family:var(--display);font-weight:400;text-transform:lowercase}
.trip-row time strong{font-size:45px;line-height:.8;font-weight:400}.trip-row time span{color:var(--muted);font-size:18px}
.trip-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.trip-row-main small{color:var(--olive);font:400 14px/1.1 var(--display);letter-spacing:.08em}
.trip-row-main strong{overflow:hidden;font-size:22px;font-weight:600;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.trip-row-main>span{overflow:hidden;color:var(--muted);font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.team-overview{display:flex;align-items:center;gap:10px;color:var(--muted)}
.team-overview.has-team{color:var(--online)}.team-overview>span{display:flex;flex-direction:column}.team-overview strong{font-size:25px;line-height:1}.team-overview small{font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.team-split{display:grid;grid-template-columns:1fr 1fr;gap:7px;color:var(--muted);font-size:12px;text-transform:uppercase}
.team-split>span{display:flex;flex-direction:column;gap:2px}.team-split b{color:var(--cream);font-size:19px;font-weight:500}
.band-complete,.band-alert{font-size:12px;letter-spacing:.05em;text-transform:uppercase}
.band-complete{color:var(--played)}.band-alert{display:flex;align-items:center;gap:6px;color:var(--danger)}.band-alert .icon{width:20px}
.row-arrow{color:var(--olive);font-size:40px;font-weight:200;line-height:1;text-align:right}
.trip-list-item.is-played .trip-row{opacity:.5;filter:saturate(.25)}
.trip-list-item.is-played .trip-row-main small{color:var(--played)}

.trip-modal{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:28px;visibility:hidden;pointer-events:none}
.trip-modal[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.trip-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.83);opacity:0;transition:opacity .18s}
.trip-modal[aria-hidden="false"] .trip-modal-backdrop{opacity:1}
.trip-modal-panel{position:relative;overflow:auto;width:min(1380px,100%);max-height:calc(100vh - 56px);border:1px solid var(--line);background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.55);transform:translateY(18px);opacity:0;transition:transform .2s,opacity .2s}
.trip-modal[aria-hidden="false"] .trip-modal-panel{transform:none;opacity:1}
.modal-heading{padding:46px 110px 36px 42px;border-bottom:1px solid var(--line)}
.modal-heading h2{margin:4px 0 12px;font-size:clamp(48px,6vw,86px)}.modal-heading>p:last-of-type{margin:0;color:var(--muted);font-size:19px}
.missing-warning{display:flex;align-items:center;gap:10px;margin-top:23px;padding:13px 15px;border-left:3px solid var(--danger);background:rgba(201,120,109,.09);color:var(--danger)}
.missing-warning .icon{width:25px}.missing-warning strong{font-weight:600}
.trip-modal .trip-content{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:'summary summary' 'location hotel' 'participants participants'}
.journey-summary{grid-area:summary;border-bottom:1px solid var(--line)}
.journey-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}
.journey-stats .fact{position:relative;min-width:0;padding:27px 20px;display:flex;align-items:center;gap:12px}
.journey-stats .fact+.fact{border-left:1px solid var(--line)}
.journey-stats .fact>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.journey-stats strong{font-size:17px;font-weight:500}.journey-stats small{color:var(--olive)}
.facts-section h4{display:flex;align-items:center;justify-content:space-between;gap:14px}.facts-section h4 .icon{width:27px;flex:0 0 27px;color:var(--olive)}
.maps-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:9px 14px;border:1px solid var(--olive);background:rgba(144,148,83,.1);color:var(--cream);font:500 13px/1 var(--display);letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:background .16s,color .16s}.maps-button .icon{width:19px;height:19px;color:var(--online)}.maps-button:hover,.maps-button:focus-visible{background:var(--olive);color:var(--panel);outline:0}.maps-button:hover .icon,.maps-button:focus-visible .icon{color:var(--panel)}.hotel-section .maps-button+.text-link{margin-left:12px}
.facts-grid .fact{display:flex;flex-direction:row;align-items:flex-start;gap:13px}
.facts-grid .fact>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}
.fact-icon{width:43px;height:43px;display:grid;flex:0 0 43px;place-items:center;border:1px solid var(--line);color:var(--olive)}
.fact-icon .icon{width:22px}.facts-grid .fact em{color:var(--muted);font-size:14px;font-style:normal}
.journey-stats .fact em{color:var(--muted);font-size:13px;font-style:normal}
.roster-totals{display:grid;grid-template-columns:repeat(3,1fr);color:var(--muted)}
.roster-totals>span{min-width:0;display:flex;align-items:center;justify-content:center;gap:9px;padding:4px 14px}
.roster-totals>span+span{border-left:1px solid var(--line)}
.roster-totals .icon{width:24px}.roster-totals>span>span{display:flex;flex-direction:column;align-items:flex-start}.roster-totals b{color:var(--cream);font-size:23px;font-weight:400;line-height:1}.roster-totals small{font-size:10px;letter-spacing:.06em;text-transform:uppercase}.roster-totals.has-team>span:first-child{color:var(--online)}
.current-info{display:flex;align-items:flex-start;gap:13px;margin:0 0 22px;padding:14px 16px;border-left:3px solid var(--online);background:rgba(197,206,130,.08)}
.current-info>.icon{color:var(--online)}.current-info>div{display:grid;gap:3px}.current-info small{color:var(--online)}.current-info p{margin:0;color:var(--cream);font-size:14px}

.booking-controls{width:min(1480px,calc(100% - 64px));margin:34px auto 0}
.year-navigation{height:108px;display:grid;grid-template-columns:65px 1fr 65px;align-items:stretch;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.year-navigation>button,.year-buttons button{border:0;background:none;color:var(--muted);font:400 37px/1 var(--display);cursor:pointer}
.year-navigation>button{font-family:var(--copy);font-size:37px}.year-navigation>button:hover,.year-buttons button:hover{color:var(--cream)}
.year-buttons{display:grid;grid-template-columns:repeat(7,1fr)}
.year-buttons button{position:relative;display:none}.year-buttons button.is-window-visible{display:block}.year-buttons button.is-active{color:var(--olive)}.year-buttons button.is-active::after{content:"";position:absolute;right:25%;bottom:-1px;left:25%;height:3px;background:var(--olive)}
.trip-setlist-actions{display:flex;align-items:center;gap:12px;padding:15px 20px;border-top:1px solid var(--line)}.trip-setlist-actions>span{display:flex;align-items:center;gap:9px;margin-right:auto;color:var(--cream);font:400 20px/1 var(--display);text-transform:uppercase}.trip-setlist-actions .icon{width:23px;color:var(--olive)}.setlist-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border:1px solid var(--olive);color:var(--cream);font:500 13px/1 var(--display);letter-spacing:.05em;text-decoration:none;text-transform:uppercase}.setlist-button:hover{background:var(--olive);color:var(--panel)}
.trip-set-summary{display:grid;grid-template-columns:260px 1fr;border-top:1px solid var(--line);background:rgba(144,148,83,.07)}.trip-set-summary-heading{display:flex;align-items:center;gap:13px;padding:18px 20px;border-right:1px solid var(--line)}.trip-set-summary-heading .icon{width:25px;color:var(--olive)}.trip-set-summary-heading span{display:grid;gap:5px}.trip-set-summary-heading small,.trip-set-summary-items small{color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase}.trip-set-summary-heading strong{color:var(--cream);font:400 17px/1 var(--display);text-transform:uppercase}.trip-set-summary-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.trip-set-summary-items>div{display:grid;gap:5px;align-content:center;padding:14px 18px;border-right:1px solid var(--line)}.trip-set-summary-items strong{color:var(--cream);font:400 20px/1 var(--display)}.trip-set-summary-items span{color:var(--muted);font:300 13px/1.25 var(--copy)}
.status-navigation{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-bottom:1px solid var(--line)}
.status-navigation button{--status-color:var(--muted);position:relative;min-width:0;min-height:75px;display:flex;align-items:center;justify-content:center;gap:9px;padding:0 8px;border:0;border-right:1px solid var(--line);background:none;color:var(--status-color);font:400 18px/1 var(--display);letter-spacing:.04em;text-transform:lowercase;cursor:pointer}.status-navigation button:last-child{border-right:0}.status-navigation button::before{content:"";width:9px;height:9px;flex:0 0 9px;background:var(--status-color)}.status-navigation button[aria-pressed="true"]{background:rgba(255,255,255,.06);color:var(--cream)}.status-navigation button[aria-pressed="true"]::after{content:"";position:absolute;right:16%;bottom:0;left:16%;height:3px;background:var(--status-color)}
.status-navigation b{font:300 14px/1 var(--copy);color:var(--muted)}.status-navigation b::before{content:'['}.status-navigation b::after{content:']'}
.status-navigation .all{--status-color:var(--olive)}.status-navigation .online{--status-color:var(--online)}.status-navigation .played{--status-color:var(--played)}.status-navigation .confirmed{--status-color:var(--success)}.status-navigation .offer{--status-color:#d3b979}.status-navigation .inquiry{--status-color:#9bb8c5}.status-navigation .option{--status-color:#74786b}.status-navigation .declined{--status-color:#a48b83}
.trip-search{position:relative;margin-top:25px;color:var(--muted)}.trip-search input{height:62px;padding:12px 55px;font-size:17px}.search-icon{position:absolute;z-index:1;top:21px;left:20px;width:18px;height:18px;border:2px solid currentColor;border-radius:50%}.search-icon::after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;background:currentColor;transform:rotate(45deg)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.filter-empty{width:min(1480px,calc(100% - 64px));margin:55px auto;padding:35px;border:1px solid var(--line);color:var(--muted);text-align:center}

@media(max-width:1050px){
  .trip-row{grid-template-columns:95px minmax(220px,1fr) 270px 24px}.band-complete,.band-alert{display:none}
  .journey-stats{grid-template-columns:repeat(3,1fr)}.journey-stats .fact:nth-child(4){border-left:0}.journey-stats .fact:nth-child(n+4){border-top:1px solid var(--line)}
  .status-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.status-navigation button{border-bottom:1px solid var(--line)}.status-navigation button:nth-child(4n){border-right:0}.status-navigation button:nth-last-child(-n+4){border-bottom:0}
}
@media(max-width:700px){
  .hero{padding:40px 0 35px}.hero-count{align-self:auto}.hero-count strong{font-size:50px}
  .year-heading h2{font-size:39px}.month-section{margin-bottom:40px}.month-heading h3{font-size:32px}
  .booking-controls{width:calc(100% - 28px);margin-top:22px}.year-navigation{height:76px;grid-template-columns:42px 1fr 42px}.year-buttons button,.year-buttons button.is-window-visible{display:none;font-size:26px}.year-buttons button.is-mobile-visible{display:block}.year-buttons{grid-template-columns:repeat(3,1fr)}
  .status-navigation button{min-height:72px;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;row-gap:5px;padding:8px 4px 7px;font-size:16px}.status-navigation button::before{grid-column:1;grid-row:1;align-self:center}.status-navigation .status-label{grid-column:2;grid-row:1}.status-navigation b{grid-column:1/-1;grid-row:2;display:block;text-align:center}.trip-search{margin-top:16px}.trip-search input{height:56px}
  .trip-row{min-height:0;padding:18px 6px;grid-template-columns:65px minmax(0,1fr) 95px 18px;gap:12px}
  .trip-row time{align-items:flex-start;flex-direction:column;gap:2px}.trip-row time strong{font-size:37px}.trip-row time span{font-size:15px}
  .trip-row-main strong{font-size:19px;white-space:normal}.trip-row-main>span{font-size:13px}.trip-row-main small{font-size:13px}
  .roster-totals{grid-template-columns:repeat(3,1fr)}.roster-totals>span{gap:2px;padding:2px 4px;flex-direction:column}.roster-totals>span+span{border-left:1px solid var(--line)}.roster-totals .icon{width:18px;height:18px}.roster-totals>span>span{align-items:center}.roster-totals b{font-size:18px}.roster-totals small{display:none}
  .team-split,.band-complete,.band-alert{display:none}.row-arrow{font-size:31px}
  .trip-modal{padding:0}.trip-modal-panel{width:100%;height:100%;max-height:none;border:0}
  .modal-heading{padding:75px 62px 27px 20px}.modal-heading h2{font-size:52px}.modal-heading>p:last-of-type{font-size:16px}
  .trip-modal .close-button{position:fixed;z-index:2;top:13px;right:13px;background:var(--panel)}
  .trip-modal .trip-content{display:block}.trip-modal .facts-section{padding:25px 20px}.journey-stats{grid-template-columns:1fr 1fr}.journey-stats .fact{padding:18px 14px}.journey-stats .fact:nth-child(odd){border-left:0}.journey-stats .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .trip-setlist-actions{flex-wrap:wrap;padding:15px 14px}.trip-setlist-actions>span{width:100%;margin:0}.trip-setlist-actions .text-link{margin-left:auto}
  .facts-grid{grid-template-columns:1fr}.facts-grid .fact{min-width:0}
  .role-groups{grid-template-columns:1fr 1fr}.join-form{grid-template-columns:1fr}
}

/* Fahrtenplan 1.3: Booking-Statusnavigation und Jahreskalender */
.hero .eyebrow{margin-bottom:14px}.hero h1{line-height:.88}
.year-section>.month-section:first-child{margin-top:0}
.calendar-modal{position:fixed;z-index:110;inset:0;display:grid;place-items:center;padding:16px;visibility:hidden;pointer-events:none}
.calendar-modal[aria-hidden="false"]{visibility:visible;pointer-events:auto}
.calendar-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.83)}
.calendar-panel{position:relative;overflow:auto;width:min(1500px,100%);max-height:calc(100vh - 32px);border:1px solid var(--line);background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.calendar-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:34px 82px 28px 34px;border-bottom:1px solid var(--line)}
.calendar-hero p{margin:0 0 8px;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.13em;text-transform:uppercase}
.calendar-hero h2{margin:0;font:400 66px/.85 var(--display);text-transform:lowercase}.calendar-hero>strong{color:var(--olive);font:400 18px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.calendar-year-navigation{border-top:0}.calendar-status-navigation{border-bottom:1px solid var(--line)}
.year-calendar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding:1px;background:var(--line)}
.calendar-month{min-width:0;padding:18px 14px 20px;background:var(--panel)}.calendar-month h3{margin:0 0 14px;color:var(--cream);font:400 29px/1 var(--headline);text-transform:lowercase}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{margin-bottom:5px}.calendar-weekdays span{padding:3px;color:var(--olive);font:400 11px/1 var(--display);text-align:center;text-transform:lowercase}
.calendar-day{min-width:0;min-height:53px;padding:5px 3px 3px;border-top:1px solid rgba(151,162,151,.28);overflow:hidden;color:var(--muted)}.calendar-day b{display:block;margin-bottom:3px;font:400 12px/1 var(--display)}.calendar-day-empty{border-color:transparent}.calendar-day.has-events{background:rgba(152,155,83,.07);color:var(--cream)}
.calendar-event{display:block;width:100%;margin-top:2px;padding:4px;border:0;color:var(--night);font:500 10px/1.08 var(--copy);overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.calendar-event:hover{filter:brightness(1.15)}
.calendar-event.confirmed,.calendar-event.online{background:var(--online)}.calendar-event.played,.calendar-event.completed{background:var(--played)}.calendar-event.offer{background:#d3b979}.calendar-event.inquiry{background:#9bb8c5}.calendar-event.option{background:#74786b}.calendar-event.declined{background:#a48b83}
.calendar-event.is-opted-out{position:relative;isolation:isolate}
.calendar-event.is-opted-out::before,.calendar-event.is-opted-out::after{content:"";position:absolute;z-index:2;top:50%;left:-8%;width:116%;height:2px;background:#ed1c24;transform-origin:center;pointer-events:none}
.calendar-event.is-opted-out::before{transform:rotate(15deg)}.calendar-event.is-opted-out::after{transform:rotate(-15deg)}
@media(max-width:1050px){.year-calendar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.calendar-modal{padding:6px}.calendar-panel{max-height:calc(100vh - 12px)}.calendar-hero{display:block;padding:29px 62px 22px 20px}.calendar-hero h2{font-size:52px}.calendar-hero>strong{display:block;margin-top:15px}.year-calendar{grid-template-columns:1fr}.calendar-month{padding:20px 12px 24px}.calendar-day{min-height:59px}.calendar-event{font-size:11px}}

/* Fahrtenplan 1.4: identisches Erscheinungsbild zum internen Booking-System */
.app-header{position:sticky;z-index:50;top:0;min-height:84px;padding:14px clamp(20px,2vw,38px);display:grid;grid-template-columns:max-content minmax(0,1fr) auto auto;align-items:center;gap:28px;border-bottom:1px solid rgba(97,102,91,.55);background:rgba(13,22,17,.98);backdrop-filter:blur(10px)}
.brand{display:inline-flex;width:max-content;color:var(--cream);text-decoration:none}.brand strong,.brand small{display:block}.brand strong{font:400 31px/.82 var(--headline);letter-spacing:.025em;text-transform:lowercase}.brand small{margin-top:5px;color:var(--olive);font:400 11px/1 var(--display);letter-spacing:.2em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;justify-self:end;gap:clamp(16px,2vw,38px);white-space:nowrap}.main-nav a,.main-nav>button,.main-nav form button{position:relative;padding:12px 0;border:0;background:transparent;color:var(--muted);font:400 14px/1 var(--display);letter-spacing:.09em;text-decoration:none;text-transform:uppercase;cursor:pointer}.main-nav form{margin:0}.main-nav a:hover,.main-nav>button:hover,.main-nav form button:hover,.main-nav a.active{color:var(--cream)}.main-nav a.active::after{content:"";position:absolute;right:0;bottom:1px;left:0;height:1px;background:var(--olive)}
.header-user-name{display:flex;min-width:145px;flex-direction:column;align-items:flex-end;justify-self:end;padding-left:28px;border-left:1px solid rgba(97,102,91,.35)}.header-user-name small{color:var(--olive);font:400 9px/1 var(--display);letter-spacing:.09em;text-transform:uppercase}.header-user-name strong{margin-top:4px;color:var(--success);font:500 17px/1.1 var(--copy);white-space:nowrap}
.avatar{justify-self:end;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);font:400 13px/1 var(--display);cursor:pointer}
.menu-toggle{display:none;width:42px;height:42px;padding:10px 8px;border:0;outline:0;appearance:none;background:transparent;color:var(--cream);cursor:pointer}.menu-toggle span{display:block;width:100%;height:1px;margin:5px 0;background:currentColor;transition:transform .2s,opacity .2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.calendar-hero h2{font-family:var(--headline)}
.trip-modal-panel,.trip-modal-panel *,
.calendar-panel,.calendar-panel *,
.profile-drawer .drawer-panel,.profile-drawer .drawer-panel *,
.admin-drawer .admin-panel,.admin-drawer .admin-panel *{scrollbar-width:thin;scrollbar-color:var(--olive) #0a1510}
.trip-modal-panel::-webkit-scrollbar,.trip-modal-panel *::-webkit-scrollbar,
.calendar-panel::-webkit-scrollbar,.calendar-panel *::-webkit-scrollbar,
.profile-drawer .drawer-panel::-webkit-scrollbar,.profile-drawer .drawer-panel *::-webkit-scrollbar,
.admin-drawer .admin-panel::-webkit-scrollbar,.admin-drawer .admin-panel *::-webkit-scrollbar{width:10px;height:10px}
.trip-modal-panel::-webkit-scrollbar-track,.trip-modal-panel *::-webkit-scrollbar-track,
.calendar-panel::-webkit-scrollbar-track,.calendar-panel *::-webkit-scrollbar-track,
.profile-drawer .drawer-panel::-webkit-scrollbar-track,.profile-drawer .drawer-panel *::-webkit-scrollbar-track,
.admin-drawer .admin-panel::-webkit-scrollbar-track,.admin-drawer .admin-panel *::-webkit-scrollbar-track{background:#0a1510;border-left:1px solid var(--line)}
.trip-modal-panel::-webkit-scrollbar-thumb,.trip-modal-panel *::-webkit-scrollbar-thumb,
.calendar-panel::-webkit-scrollbar-thumb,.calendar-panel *::-webkit-scrollbar-thumb,
.profile-drawer .drawer-panel::-webkit-scrollbar-thumb,.profile-drawer .drawer-panel *::-webkit-scrollbar-thumb,
.admin-drawer .admin-panel::-webkit-scrollbar-thumb,.admin-drawer .admin-panel *::-webkit-scrollbar-thumb{min-height:44px;border:2px solid #0a1510;background:var(--olive)}
.trip-modal-panel::-webkit-scrollbar-thumb:hover,.trip-modal-panel *::-webkit-scrollbar-thumb:hover,
.calendar-panel::-webkit-scrollbar-thumb:hover,.calendar-panel *::-webkit-scrollbar-thumb:hover,
.profile-drawer .drawer-panel::-webkit-scrollbar-thumb:hover,.profile-drawer .drawer-panel *::-webkit-scrollbar-thumb:hover,
.admin-drawer .admin-panel::-webkit-scrollbar-thumb:hover,.admin-drawer .admin-panel *::-webkit-scrollbar-thumb:hover{background:#b3b878}
.trip-modal-panel::-webkit-scrollbar-corner,.trip-modal-panel *::-webkit-scrollbar-corner,
.calendar-panel::-webkit-scrollbar-corner,.calendar-panel *::-webkit-scrollbar-corner,
.profile-drawer .drawer-panel::-webkit-scrollbar-corner,.profile-drawer .drawer-panel *::-webkit-scrollbar-corner,
.admin-drawer .admin-panel::-webkit-scrollbar-corner,.admin-drawer .admin-panel *::-webkit-scrollbar-corner{background:#0a1510}
.booking-controls{margin-top:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.year-navigation{height:auto;min-height:82px;grid-template-columns:46px 1fr 46px;border:0}.year-navigation>button{font-family:var(--display);font-size:30px}.year-buttons button{font:400 37.5px/1 var(--display);letter-spacing:.04em}.status-navigation{border-top:1px solid rgba(97,102,91,.55);border-bottom:0}.status-navigation button{min-height:54px;padding:0 10px;border-right:1px solid rgba(97,102,91,.38);font:400 14px/1 var(--display);letter-spacing:.07em;text-transform:uppercase}.status-navigation b{font:300 13px/1 var(--copy)}.status-navigation button[aria-pressed="true"]{background:rgba(252,247,241,.07)}
.trip-row-main small,.trip-row-main strong{font-family:var(--display);font-weight:400;text-transform:uppercase}.trip-row-main strong{letter-spacing:.025em}

.admin-drawer{z-index:130;display:grid;grid-template-columns:none;place-items:center;padding:28px}.admin-drawer>.drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.8)}.admin-drawer .admin-panel{position:relative;width:min(1300px,100%);height:auto;max-height:calc(100vh - 56px);padding:0;overflow:auto;border:1px solid var(--line);background:var(--panel);box-shadow:0 28px 90px rgba(0,0,0,.55);transform:translateY(18px);opacity:0;transition:transform .2s,opacity .2s}.admin-drawer[aria-hidden="false"] .admin-panel{transform:none;opacity:1}
.admin-panel>h2{font:400 clamp(48px,6vw,86px)/.9 var(--headline);text-transform:lowercase}.admin-panel>h3{font-family:var(--headline);text-transform:lowercase}.admin-user-card label,.admin-access legend{font:400 11px/1 var(--display);letter-spacing:.1em;text-transform:uppercase}.admin-user-card input{font-family:var(--copy)}
.workspace-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:38px 76px 30px 34px;border-bottom:1px solid var(--line)}.workspace-hero p{margin:0 0 8px;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.13em;text-transform:uppercase}.workspace-hero h2{margin:0;font:400 58px/.85 var(--headline);text-transform:lowercase}.workspace-hero>strong{color:var(--olive);font:400 16px/1.2 var(--display);letter-spacing:.06em;text-align:right;text-transform:uppercase}.admin-content{padding:28px 34px 36px}
.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:38px;align-items:start;margin-top:34px}.admin-column{min-width:0}.admin-column>h3{margin-top:0;font-family:var(--headline);text-transform:lowercase}.admin-user-list{gap:12px}.admin-user-card{display:block;padding:0}.admin-user-card>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:62px;padding:14px 18px;list-style:none;cursor:pointer}.admin-user-card>summary::-webkit-details-marker{display:none}.admin-user-card>summary strong{font:400 18px/1.1 var(--copy)}.admin-user-card>summary span{color:var(--olive);font:400 11px/1.2 var(--display);letter-spacing:.06em;text-align:right;text-transform:uppercase}.admin-user-card>form{display:grid;gap:14px;padding:20px;border-top:1px solid var(--line)}
@media(min-width:901px){.profile-drawer{z-index:120;display:grid;grid-template-columns:none;place-items:center;padding:28px}.profile-drawer>.drawer-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.76);backdrop-filter:blur(3px)}.profile-drawer .drawer-panel{position:relative;width:min(860px,100%);height:auto;max-height:calc(100vh - 56px);padding:0;overflow:auto;border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 80px rgba(0,0,0,.45);transform:translateY(18px);opacity:0;transition:transform .2s,opacity .2s}.profile-drawer[aria-hidden="false"] .drawer-panel{transform:none;opacity:1}.profile-hero{padding:38px 70px 30px 34px;border-bottom:1px solid var(--line)}.profile-hero p{margin:0 0 8px;color:var(--olive);font:400 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase}.profile-hero h2{margin:0;font:400 54px/.9 var(--headline);text-transform:lowercase}.profile-content{padding:30px 34px 36px}.profile-content>.profile-form{grid-template-columns:1fr 1fr;gap:20px 24px}.profile-drawer .profile-form>.two-columns,.profile-drawer .profile-form>h3,.profile-drawer .profile-form>.primary-button{grid-column:1/-1}.profile-content>.profile-form>label:first-of-type,.profile-content>.profile-form>label:nth-of-type(2){grid-column:1/-1}.profile-drawer .member-create{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.profile-drawer .member-create summary{padding:20px 2px;color:var(--cream);font:400 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.profile-drawer .member-create[open] summary{color:var(--olive)}.profile-drawer .member-create .profile-form{grid-template-columns:1fr 1fr;gap:20px 24px;padding:4px 0 26px}.profile-drawer .member-create .two-columns,.profile-drawer .member-create .profile-form>label:first-of-type,.profile-drawer .member-create .primary-button{grid-column:1/-1}.profile-drawer .close-button,.admin-drawer .close-button{top:14px;right:14px;width:42px;height:42px;padding:0 0 3px;font:300 34px/1 Arial,sans-serif}}

@media(min-width:901px) and (max-width:1280px){.app-header{padding-inline:24px;gap:16px}.main-nav{gap:14px}.main-nav a,.main-nav>button,.main-nav form button{font-size:12px;letter-spacing:.065em}.header-user-name{min-width:112px;padding-left:16px}}
@media(max-width:1250px){.join-form{grid-template-columns:220px minmax(300px,1fr) 220px}.join-form .primary-button,.join-form .ghost-button{min-width:180px}.join-form .primary-button{grid-column:2}.join-form .ghost-button{grid-column:3}}
@media(max-width:900px){body.menu-open{overflow:hidden}.app-header{position:sticky;z-index:50;top:0;grid-template-columns:1fr auto auto auto;gap:10px}.header-user-name{grid-column:2;grid-row:1;min-width:0;padding-left:0;border-left:0}.header-user-name small{display:none}.header-user-name strong{max-width:130px;overflow:hidden;font-size:13px;text-overflow:ellipsis}.avatar{grid-column:3;grid-row:1}.menu-toggle{display:block;grid-column:4;grid-row:1}.main-nav{position:fixed;z-index:49;inset:84px 0 0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px max(24px,7vw) 40px;overflow-y:auto;background:rgba(13,22,17,.985);transform:translateX(100%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.main-nav.is-open{transform:translateX(0);visibility:visible;transition-delay:0s}.main-nav a,.main-nav>button,.main-nav form button{display:flex;align-items:center;width:100%;min-height:67px;border-bottom:1px solid rgba(97,102,91,.55);color:var(--muted);font-size:20px;text-align:left}.main-nav a.active{color:var(--olive)}.main-nav a.active::after{display:none}.main-nav form{width:100%}.admin-layout{display:block}.admin-column+.admin-column{margin-top:34px}.admin-drawer{padding:16px}.admin-drawer .admin-panel{max-height:calc(100vh - 32px);padding:65px 26px 36px}.join-form{grid-template-columns:1fr 1fr}.join-form .join-role,.join-form .join-note{grid-column:auto}.join-form .join-guest{grid-column:1}.join-form .primary-button{grid-column:1}.join-form .ghost-button{grid-column:2}.status-navigation{grid-template-columns:repeat(4,minmax(0,1fr))}.status-navigation button{min-height:48px;border-bottom:1px solid rgba(97,102,91,.38);font-size:12px}.status-navigation button:nth-child(4n){border-right:0}.status-navigation button:nth-last-child(-n+4){border-bottom:0}}
@media(max-width:620px){.app-header{min-height:70px;padding-inline:18px}.brand strong{font-size:25px}.brand small{font-size:9px}.main-nav{inset-block-start:70px}.header-user-name strong{max-width:92px}.avatar{width:38px;height:38px}main{padding:42px 0 64px}.hero{display:block;width:calc(100% - 28px);padding:0}.hero h1{font-size:clamp(51px,18.75vw,82.5px)}.hero-count{margin-top:32px}.booking-controls{width:calc(100% - 28px);margin-top:44px}.year-navigation{height:auto;min-height:82px;grid-template-columns:38px 1fr 38px}.status-navigation button{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;row-gap:5px;min-height:66px;padding:8px 4px 7px;font-size:14px;letter-spacing:.045em}.status-navigation button::before{grid-column:1;grid-row:1;align-self:center;width:8px;height:8px}.status-navigation .status-label{grid-column:2;grid-row:1;align-self:center}.status-navigation b{grid-column:1/-1;grid-row:2;justify-self:center;font-size:13px;line-height:1}.admin-drawer{padding:0}.admin-drawer .admin-panel{width:100%;height:100%;max-height:none;border:0}.join-form{grid-template-columns:1fr}.join-form .join-role,.join-form .join-note,.join-form .join-guest,.join-form .primary-button,.join-form .ghost-button{grid-column:1}}
@media(max-width:620px){.join-form .participant-remove-actions{display:flex;width:100%;flex-direction:column;align-items:stretch;gap:10px}.join-form .participant-remove-actions[hidden]{display:none}.join-form .participant-remove-actions .ghost-button{flex:none;width:100%;min-width:0}}

/* 1.4.6: gemeinsamer Zugang und klarer Wechsel Booking / Fahrtenplan */
.app-header{grid-template-columns:max-content auto minmax(0,1fr) auto auto;gap:clamp(14px,1.5vw,28px)}
.system-switches{display:flex;align-items:center;gap:14px;white-space:nowrap}
.system-switches a{display:flex;align-items:center;justify-content:center;min-width:122px;min-height:34px;padding:8px 14px;border:1px solid rgba(151,158,84,.42);background:rgba(151,158,84,.13);color:var(--muted);font:400 12px/1 var(--display);letter-spacing:.065em;text-decoration:none;text-transform:uppercase}
.system-switches a:hover{border-color:var(--olive);color:var(--cream)}.system-switches a.active{border-color:var(--olive);background:var(--olive);color:var(--night);font-family:var(--display);font-weight:600;letter-spacing:.065em}
.mobile-system-switches{display:none}.nav-separator{align-self:stretch;width:1px;min-height:32px;background:rgba(97,102,91,.55)}
.login-system-header{display:flex;align-items:center;justify-content:center;min-height:84px;padding:14px 24px;border-bottom:1px solid rgba(97,102,91,.55);background:rgba(13,22,17,.98)}.login-system-header .system-switches a{min-width:155px}
.login-hero{min-height:calc(100svh - 84px)}.login-wrap{min-height:calc(100svh - 84px)}
.audit-controls select option{background:var(--panel);color:var(--cream)}.audit-month>summary strong{text-transform:none}
@media(min-width:901px) and (max-width:1500px){.app-header{gap:12px}.system-switches{gap:8px}.system-switches a{min-width:100px;padding-inline:9px;font-size:10px}.main-nav{gap:12px}.main-nav a,.main-nav>button,.main-nav form button{font-size:11px;letter-spacing:.05em}.header-user-name{min-width:112px;padding-left:14px}}
@media(max-width:900px){.app-header{grid-template-columns:1fr auto auto auto}.app-header>.system-switches{display:none}.mobile-system-switches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:18px;border-bottom:1px solid rgba(97,102,91,.55)}.mobile-system-switches a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px;border:1px solid rgba(151,158,84,.42);background:rgba(151,158,84,.13);font-size:15px;text-decoration:none}.mobile-system-switches a.active{background:var(--olive);color:var(--night);font-family:var(--display);font-weight:600;letter-spacing:.065em}.nav-separator{width:100%;height:1px;min-height:1px;margin-top:14px}.login-system-header{min-height:70px}.login-hero,.login-wrap{min-height:calc(100svh - 70px)}}
@media(max-width:430px){.login-system-header{padding-inline:16px}.login-system-header .system-switches{width:100%;gap:8px}.login-system-header .system-switches a{min-width:0;flex:1;padding-inline:8px}}

/* Mobiles Hauptmenü zuverlässig oberhalb des Seiteninhalts öffnen. */
@media(max-width:900px){
  .app-header{z-index:90;overflow:visible;isolation:isolate}
  .main-nav{position:absolute;z-index:91;top:100%;right:0;bottom:auto;left:0;max-height:calc(100svh - 84px);opacity:0;pointer-events:none;transform:translateY(-10px);transition:transform .2s ease,opacity .2s ease,visibility 0s linear .2s}
  .main-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible;transition-delay:0s}
}
@media(max-width:620px){.main-nav{max-height:calc(100svh - 70px)}}

/* Admin und Historie als getrennte Lightboxen. */
.admin-layout-single{grid-template-columns:minmax(0,1fr)}
.history-drawer .history-content{padding-top:34px}.history-drawer .audit-history{max-width:none}
.nav-group{position:relative;display:flex;align-items:center}.main-nav .nav-primary{position:relative;padding:12px 18px 12px 0;border:0;background:transparent;color:var(--muted);font:400 14px/1 var(--display);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.main-nav .nav-primary:hover,.nav-group.open>.nav-primary{color:var(--cream)}.nav-group.open>.nav-primary::after{content:"";position:absolute;right:18px;bottom:1px;left:0;height:1px;background:var(--olive)}.nav-dropdown-toggle{position:absolute;right:-3px;width:20px;height:34px;padding:0;border:0;background:transparent;color:var(--muted);cursor:pointer}.nav-dropdown-toggle span{display:block;width:7px;height:7px;margin:auto;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s}.nav-group.open .nav-dropdown-toggle span{transform:translateY(2px) rotate(225deg)}.nav-dropdown{position:absolute;z-index:100;top:calc(100% + 1px);left:-16px;display:grid;min-width:230px;padding:10px;border:1px solid rgba(97,102,91,.75);background:#111e17;box-shadow:0 18px 35px rgba(0,0,0,.42);opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-5px);transition:opacity .16s,transform .16s,visibility 0s linear .16s}.nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown,.nav-group.open>.nav-dropdown{opacity:1;pointer-events:auto;visibility:visible;transform:translateY(0);transition-delay:0s}.main-nav .nav-dropdown button{display:flex;align-items:center;min-height:42px;width:100%;padding:10px 12px;border:0;background:transparent;color:var(--muted);font:400 13px/1.15 var(--display);letter-spacing:.055em;text-align:left;text-transform:uppercase;cursor:pointer}.main-nav .nav-dropdown button:hover,.main-nav .nav-dropdown button:focus-visible{background:rgba(144,148,83,.14);color:var(--cream);outline:0}
@media(max-width:900px){.nav-group{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 54px}.nav-group>.nav-primary{display:flex;grid-column:1;grid-row:1;align-items:center;min-height:60px;padding:12px 0;border-bottom:1px solid rgba(97,102,91,.55);font-size:19px}.nav-group.open>.nav-primary::after{display:none}.nav-dropdown-toggle{position:static;display:grid;grid-column:2;grid-row:1;place-items:center;width:54px;height:60px;border-bottom:1px solid rgba(97,102,91,.55);color:var(--olive)}.nav-dropdown-toggle span{width:9px;height:9px}.nav-dropdown{position:static;grid-column:1/-1;display:none;min-width:0;padding:5px 0 10px 18px;border:0;border-bottom:1px solid rgba(97,102,91,.55);background:rgba(144,148,83,.07);box-shadow:none;opacity:1;pointer-events:auto;visibility:visible;transform:none;transition:none}.nav-group:hover>.nav-dropdown,.nav-group:focus-within>.nav-dropdown{display:none}.nav-group.open>.nav-dropdown{display:grid}.main-nav .nav-dropdown button{min-height:48px;padding:9px 14px;border-bottom:0;font-size:16px}}

/* In allen Lightboxen bleibt der Kopfbereich sichtbar; nur der Inhalt darunter scrollt. */
.trip-modal-panel,.calendar-panel,.profile-drawer .drawer-panel,.admin-drawer .admin-panel{display:flex;flex-direction:column;overflow:hidden}
.modal-heading,.calendar-hero,.profile-hero,.workspace-hero{flex:0 0 auto}
.trip-modal .trip-content,.calendar-scroll-content,.profile-content,.admin-content{flex:1 1 auto;min-height:0;overflow:auto}
@media(max-width:900px){.admin-drawer .admin-panel{padding:0}.admin-content{padding:26px}}
@media(max-width:620px){.admin-content{padding:24px 20px 36px}.workspace-hero{padding:28px 70px 24px 20px}}

/* Mehrtägige Einteilung: Aktionszeile auf dem Desktop vollständig einzeilig */
@media(min-width:1251px){
  .join-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
  .join-form .join-member{flex:0 0 100%}
  .join-form .join-role{flex:0 0 165px}
  .join-form .join-note{flex:1 1 120px;min-width:100px}
  .join-form .join-guest{flex:0 1 210px;min-width:180px}
  .join-form .primary-button{flex:0 0 220px}
  .join-form .participant-remove-actions{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-start}
  .join-form .participant-remove-actions .ghost-button{flex:0 0 auto;min-width:176px}
}
