*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0d0f12;color:#f5f5f5}a{color:inherit}header{padding:42px max(22px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:25px;align-items:flex-end;background:linear-gradient(135deg,#171a1f,#090a0c);border-bottom:1px solid #2b2f36}header h1{font-size:clamp(32px,5vw,58px);margin:8px 0}header p{color:#aeb4bd;margin:0}.badge{font-weight:800;color:#ffb000;letter-spacing:.08em}nav{display:flex;gap:10px;flex-wrap:wrap}nav a,.button,.actions a{background:#252a31;text-decoration:none;padding:11px 15px;border-radius:12px;font-weight:700}.admin,.button,.actions a{background:#e99b00!important;color:#111!important}.wrap{max-width:1180px;margin:auto;padding:32px 22px}.day{display:grid;grid-template-columns:95px 1fr;gap:22px;margin-bottom:38px}.datebox{background:#e99b00;color:#111;border-radius:18px;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center}.datebox strong{font-size:27px}.datebox span{font-weight:700}.day-content>h2{margin:4px 0 18px}.day-content h2 small{font-size:13px;color:#9ea5af;background:#22262c;padding:6px 9px;border-radius:20px;margin-left:8px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.event-card{background:#171a1f;border:1px solid #292e35;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:135px 1fr;min-height:210px}.flyer{width:135px;height:100%;object-fit:cover;background:#252a31}.placeholder{display:flex;align-items:center;justify-content:center;font-size:45px}.event-info{padding:18px}.event-info h3{font-size:22px;margin:7px 0}.event-info p{color:#c6cbd2;margin:7px 0}.event-info .club{color:#ffb000;font-weight:700}.time{font-weight:800}.actions{margin-top:15px}.actions a{display:inline-block}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#2b2518,#0b0d10 55%)}.login-card{width:min(420px,calc(100% - 35px));padding:38px;background:#171a1f;border:1px solid #343941;border-radius:24px;text-align:center;box-shadow:0 30px 80px #0008}.logo{font-size:55px}.login-card h1{font-size:34px;margin:8px}.login-card p{color:#aeb4bd}.login-card form{display:grid;gap:12px;margin-top:25px}input,textarea{width:100%;background:#0f1114;border:1px solid #343941;color:#fff;padding:14px;border-radius:11px;font:inherit}button{border:0;background:#e99b00;color:#111;padding:14px;border-radius:11px;font-weight:900;font-size:16px;cursor:pointer}.error,.success{padding:12px;border-radius:10px;margin:12px 0}.error{background:#5b2020}.success{background:#17472b}.back{display:block;margin-top:18px;color:#aeb4bd}.admin-wrap{max-width:900px}.form-card{background:#171a1f;border:1px solid #292e35;padding:22px;border-radius:20px}.ai-drop{padding:18px;border:1px dashed #e99b00;border-radius:14px;margin-bottom:22px;display:flex;flex-direction:column;gap:5px}.ai-drop span{color:#aeb4bd}.event-form{display:grid;gap:16px}.event-form label{font-weight:700;display:grid;gap:7px}.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.admin-list{display:grid;gap:10px}.admin-row{background:#171a1f;border:1px solid #292e35;border-radius:14px;padding:15px;display:flex;justify-content:space-between;align-items:center;gap:12px}.admin-row span{display:block;color:#aeb4bd;margin-top:5px}.danger{color:#ff7777}.empty{text-align:center;padding:70px 20px;background:#171a1f;border-radius:20px}.empty .button{display:inline-block;margin-top:15px}footer{text-align:center;color:#777;padding:35px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column;padding-top:28px}.day{grid-template-columns:1fr}.datebox{width:90px}.event-card{grid-template-columns:105px 1fr}.flyer{width:105px}.two{grid-template-columns:1fr}.day-content h2 small{display:inline-block;margin:8px 0 0}nav{width:100%}}
.admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-actions form{margin:0}.edit-link,.cancel-button{display:inline-block;text-decoration:none;background:#e99b00;color:#111;padding:10px 13px;border-radius:10px;font-weight:800}.danger-button{background:#4b2020;color:#ffb4b4;padding:10px 13px}.current-flyer{display:flex;gap:14px;align-items:center;background:#0f1114;border:1px solid #343941;border-radius:12px;padding:12px}.current-flyer img{width:90px;height:110px;object-fit:cover;border-radius:8px}.checkline{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;margin-top:10px;font-weight:500!important}.checkline input{width:auto}.flyer-link{display:block;background:#252a31}.flyer-link .flyer{display:block}.cancel-button{text-align:center;background:#252a31;color:#fff}@media(max-width:700px){.admin-row{align-items:flex-start;flex-direction:column}.admin-actions{width:100%}.admin-actions a,.admin-actions form,.admin-actions button{width:100%}.edit-link,.danger-button{text-align:center}}


/* Monatsansicht + App-Installation */
.view-active{background:#fff!important;color:#111!important}
.install-app{background:#252a31!important;color:#fff!important;padding:11px 15px!important;border-radius:12px!important;font-weight:800!important;font-size:inherit!important}
.install-app:hover{background:#343a43!important}
.recurrence-badge{display:inline-block!important;margin:0 0 10px!important;padding:5px 9px!important;border-radius:999px!important;background:#3b2b00!important;color:#ffb000!important;font-weight:700!important;font-size:.9rem!important}

.month-panel{background:#121519;border:1px solid #292e35;border-radius:22px;padding:20px}
.month-toolbar{display:grid;grid-template-columns:52px 1fr 52px;gap:14px;align-items:center;text-align:center;margin-bottom:18px}
.month-toolbar h2{font-size:clamp(24px,4vw,38px);margin:0}
.month-nav{height:48px;display:grid;place-items:center;text-decoration:none;background:#252a31;border-radius:14px;font-size:34px;font-weight:500}
.today-link{display:inline-block;margin-top:6px;color:#ffb000;text-decoration:none;font-weight:800;font-size:14px}
.calendar-scroll{overflow-x:auto;border:1px solid #292e35;border-radius:16px;background:#0d0f12}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}
.calendar-head{background:#20242a;color:#aeb4bd;font-weight:900;text-align:center}
.calendar-head>div{padding:11px 5px;border-right:1px solid #343941}
.calendar-head>div:last-child{border-right:0}
.calendar-day{min-height:135px;padding:9px;border-right:1px solid #292e35;border-bottom:1px solid #292e35;background:#15181d}
.calendar-day:nth-child(7n){border-right:0}
.calendar-day-number{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:900;margin-bottom:7px}
.calendar-day.outside-month{background:#0f1114;color:#666}
.calendar-day.outside-month .calendar-event{opacity:.45}
.calendar-day.is-today .calendar-day-number{background:#e99b00;color:#111}
.calendar-events{display:grid;gap:5px}
.calendar-event{display:block;text-decoration:none;background:#2b2415;border-left:3px solid #e99b00;border-radius:7px;padding:6px 7px;overflow:hidden}
.calendar-event span{display:block;color:#ffb000;font-size:11px;font-weight:900}
.calendar-event strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-event:hover{background:#3a301b}
.month-hint{text-align:center;color:#8e959f;margin:14px 0 0;font-size:13px}

.install-help{position:fixed;inset:0;z-index:9999;background:#000b;display:grid;place-items:center;padding:20px}
.install-help[hidden]{display:none!important}
.install-help-card{position:relative;width:min(440px,100%);background:#171a1f;border:1px solid #343941;border-radius:22px;padding:28px;box-shadow:0 30px 90px #000c}
.install-help-card h2{margin:5px 0 14px}
.install-help-card p,.install-help-card li{color:#c6cbd2;line-height:1.5}
.install-help-card ol{padding-left:22px}
.install-icon{font-size:42px}
.install-close{position:absolute;right:12px;top:10px;width:42px;height:42px;padding:0!important;border-radius:50%!important;background:#252a31!important;color:#fff!important;font-size:28px!important;line-height:1!important}

.event-card:target{outline:3px solid #e99b00;box-shadow:0 0 0 5px #e99b0033}

@media(max-width:700px){
  .install-app{width:100%}
  .month-panel{padding:12px}
  .calendar-grid{grid-template-columns:repeat(7,minmax(92px,1fr));min-width:644px}
  .calendar-day{min-height:112px;padding:6px}
  .calendar-event{padding:5px}
  .month-toolbar{grid-template-columns:46px 1fr 46px}
}


/* v4.7 Mobil: Monatsansicht zeigt direkt Donnerstag bis Sonntag */
@media(max-width:700px){
  .calendar-scroll{overflow-x:hidden}
  .calendar-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    min-width:0;
    width:100%;
  }

  /* Kopfzeile: Mo, Di, Mi ausblenden */
  .calendar-head>div:nth-child(1),
  .calendar-head>div:nth-child(2),
  .calendar-head>div:nth-child(3){
    display:none;
  }

  /* Jede Kalenderwoche: Montag, Dienstag, Mittwoch ausblenden */
  .calendar-body>.calendar-day:nth-child(7n+1),
  .calendar-body>.calendar-day:nth-child(7n+2),
  .calendar-body>.calendar-day:nth-child(7n+3){
    display:none;
  }

  .calendar-day{
    min-height:118px;
    padding:6px;
  }

  .calendar-event{
    padding:5px 4px;
  }

  .calendar-event span{
    font-size:10px;
  }

  .calendar-event strong{
    font-size:11px;
  }
}
