
.zr-bowling-series-dialog {
	border: 0;
	padding: 0;
	width: min(920px, calc(100vw - 24px));
	max-height: calc(100vh - 24px);
	border-radius: 20px;
	background: #f5f3ee;
	box-shadow: 0 24px 80px rgba(0,0,0,.3);
}
.zr-bowling-series-dialog::backdrop { background: rgba(15,18,18,.65); }
.zr-bs-card { margin:0; color:#202424; font:inherit; }
.zr-bs-card > header,
.zr-bs-card > footer {
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:18px 22px; background:#202425; color:#fff;
}
.zr-bs-card header small { color:#c9ad68; font-weight:600; letter-spacing:.08em; }
.zr-bs-card h2 { margin:2px 0 0; font-size:26px; font-weight:600; }
.zr-bs-close { border:1px solid #697071; background:transparent; color:inherit; border-radius:12px; padding:10px 16px; cursor:pointer; }
.zr-bs-body { padding:20px 22px; overflow:auto; max-height:calc(100vh - 190px); }
.zr-bs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.zr-bs-grid label { display:flex; flex-direction:column; gap:6px; font-weight:500; }
.zr-bs-grid label > span { font-size:13px; color:#6b7072; font-weight:600; }
.zr-bs-grid input,.zr-bs-grid select,.zr-bs-grid textarea {
	width:100%; box-sizing:border-box; padding:11px 12px; border:1px solid #d7d3ca; border-radius:10px;
	background:#fff; color:#202424; font:inherit;
}
.zr-bs-span2 { grid-column:span 2; }
.zr-bs-actions { display:flex; align-items:center; gap:16px; margin:18px 0 12px; }
.zr-bs-actions button,.zr-bs-primary,.zr-bs-secondary {
	border-radius:10px; border:1px solid #bab6ac; padding:11px 16px; font:inherit; cursor:pointer;
}
.zr-bs-actions button,.zr-bs-primary { background:#202425; color:#fff; border-color:#202425; }
.zr-bs-primary:disabled { opacity:.45; cursor:not-allowed; }
.zr-bs-secondary { background:#fff; color:#202424; }
.zr-bs-skip { display:flex; align-items:center; gap:8px; }
.zr-bs-preview { border:1px solid #ddd8cc; border-radius:12px; background:#fff; overflow:hidden; }
.zr-bs-summary { padding:12px 14px; border-bottom:1px solid #e9e5dc; }
.zr-bs-summary .ok { color:#39774a; } .zr-bs-summary .bad { color:#a43d31; }
.zr-bs-occurrences { max-height:260px; overflow:auto; }
.zr-bs-occurrences > div {
	display:grid; grid-template-columns:28px 150px 80px 1fr; gap:8px; align-items:center;
	padding:9px 12px; border-bottom:1px solid #eeeae2;
}
.zr-bs-occurrences .is-conflict { background:#fff2ee; }
.zr-bs-occurrences em { font-style:normal; color:#74797b; font-size:13px; }
.zr-bs-status { margin-top:12px; min-height:22px; font-weight:500; }
@media (max-width:700px) {
	.zr-bs-grid { grid-template-columns:1fr; }
	.zr-bs-span2 { grid-column:auto; }
	.zr-bs-occurrences > div { grid-template-columns:28px 1fr; }
	.zr-bs-occurrences > div span:nth-child(3), .zr-bs-occurrences em { grid-column:2; }
}


/* 2.6.3 – Kegelbahn-Aktion sitzt ausschließlich in der oberen Toolbar. */
[data-zr-bowling-series-button] {
	flex: 0 0 auto;
}


/* 2.7.0 – Kegelbahn: Einmalbuchung + Monatskalender */
.zr-bs-tabs {
	display:flex;
	gap:6px;
	padding:10px 18px 0;
	background:#202425;
}
.zr-bs-tabs button {
	border:1px solid #5d6465;
	background:transparent;
	color:#d8dddd;
	padding:9px 14px;
	border-radius:10px 10px 0 0;
	font:inherit;
	cursor:pointer;
}
.zr-bs-tabs button.is-active {
	background:#f5f3ee;
	color:#202425;
	border-color:#f5f3ee;
}
.zr-bs-panel { display:none; }
.zr-bs-panel.is-active { display:block; }

.zr-bs-calendar-head {
	display:grid;
	grid-template-columns:48px 1fr 48px;
	align-items:center;
	gap:10px;
	padding:18px 20px 12px;
}
.zr-bs-calendar-head strong {
	text-align:center;
	font-size:22px;
	font-weight:600;
}
.zr-bs-calendar-head button {
	height:40px;
	border:1px solid #d1cdc4;
	background:#fff;
	border-radius:10px;
	font:inherit;
	cursor:pointer;
}
.zr-bs-calendar-weekdays,
.zr-bs-calendar {
	display:grid;
	grid-template-columns:repeat(7,minmax(0,1fr));
}
.zr-bs-calendar-weekdays {
	margin:0 20px;
	color:#737879;
	font-size:12px;
	font-weight:600;
	text-align:center;
}
.zr-bs-calendar {
	margin:8px 20px 18px;
	border-top:1px solid #d8d4cb;
	border-left:1px solid #d8d4cb;
	background:#fff;
}
.zr-bs-cal-day {
	min-height:115px;
	border-right:1px solid #d8d4cb;
	border-bottom:1px solid #d8d4cb;
	padding:6px;
	overflow:hidden;
}
.zr-bs-cal-day.is-empty {
	background:#f1efe9;
}
.zr-bs-cal-day.has-events {
	background:#fffdf7;
}
.zr-bs-cal-number {
	font-size:13px;
	font-weight:600;
	color:#555b5d;
	margin-bottom:5px;
}
.zr-bs-cal-events {
	display:flex;
	flex-direction:column;
	gap:4px;
}
.zr-bs-cal-event {
	display:block;
	width:100%;
	text-align:left;
	border:0;
	border-left:3px solid #b49142;
	border-radius:5px;
	background:#eee9dc;
	padding:4px 5px;
	font-size:11px;
	line-height:1.25;
	color:#262a2b;
	cursor:pointer;
	white-space:normal;
}
.zr-bs-cal-event.is-cancelled {
	opacity:.55;
	text-decoration:line-through;
}
.zr-bs-series-dot {
	float:right;
	font-weight:700;
}
.zr-bs-panel[data-bs-panel="calendar"] > .zr-bs-status {
	padding:0 20px 12px;
}
.zr-bs-panel[data-bs-panel="calendar"] footer {
	background:#f5f3ee;
	color:#202425;
	border-top:1px solid #d8d4cb;
}

@media (max-width:760px) {
	.zr-bs-calendar {
		overflow-x:auto;
		grid-template-columns:repeat(7,minmax(105px,1fr));
	}
	.zr-bs-calendar-weekdays {
		grid-template-columns:repeat(7,minmax(105px,1fr));
		overflow:hidden;
	}
	.zr-bs-cal-day { min-height:92px; }
}


/* 2.7.2 */
.zr-bs-open-ended {
	flex-direction:row !important;
	align-items:center;
	gap:10px !important;
	padding:10px 12px;
	border:1px solid #d7d3ca;
	border-radius:10px;
	background:#fff;
}
.zr-bs-open-ended input { width:auto !important; }
.zr-bs-open-ended span { display:flex; flex-direction:column; }
.zr-bs-open-ended small { color:#74797b; font-weight:400; }

.zr-bs-rollover {
	margin:14px 20px 4px;
	border:1px solid #e1b7c8;
	background:#fff3f8;
	border-radius:12px;
	padding:10px;
}
.zr-bs-rollover-item {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	padding:7px 4px;
}
.zr-bs-rollover-item span { display:flex; flex-direction:column; }
.zr-bs-rollover-item small { color:#777; }
.zr-bs-rollover-item button {
	border:0;
	background:#C2185B;
	color:#fff;
	border-radius:8px;
	padding:8px 11px;
	font:inherit;
	cursor:pointer;
}

.zr-bs-cal-event {
	border-left-color:#C2185B !important;
	background:#faeaf1 !important;
}


/* 2.8.1 – hidden muss auch gegen Grid/Flex-Regeln gewinnen. */
.zr-bowling-series-dialog [hidden] {
	display: none !important;
}

/* Kegelbahn-Tages-Timeline */
.zr-bs-timeline-toolbar {
	display:flex;
	align-items:center;
	gap:8px;
	padding:16px 20px 12px;
	flex-wrap:wrap;
}
.zr-bs-timeline-toolbar button,
.zr-bs-timeline-toolbar input {
	height:40px;
	border:1px solid #d3cfc6;
	border-radius:9px;
	background:#fff;
	padding:0 11px;
	font:inherit;
}
.zr-bs-day-timeline-wrap {
	margin:0 20px 18px;
	border:1px solid #d8d4cb;
	border-radius:12px;
	overflow:auto;
	background:#fff;
}
.zr-bs-day-timeline-hours {
	display:grid;
	background:#f2efe7;
	border-bottom:1px solid #d8d4cb;
}
.zr-bs-day-timeline-hours > div {
	border-right:1px solid #d8d4cb;
}
.zr-bs-day-timeline-hours span {
	padding:8px 4px;
	font-size:12px;
	font-weight:700;
	border-left:1px solid #ddd8cf;
}
.zr-bs-day-timeline {
	display:grid;
	grid-template-columns:150px 1fr;
	min-height:115px;
}
.zr-bs-day-timeline-label {
	display:flex;
	align-items:center;
	padding:14px;
	font-weight:700;
	background:#fff0f6;
	border-right:1px solid #d8d4cb;
	border-left:5px solid #C2185B;
}
.zr-bs-day-track {
	position:relative;
	min-height:115px;
	background-image:
		linear-gradient(to right, transparent calc(100% - 1px), #ece8df calc(100% - 1px));
	background-repeat: repeat-x;
}
.zr-bs-day-event {
	position:absolute;
	top:28px;
	height:60px;
	min-width:55px;
	overflow:hidden;
	border:0;
	border-left:5px solid #C2185B;
	border-radius:8px;
	background:#faeaf1;
	color:#202425;
	text-align:left;
	padding:6px 8px;
	cursor:pointer;
	box-shadow:0 2px 5px rgba(0,0,0,.08);
	display:flex;
	flex-direction:column;
}
.zr-bs-day-event strong {
	font-size:12px;
	white-space:nowrap;
}
.zr-bs-day-event span {
	font-size:13px;
	font-weight:600;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.zr-bs-day-event small {
	font-size:10px;
}
.zr-bs-day-event.is-cancelled {
	opacity:.45;
	text-decoration:line-through;
}
.zr-bs-day-now {
	position:absolute;
	top:0;
	bottom:0;
	width:2px;
	background:#e53935;
	z-index:5;
}
.zr-bs-day-now span {
	position:absolute;
	top:3px;
	left:5px;
	white-space:nowrap;
	background:#e53935;
	color:#fff;
	border-radius:5px;
	padding:2px 5px;
	font-size:10px;
	font-weight:700;
}
.zr-bs-panel[data-bs-panel="timeline"] > .zr-bs-status {
	padding:0 20px 12px;
}
.zr-bs-panel[data-bs-panel="timeline"] footer {
	background:#f5f3ee;
	color:#202425;
	border-top:1px solid #d8d4cb;
}


/* 2.8.2 – dynamischer Zeitbereich */
.zr-bs-day-timeline-hours span {
	min-width: 120px;
	box-sizing: border-box;
}
