:root{--nc-bg:#07111d;--nc-panel:#101e2c;--nc-panel-2:#162738;--nc-line:rgba(255,255,255,.12);--nc-text:#eff8ff;--nc-muted:#9cb2c4;--nc-cyan:#20c9f3;--nc-lime:#9edb32;--nc-yellow:#ffd338;--nc-radius:20px;--nc-shadow:0 24px 70px rgba(0,0,0,.28);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}.nc-body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(32,201,243,.16),transparent 34%),radial-gradient(circle at 90% 20%,rgba(158,219,50,.1),transparent 30%),var(--nc-bg);color:var(--nc-text);font:16px/1.55 Inter,ui-sans-serif,system-ui,sans-serif}.nc-body button,.nc-body input,.nc-body select{font:inherit}.nc-body a{color:inherit}.nc-sitebar{height:64px;padding:0 max(1rem,calc((100vw - 1440px)/2));display:flex;align-items:center;gap:1.4rem;border-bottom:1px solid var(--nc-line);background:rgba(7,17,29,.86);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.nc-sitebar a{text-decoration:none;font-weight:700}.nc-sitebar a:first-child{color:var(--nc-cyan);margin-right:auto}.nc-calendar-shell,.nc-detail{width:min(1440px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.nc-hero{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;padding:2rem;border:1px solid var(--nc-line);border-radius:28px;background:linear-gradient(145deg,rgba(22,39,56,.96),rgba(11,25,38,.95));box-shadow:var(--nc-shadow)}.nc-kicker{margin:0 0 .4rem;color:var(--nc-cyan);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.nc-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:0 0 .8rem}.nc-hero p{margin:0;color:var(--nc-muted);max-width:760px}.nc-export,.nc-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1rem;border-radius:14px;text-decoration:none;background:var(--nc-cyan);color:#06131d!important;font-weight:850;border:1px solid transparent;white-space:nowrap}.nc-export:hover,.nc-button:hover{filter:brightness(1.08);transform:translateY(-1px)}.nc-toolbar{margin-top:1rem;display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.2rem;border:1px solid var(--nc-line);border-radius:var(--nc-radius);background:rgba(16,30,44,.88)}.nc-toolbar h2{text-align:center;margin:0;font-size:1.25rem;text-transform:capitalize}.nc-navigation{display:flex;gap:.45rem}.nc-navigation button,.nc-view-switch button,.nc-day-number,.nc-week-head,.nc-mini-title,.nc-mini-day,.nc-more{border:1px solid var(--nc-line);background:var(--nc-panel-2);color:var(--nc-text);border-radius:11px;cursor:pointer}.nc-navigation button{min-width:44px;height:42px;padding:0 .8rem;font-weight:750}.nc-filters label{display:flex;gap:.5rem;align-items:center;color:var(--nc-muted);font-size:.9rem}.nc-filters select{min-width:190px;background:#0b1926;color:var(--nc-text);border:1px solid var(--nc-line);border-radius:10px;padding:.65rem}.nc-view-switch{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.nc-view-switch button{padding:.65rem 1rem;font-weight:750}.nc-view-switch button.is-active{background:var(--nc-cyan);border-color:var(--nc-cyan);color:#06131d}.nc-status{min-height:1.5rem;color:var(--nc-muted);font-size:.9rem;margin:.5rem 0}.nc-view{min-height:420px}.nc-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--nc-line);border-radius:var(--nc-radius);overflow:hidden;background:var(--nc-panel);box-shadow:var(--nc-shadow)}.nc-weekday{padding:.75rem;text-align:center;color:var(--nc-muted);font-weight:800;font-size:.85rem;border-bottom:1px solid var(--nc-line);background:#0b1926}.nc-day-cell{min-height:150px;padding:.55rem;border-right:1px solid var(--nc-line);border-bottom:1px solid var(--nc-line);background:rgba(16,30,44,.8);overflow:hidden}.nc-day-cell:nth-child(7n+7){border-right:0}.nc-day-cell.is-outside{opacity:.45;background:#0a1622}.nc-day-cell.is-today{box-shadow:inset 0 0 0 2px var(--nc-cyan)}.nc-day-number{width:34px;height:34px;padding:0;font-weight:850}.nc-day-cell.is-today .nc-day-number{background:var(--nc-cyan);color:#06131d;border-color:var(--nc-cyan)}.nc-day-events{display:grid;gap:.35rem;margin-top:.45rem}.nc-event{--event-color:#20c9f3;--event-text:#08111f;position:relative;display:grid;gap:.15rem;padding:.75rem .8rem .75rem 1rem;border:1px solid color-mix(in srgb,var(--event-color) 45%,transparent);border-radius:13px;background:color-mix(in srgb,var(--event-color) 13%,var(--nc-panel-2));text-decoration:none;overflow:hidden}.nc-event::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--event-color)}.nc-event:hover{border-color:var(--event-color);transform:translateY(-1px)}.nc-event-compact{padding:.38rem .45rem .38rem .65rem;border-radius:8px;gap:0}.nc-event-time{font-size:.75rem;color:var(--nc-muted)}.nc-event-title{font-size:.9rem;line-height:1.25}.nc-event-location{font-size:.8rem;color:var(--nc-muted)}.nc-more{padding:.35rem;font-size:.78rem;color:var(--nc-cyan)}.nc-week-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.nc-week-column{min-height:440px;border:1px solid var(--nc-line);border-radius:var(--nc-radius);background:var(--nc-panel);padding:.65rem;display:flex;flex-direction:column;gap:.6rem}.nc-week-column.is-today{box-shadow:inset 0 0 0 2px var(--nc-cyan)}.nc-week-head{padding:.7rem;display:flex;justify-content:space-between;align-items:center;text-transform:capitalize}.nc-week-head strong{font-size:1.3rem;color:var(--nc-cyan)}.nc-empty{color:var(--nc-muted);font-size:.85rem;text-align:center;margin:auto}.nc-day-view,.nc-list-view{display:grid;gap:.75rem}.nc-day-view .nc-event{padding:1rem 1rem 1rem 1.2rem}.nc-empty-card{padding:3rem;text-align:center;border:1px dashed var(--nc-line);border-radius:var(--nc-radius);background:rgba(16,30,44,.65);color:var(--nc-muted)}.nc-agenda-group{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:1rem;padding:1rem;border:1px solid var(--nc-line);border-radius:var(--nc-radius);background:var(--nc-panel)}.nc-agenda-group h3{margin:.35rem 0;text-transform:capitalize}.nc-agenda-items{display:grid;gap:.6rem}.nc-year-grid{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:1rem}.nc-mini-month{border:1px solid var(--nc-line);border-radius:var(--nc-radius);background:var(--nc-panel);padding:.8rem}.nc-mini-title{width:100%;padding:.6rem;text-transform:capitalize;font-weight:850;color:var(--nc-cyan)}.nc-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.2rem;margin-top:.5rem}.nc-mini-weekday{text-align:center;color:var(--nc-muted);font-size:.7rem}.nc-mini-day{position:relative;aspect-ratio:1;padding:0;font-size:.78rem}.nc-mini-day.is-outside{opacity:.25}.nc-mini-day.has-events{border-color:var(--nc-cyan);color:var(--nc-cyan);font-weight:850}.nc-mini-day.has-events::after{content:attr(data-count);position:absolute;right:-4px;top:-5px;min-width:14px;height:14px;padding:0 2px;border-radius:8px;background:var(--nc-yellow);color:#08111f;font-size:.58rem;line-height:14px}.nc-legend{margin-top:1rem;padding:1.1rem 1.3rem;border:1px solid var(--nc-line);border-radius:var(--nc-radius);background:rgba(16,30,44,.75)}.nc-legend h2{font-size:1rem;margin:0 0 .7rem}.nc-legend-items{display:flex;flex-wrap:wrap;gap:.7rem 1.2rem}.nc-legend-items span{display:flex;align-items:center;gap:.45rem;color:var(--nc-muted)}.nc-legend-items i,.nc-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.nc-detail{max-width:920px}.nc-back{display:inline-block;margin:1rem 0;text-decoration:none;color:var(--nc-cyan)!important}.nc-detail-card{--nc-accent:#20c9f3;position:relative;padding:clamp(1.4rem,4vw,3rem);border:1px solid var(--nc-line);border-radius:28px;background:linear-gradient(145deg,var(--nc-panel-2),var(--nc-panel));box-shadow:var(--nc-shadow);overflow:hidden}.nc-detail-card::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:var(--nc-accent)}.nc-detail-category{display:flex;align-items:center;gap:.5rem;color:var(--nc-muted);font-weight:750}.nc-detail-card h1{font-size:clamp(2rem,5vw,4rem);line-height:1.06;margin:.7rem 0 1.5rem}.nc-detail-card dl{display:grid;gap:.65rem;margin:0 0 1.5rem}.nc-detail-card dl div{display:grid;grid-template-columns:110px 1fr;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--nc-line)}.nc-detail-card dt{color:var(--nc-muted)}.nc-detail-card dd{margin:0;font-weight:700}.nc-description{font-size:1.05rem;line-height:1.8}.nc-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}.nc-button-secondary{background:transparent;border-color:var(--nc-line);color:var(--nc-text)!important}.nc-body button:focus-visible,.nc-body a:focus-visible,.nc-body select:focus-visible,.nc-body input:focus-visible{outline:3px solid var(--nc-yellow);outline-offset:3px}
@media(max-width:1000px){.nc-year-grid{grid-template-columns:repeat(2,minmax(260px,1fr))}.nc-toolbar{grid-template-columns:1fr auto}.nc-toolbar h2{grid-column:1/-1;grid-row:1}.nc-navigation{grid-row:2}.nc-filters{grid-row:2}.nc-day-cell{min-height:120px}.nc-event-location{display:none}}
@media(max-width:720px){.nc-calendar-shell,.nc-detail{width:min(100% - 1rem,1440px);padding-top:.75rem}.nc-hero{align-items:flex-start;flex-direction:column;padding:1.3rem}.nc-export{width:100%}.nc-toolbar{grid-template-columns:1fr;padding:.8rem}.nc-toolbar h2,.nc-navigation,.nc-filters{grid-column:1;grid-row:auto}.nc-navigation{justify-content:center}.nc-filters label{display:grid}.nc-filters select{width:100%}.nc-view-switch{display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem}.nc-view-switch button{padding:.55rem .2rem;font-size:.8rem}.nc-month-grid{overflow-x:auto;grid-template-columns:repeat(7,minmax(115px,1fr))}.nc-weekday{position:sticky;top:0}.nc-day-cell{min-height:110px}.nc-year-grid{grid-template-columns:1fr}.nc-agenda-group{grid-template-columns:1fr}.nc-sitebar{height:56px}.nc-detail-card dl div{grid-template-columns:1fr;gap:.2rem}.nc-detail-card{border-radius:20px}}

/* Nova 1.0.12: robuste responsive Einbettung in CMS-Templates */
.nc-body,
.nc-calendar-shell,
.nc-detail,
.nc-hero,
.nc-toolbar,
.nc-view,
.nc-month-grid,
.nc-week-grid,
.nc-year-grid,
.nc-agenda-group,
.nc-detail-card{
  min-width:0;
  max-width:100%;
}
.nc-body{
  width:100%;
  overflow-x:clip;
}
.nc-calendar-shell,
.nc-detail{
  box-sizing:border-box;
}
.nc-hero > *,
.nc-toolbar > *,
.nc-agenda-group > *,
.nc-detail-card > *{
  min-width:0;
}
.nc-hero h1,
.nc-hero p,
.nc-toolbar h2,
.nc-event-title,
.nc-event-location,
.nc-description,
.nc-detail-card h1,
.nc-detail-card dd{
  overflow-wrap:anywhere;
  word-break:normal;
}
.nc-view{
  width:100%;
  overflow:hidden;
}
.nc-week-grid{
  width:100%;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:720px){
  .nc-body{
    font-size:15px;
  }
  .nc-calendar-shell,
  .nc-detail{
    width:100%;
    margin:0;
    padding:.5rem .5rem 2rem;
  }
  .nc-hero{
    gap:1rem;
    padding:1rem;
    border-radius:18px;
  }
  .nc-hero h1{
    font-size:clamp(1.65rem,8vw,2.35rem);
    line-height:1.08;
  }
  .nc-hero p{
    font-size:.94rem;
  }
  .nc-export{
    min-height:44px;
    padding:.7rem .75rem;
    white-space:normal;
    text-align:center;
  }
  .nc-toolbar{
    width:100%;
    gap:.7rem;
    padding:.75rem;
    border-radius:16px;
  }
  .nc-toolbar h2{
    order:-1;
    font-size:1.1rem;
  }
  .nc-navigation{
    width:100%;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:.45rem;
  }
  .nc-navigation button{
    width:100%;
    min-width:0;
    padding:0 .45rem;
  }
  .nc-filters,
  .nc-filters label,
  .nc-filters select{
    width:100%;
    min-width:0;
  }
  .nc-view-switch{
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.4rem;
  }
  .nc-view-switch button{
    min-width:0;
    padding:.6rem .3rem;
    font-size:.82rem;
  }
  .nc-month-grid{
    width:100%;
    grid-template-columns:repeat(7,minmax(0,1fr));
    overflow:hidden;
    border-radius:14px;
  }
  .nc-weekday{
    min-width:0;
    padding:.45rem .1rem;
    font-size:.65rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
  }
  .nc-day-cell{
    min-width:0;
    min-height:76px;
    padding:.2rem;
  }
  .nc-day-number{
    width:26px;
    height:26px;
    font-size:.75rem;
    border-radius:8px;
  }
  .nc-day-events{
    gap:.15rem;
    margin-top:.2rem;
  }
  .nc-event-compact{
    min-width:0;
    padding:.22rem .15rem .22rem .3rem;
    border-radius:5px;
  }
  .nc-event-compact::before{
    width:3px;
  }
  .nc-event-compact .nc-event-time,
  .nc-event-compact .nc-event-location{
    display:none;
  }
  .nc-event-compact .nc-event-title{
    display:block;
    max-width:100%;
    font-size:.58rem;
    line-height:1.1;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .nc-more{
    width:100%;
    min-width:0;
    padding:.15rem .05rem;
    font-size:.58rem;
    white-space:nowrap;
    overflow:hidden;
  }
  .nc-week-grid{
    grid-template-columns:repeat(7,minmax(82vw,1fr));
    gap:.5rem;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  .nc-week-column{
    min-width:0;
    min-height:360px;
    scroll-snap-align:start;
  }
  .nc-year-grid{
    width:100%;
    grid-template-columns:1fr;
  }
  .nc-mini-month{
    min-width:0;
  }
  .nc-agenda-group{
    width:100%;
    padding:.75rem;
  }
  .nc-empty-card{
    padding:1.5rem .8rem;
  }
  .nc-legend{
    padding:.85rem;
  }
  .nc-detail-card{
    width:100%;
    padding:1rem;
  }
}

@media(max-width:390px){
  .nc-calendar-shell,
  .nc-detail{
    padding-left:.3rem;
    padding-right:.3rem;
  }
  .nc-view-switch{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .nc-weekday{
    font-size:.58rem;
  }
  .nc-day-cell{
    min-height:68px;
  }
  .nc-event-compact .nc-event-title{
    font-size:.54rem;
  }
}
