
#spv1231-calendar,
#spv1231-admin-calendar{
  max-width:1200px;
  margin:20px auto;
  min-height:360px;
  overflow:hidden; /* wichtig */
}

.spv1231-month-grid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr)); /* verhindert overflow */
  gap:10px;
}
.spv1231-nav{
  margin:10px 0 16px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.spv1231-nav button,
.spv1231-toolbar select{
  padding:8px 14px;
  border-radius:999px;
  border:2px solid #84c400;
  background:#fff;
  font-size:14px;
  line-height:1;
  height:40px;
  min-width:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-sizing:border-box;
}

.spv1231-nav .spv1231-title{
  font-weight:700;
  margin-left:auto;
}
.spv1231-occupancy-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:16px;
}

.spv1231-col{
  background:#f7f7f7;
  border-radius:10px;
  padding:10px;
  min-width:0;
}

.spv1231-analytics-chart{
  width:100%;
  height:320px;
  display:block;
  background:#fff;
  border-radius:12px;
}
.spv1231-card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.10);margin:20px 0}
.spv1231-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.spv1231-head{font-weight:700;text-align:center;padding:8px}
.spv1231-day-cell{min-height:120px;background:#f8fafc;border-radius:12px;padding:8px;border:1px solid #e5e7eb}
.spv1231-day-cell.is-muted{opacity:.55}
.spv1231-day-num{font-weight:700;margin-bottom:8px}
.spv1231-mini-event,.spv1231-event{background:#fff;border-left:6px solid #84c400;border-radius:8px;padding:8px 10px;margin-bottom:8px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.spv1231-mini-event{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spv1231-home-event{box-shadow:0 0 0 2px rgba(132,196,0,.35) inset}
.spv1231-list-wrap{display:grid;grid-template-columns:repeat(7,1fr);gap:16px}
.spv1231-list-day{background:#f8fafc;border-radius:12px;padding:12px}
.spv1231-list-day h4{margin:0 0 10px}
.spv1231-list-all{display:grid;gap:12px}
.spv1231-event strong{display:block}
.spv1231-event span,.spv1231-event small{display:block;color:#475569}
.spv1231-add-btn{margin:0 0 10px;padding:8px 12px;border-radius:999px;border:2px solid #84c400;background:#fff}
.spv1231-empty{color:#64748b;font-style:italic}
.spv1231-occupancy-grid,.spv1231-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.spv1231-col,.spv1231-stat-card{background:#f7f7f7;border-radius:10px;padding:10px}
.spv1231-item{background:#fff;padding:10px;margin-bottom:8px;border-left:6px solid #84c400;border-radius:8px}
.spv1231-free{color:#4b7d00;font-weight:bold}
.spv1231-table{width:100%;border-collapse:collapse}
.spv1231-table th,.spv1231-table td{border:1px solid #e5e7eb;padding:10px;text-align:left}
.spv1231-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.spv1231-form input,.spv1231-form select,.spv1231-form textarea{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:12px;border:1px solid #d1d5db;font:inherit;background:#fff}
.spv1231-form textarea,.spv1231-form select,.spv1231-form button{grid-column:1 / -1}
.spv1231-form button{background:#84c400;color:#fff;border:none;padding:12px 18px;border-radius:999px;font-weight:700;cursor:pointer;width:auto;justify-self:start}
.spv1231-success{background:#eef8db;color:#4b7d00;border-radius:12px;padding:12px 16px;margin:16px 0}
.spv1231-stat-card{border-top:6px solid #84c400;display:flex;flex-direction:column;gap:6px}
.spv1231-analytics-chart{width:100%;max-width:100%;height:auto;margin-bottom:20px;background:#fff;border-radius:12px}
@media (max-width:1100px){.spv1231-list-wrap,.spv1231-occupancy-grid,.spv1231-stats-grid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.spv1231-month-grid{grid-template-columns:repeat(2,1fr)}.spv1231-list-wrap,.spv1231-occupancy-grid,.spv1231-stats-grid,.spv1231-form{grid-template-columns:1fr}.spv1231-nav .spv1231-title{width:100%;margin-left:0}}
