/* RCFenek — rezerwacje. FAZA 5: kreator na froncie.
   Paleta industrial (tokeny --rc-*) z fallbackiem — blok działa też poza stroną
   rcfenek.pl, gdzie Customizer nie ustawia zmiennych globalnych. */

.rcf-booking {
	--rcf-dark: #0E0F11;
	--rcf-elev: #1A1C1F;
	--rcf-hazard: #F4C20D;
	--rcf-hazard-bright: #FFD93D;
	--rcf-neon: #22D3C5;
	--rcf-text: #E8E5DE;
	--rcf-mute: #B0936F;
	--rcf-line: rgba(244, 194, 13, 0.18);
	max-width: 980px;
	margin: 0 auto;
	color: var(--rcf-text);
	font-family: 'Inter', -apple-system, system-ui, sans-serif;
	text-align: left;
}

.rcf-booking *,
.rcf-booking *::before,
.rcf-booking *::after { box-sizing: border-box; }

.rcf-loading { padding: 40px; text-align: center; color: var(--rcf-mute); }
.rcf-empty,
.rcf-hint { color: var(--rcf-mute); font-size: 0.92rem; line-height: 1.6; }
.rcf-lead { color: var(--rcf-mute); line-height: 1.7; margin: 0 0 22px; }
.rcf-lead strong,
.rcf-hint strong { color: var(--rcf-text); }
.rcf-booking a { color: var(--rcf-hazard); }

.rcf-h2 {
	font-family: 'Bebas Neue', 'Oswald', sans-serif;
	font-weight: 400;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	line-height: 1;
	color: var(--rcf-text);
	margin: 0 0 14px;
}

/* --- pasek postępu --- */
.rcf-progress { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; }
.rcf-prog-step {
	display: inline-flex; align-items: center; gap: 8px;
	font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1.5px;
	text-transform: uppercase; color: var(--rcf-mute);
	padding: 7px 12px; border: 1px solid var(--rcf-line); border-radius: 2px;
}
.rcf-prog-step b {
	display: inline-flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 2px;
	background: rgba(244, 194, 13, 0.1); color: var(--rcf-hazard); font-size: 10px;
}
.rcf-prog-step.active { border-color: var(--rcf-hazard); color: var(--rcf-text); }
.rcf-prog-step.active b { background: var(--rcf-hazard); color: var(--rcf-dark); }
.rcf-prog-step.done b { background: var(--rcf-neon); color: var(--rcf-dark); }

/* --- kafle wyboru --- */
.rcf-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; margin-bottom: 26px; }
.rcf-card {
	display: flex; flex-direction: column; gap: 8px; text-align: left;
	background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-radius: 4px;
	padding: 24px 22px; cursor: pointer; transition: 0.25s; text-decoration: none; color: inherit;
	font: inherit;
}
.rcf-card:hover { border-color: var(--rcf-hazard); transform: translateY(-3px); box-shadow: 0 14px 40px rgba(244, 194, 13, 0.12); }
.rcf-card-ico { font-size: 32px; line-height: 1; }
.rcf-card-name { font-family: 'Bebas Neue', 'Oswald', sans-serif; font-weight: 400; font-size: 1.45rem; letter-spacing: 1px; text-transform: uppercase; }
.rcf-card-desc { font-size: 0.9rem; color: var(--rcf-mute); line-height: 1.5; }

/* --- lista pojazdów / wiersze --- */
.rcf-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.rcf-row {
	display: flex; align-items: center; gap: 16px;
	background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-radius: 4px; padding: 16px 20px;
}
.rcf-row.picked { border-color: var(--rcf-hazard); box-shadow: inset 3px 0 0 var(--rcf-hazard); }
.rcf-row-ico { font-size: 28px; line-height: 1; flex: 0 0 auto; }
.rcf-row-main { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; min-width: 0; }
.rcf-row-main strong { font-size: 1.02rem; }
.rcf-row-meta { font-size: 0.84rem; color: var(--rcf-mute); line-height: 1.5; }
.rcf-badge {
	align-self: flex-start; font-family: 'JetBrains Mono', monospace; font-size: 10px;
	letter-spacing: 1px; text-transform: uppercase; color: var(--rcf-hazard);
	border: 1px solid rgba(244, 194, 13, 0.4); border-radius: 2px; padding: 3px 7px; margin-top: 3px;
}

/* --- stepper --- */
.rcf-stepper { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; }
.rcf-stepper button {
	width: 40px; height: 40px; font-size: 20px; line-height: 1; cursor: pointer;
	background: transparent; color: var(--rcf-hazard);
	border: 1px solid var(--rcf-line); border-radius: 2px; transition: 0.2s;
}
.rcf-stepper button:hover { border-color: var(--rcf-hazard); background: rgba(244, 194, 13, 0.08); }
.rcf-stepper b { min-width: 34px; text-align: center; font-family: 'JetBrains Mono', monospace; font-size: 1.05rem; }

/* --- warianty czasu --- */
.rcf-times { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 20px; }
.rcf-time {
	display: flex; flex-direction: column; gap: 6px; text-align: left; cursor: pointer; font: inherit;
	background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-radius: 4px; padding: 18px 20px;
	color: var(--rcf-text); transition: 0.2s;
}
.rcf-time:hover { border-color: var(--rcf-hazard); }
.rcf-time.on { border-color: var(--rcf-hazard); box-shadow: inset 3px 0 0 var(--rcf-hazard); }
.rcf-time b { font-family: 'JetBrains Mono', monospace; font-size: 1.05rem; color: var(--rcf-hazard); }
.rcf-time span { font-size: 0.82rem; color: var(--rcf-mute); line-height: 1.5; }

/* Link-przycisk w tekście (np. „Cofnij" pod wybranym wariantem czasu). */
.rcf-booking .rcf-linkbtn {
	background: none; border: none; padding: 0; cursor: pointer; font: inherit;
	color: var(--rcf-hazard); text-decoration: underline;
}

/* Pasek „Twój zestaw" — na kroku wyboru czasu nie ma listy pojazdów, więc bez tego
   dobranie pojazdu z upsellu byłoby niewidoczne (klient klika i nic się nie zmienia). */
.rcf-mixbar {
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	background: rgba(244, 194, 13, 0.04); border: 1px solid var(--rcf-line);
	border-radius: 3px; padding: 12px 16px; margin-bottom: 18px;
}
.rcf-mixbar-l {
	font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px;
	text-transform: uppercase; color: var(--rcf-mute); margin-right: 4px;
}
.rcf-mixbar .rcf-chip {
	font-size: 0.92rem; color: var(--rcf-text);
	background: var(--rcf-elev); border: 1px solid var(--rcf-line);
	border-radius: 2px; padding: 6px 12px; transition: 0.3s;
}
.rcf-mixbar .rcf-chip.bump {
	border-color: var(--rcf-hazard); color: var(--rcf-hazard);
	box-shadow: 0 0 0 3px rgba(244, 194, 13, 0.15);
	animation: rcf-bump 0.35s ease-out;
}
@keyframes rcf-bump { from { transform: scale(0.9); } to { transform: scale(1); } }

/* --- upsell --- */
.rcf-upsell { margin-bottom: 20px; }
.rcf-upsell-in {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	background: rgba(34, 211, 197, 0.06); border: 1px solid rgba(34, 211, 197, 0.35);
	border-left: 3px solid var(--rcf-neon); border-radius: 3px; padding: 16px 20px;
}
.rcf-upsell-txt { flex: 1 1 240px; font-size: 0.94rem; line-height: 1.6; }

/* --- kalendarz --- */
.rcf-days { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.rcf-day {
	display: flex; flex-direction: column; align-items: center; gap: 2px; cursor: pointer; font: inherit;
	background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-radius: 3px;
	padding: 10px 14px; color: var(--rcf-text); transition: 0.2s; min-width: 68px;
}
.rcf-day:hover { border-color: var(--rcf-hazard); }
.rcf-day.on { border-color: var(--rcf-hazard); background: rgba(244, 194, 13, 0.1); }
.rcf-day b { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 1px; text-transform: uppercase; color: var(--rcf-mute); }
.rcf-day.on b { color: var(--rcf-hazard); }
.rcf-day span { font-size: 0.95rem; }

.rcf-hours { margin-bottom: 22px; }
.rcf-hour-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 8px; margin-bottom: 10px; }
.rcf-hour {
	cursor: pointer; font-family: 'JetBrains Mono', monospace; font-size: 0.95rem; padding: 12px 6px;
	background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-radius: 3px;
	color: var(--rcf-text); transition: 0.2s;
}
.rcf-hour:disabled { opacity: 0.3; cursor: not-allowed; text-decoration: line-through; }
.rcf-hour.free:hover { border-color: var(--rcf-hazard); }
.rcf-hour.on { border-color: var(--rcf-hazard); background: var(--rcf-hazard); color: var(--rcf-dark); font-weight: 700; }

/* --- podsumowanie --- */
.rcf-summary-box { background: var(--rcf-elev); border: 1px solid var(--rcf-line); border-left: 3px solid var(--rcf-hazard); border-radius: 4px; padding: 26px 28px; }
.rcf-sum-when { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--rcf-hazard); margin-bottom: 16px; }
.rcf-sum-lines { list-style: none; margin: 0 0 16px; padding: 0; }
.rcf-sum-lines li { display: flex; justify-content: space-between; gap: 14px; padding: 9px 0; border-bottom: 1px solid rgba(244, 194, 13, 0.08); font-size: 0.95rem; }
.rcf-sum-lines li span { font-family: 'JetBrains Mono', monospace; color: var(--rcf-hazard); white-space: nowrap; }
.rcf-sum-row { display: flex; justify-content: space-between; gap: 14px; padding: 7px 0; font-size: 0.92rem; color: var(--rcf-mute); }
.rcf-sum-row b { font-family: 'JetBrains Mono', monospace; color: var(--rcf-text); }
.rcf-sum-row.rcf-neg b { color: var(--rcf-neon); }
.rcf-sum-total { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--rcf-line); }
.rcf-sum-total span { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 2px; text-transform: uppercase; color: var(--rcf-mute); }
.rcf-sum-total b { font-family: 'JetBrains Mono', monospace; font-size: 1.7rem; color: var(--rcf-hazard); }

/* --- formularz --- */
.rcf-form { display: flex; flex-direction: column; gap: 16px; margin-bottom: 24px; }
.rcf-field { display: flex; flex-direction: column; gap: 6px; }
.rcf-field > span { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--rcf-mute); }
.rcf-field input,
.rcf-field textarea {
	width: 100%; background: var(--rcf-dark); color: var(--rcf-text);
	border: 1px solid var(--rcf-line); border-radius: 3px; padding: 13px 15px;
	font-family: inherit; font-size: 1rem;
}
.rcf-field input:focus,
.rcf-field textarea:focus { outline: none; border-color: var(--rcf-hazard); }
.rcf-booking .rcf-check { display: flex; align-items: flex-start; gap: 10px; font-size: 0.92rem; line-height: 1.6; color: var(--rcf-mute); }
.rcf-booking .rcf-check input { margin-top: 3px; flex: 0 0 auto; width: 18px; height: 18px; accent-color: var(--rcf-hazard); }

/* --- kontakt (typy bez rezerwacji online) --- */
.rcf-contact { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; margin-bottom: 24px; }
.rcf-contact-box {
	display: flex; flex-direction: column; gap: 6px; text-decoration: none;
	background: rgba(244, 194, 13, 0.04); border: 1px solid rgba(244, 194, 13, 0.16);
	border-radius: 3px; padding: 20px 22px;
}
.rcf-contact-box:hover { border-color: var(--rcf-hazard); }
.rcf-contact-box .k { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: var(--rcf-mute); }
.rcf-contact-box .v { font-family: 'JetBrains Mono', monospace; font-size: 1.2rem; font-weight: 700; color: var(--rcf-hazard); }
.rcf-contact-box .n { font-size: 0.84rem; color: var(--rcf-mute); }

/* --- potwierdzenie --- */
.rcf-done { text-align: center; }
.rcf-done .rcf-summary-box { text-align: left; }
.rcf-done-ico { font-size: 52px; line-height: 1; margin-bottom: 12px; }
.rcf-code {
	display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 1.9rem; font-weight: 700;
	letter-spacing: 3px; color: var(--rcf-hazard);
	border: 1px dashed rgba(244, 194, 13, 0.5); border-radius: 3px; padding: 12px 24px; margin: 0 0 12px;
}

/* --- przyciski --- */
.rcf-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 26px; }
.rcf-btn {
	font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 700; letter-spacing: 2px;
	text-transform: uppercase; padding: 16px 28px; border-radius: 2px; cursor: pointer;
	transition: 0.2s; border: 2px solid transparent; text-decoration: none; display: inline-flex;
	align-items: center; justify-content: center; gap: 10px;
}
.rcf-btn-sm { padding: 11px 18px; font-size: 12px; }
.rcf-btn-primary { background: var(--rcf-hazard); color: var(--rcf-dark); border-color: var(--rcf-hazard); }
.rcf-btn-primary:hover:not(:disabled) { background: var(--rcf-hazard-bright); border-color: var(--rcf-hazard-bright); transform: translateY(-2px); }
.rcf-btn-ghost { background: transparent; color: var(--rcf-text); border-color: var(--rcf-mute); }
.rcf-btn-ghost:hover { border-color: var(--rcf-hazard); color: var(--rcf-hazard); }
.rcf-btn:disabled { opacity: 0.4; cursor: not-allowed; transform: none; }
.rcf-btn-back { margin-top: 8px; }

/* --- ostrzeżenia --- */
.rcf-warn {
	background: rgba(244, 194, 13, 0.06); border: 1px solid rgba(244, 194, 13, 0.35);
	border-left: 3px solid var(--rcf-hazard); border-radius: 3px; padding: 14px 18px;
	font-size: 0.94rem; line-height: 1.6; margin-bottom: 18px;
}

/* --- modal kolizji --- */
.rcf-modal {
	position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center;
	background: rgba(0, 0, 0, 0.75); padding: 20px;
}
.rcf-modal[hidden] { display: none; }
.rcf-modal-box {
	background: var(--rcf-elev); border: 1px solid var(--rcf-hazard); border-radius: 4px;
	padding: 30px 32px; max-width: 520px; width: 100%; color: var(--rcf-text);
}
.rcf-modal-box h3 {
	font-family: 'Bebas Neue', 'Oswald', sans-serif; font-weight: 400; font-size: 1.8rem;
	letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 12px;
}
.rcf-modal-box p { color: var(--rcf-mute); line-height: 1.7; margin: 0 0 10px; }
.rcf-modal-box strong { color: var(--rcf-text); }
.rcf-modal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

@media (max-width: 640px) {
	.rcf-row { flex-wrap: wrap; }
	.rcf-stepper { width: 100%; justify-content: flex-end; }
	.rcf-actions { flex-direction: column-reverse; align-items: stretch; }
	.rcf-btn { width: 100%; }
	.rcf-code { font-size: 1.4rem; letter-spacing: 2px; padding: 10px 16px; }
}

/* =========================================================================
 *  PANEL ADMINA (faza 4) — struktura à la GlamLama, marka: tokeny --rc-*.
 *  Wszystko scope'owane pod .rcf-admin-wrap, by nie kolidować z frontem.
 * ========================================================================= */
.rcf-admin-wrap {
	--rc-hazard: #F4C20D;
	--rc-neon: #22D3C5;
	--rc-dark: #0E0F11;
	--rc-elev: #17181B;
	--rc-ink: #1f2937;
	--rc-border: #e2e0da;
	--rc-radius: 10px;
}

.rcf-admin-wrap .rcf-admin-header {
	background: linear-gradient(135deg, #17181B 0%, #0E0F11 100%);
	border-left: 4px solid var(--rc-hazard);
	padding: 16px 20px;
	margin: 10px 20px 20px 0;
	color: #E8E5DE;
	border-radius: 4px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.25);
}
.rcf-admin-wrap .rcf-admin-header-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}
.rcf-admin-wrap .rcf-admin-title {
	color: #fff !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.5px;
}
.rcf-admin-wrap .rcf-admin-ver {
	font-size: 12px;
	font-weight: 400;
	opacity: 0.55;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-left: 8px;
}
.rcf-admin-wrap .rcf-admin-nav {
	margin-top: 14px;
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.rcf-admin-wrap .rcf-admin-nav a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 8px 14px;
	background: rgba(244, 194, 13, 0.08);
	color: #E8E5DE;
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid transparent;
	font-size: 13px;
	transition: all 0.15s;
}
.rcf-admin-wrap .rcf-admin-nav a .dashicons { font-size: 16px; width: 16px; height: 16px; }
.rcf-admin-wrap .rcf-admin-nav a:hover { background: rgba(244, 194, 13, 0.2); color: #fff; }
.rcf-admin-wrap .rcf-admin-nav a.active {
	background: var(--rc-hazard);
	color: #0E0F11;
	font-weight: 600;
	border-color: var(--rc-neon);
	box-shadow: 0 0 10px rgba(34, 211, 197, 0.3);
}

/* --- Boxy --- */
.rcf-admin-wrap .rcf-box {
	background: #fff;
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	padding: 20px;
	margin: 0 20px 20px 0;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.rcf-admin-wrap .rcf-box h2 {
	margin-top: 0;
	color: var(--rc-ink);
	border-bottom: 2px solid var(--rc-hazard);
	padding-bottom: 10px;
	font-size: 18px;
}
.rcf-admin-wrap .rcf-box h4 { color: var(--rc-ink); margin: 18px 0 8px; }
.rcf-admin-wrap .rcf-section-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 6px;
}
.rcf-admin-wrap .rcf-section-header h2 { border: none !important; margin: 0 !important; padding: 0 !important; }
.rcf-admin-wrap .rcf-hint { color: #6b7280; font-size: 13px; margin: 6px 0 14px; }

/* --- Formularze --- */
.rcf-admin-wrap .rcf-form-row { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.rcf-admin-wrap .rcf-form-group { display: flex; flex-direction: column; gap: 4px; min-width: 140px; margin-bottom: 12px; }
.rcf-admin-wrap .rcf-form-group.rcf-grow { flex: 1 1 220px; }
.rcf-admin-wrap .rcf-form-group label { font-size: 13px; font-weight: 600; color: #374151; }
.rcf-admin-wrap .rcf-form-group input[type="text"],
.rcf-admin-wrap .rcf-form-group input[type="url"],
.rcf-admin-wrap .rcf-form-group input[type="number"],
.rcf-admin-wrap .rcf-form-group input[type="date"],
.rcf-admin-wrap .rcf-form-group select,
.rcf-admin-wrap .rcf-form-group textarea {
	width: 100%;
	max-width: 420px;
}
.rcf-admin-wrap label.rcf-check {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-weight: 500;
	margin: 6px 14px 6px 0;
	font-size: 14px;
}
.rcf-admin-wrap .rcf-days { display: flex; flex-wrap: wrap; gap: 8px; }
.rcf-admin-wrap .rcf-day-pill {
	background: #f3f4f6;
	border: 1px solid var(--rc-border);
	border-radius: 20px;
	padding: 4px 12px;
	margin: 0 !important;
}

.rcf-admin-wrap .rcf-settings-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 20px 16px 0;
}
.rcf-admin-wrap .rcf-tab-btn {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	background: #fff;
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	padding: 8px 14px;
	cursor: pointer;
	font-size: 13px;
	color: #374151;
	transition: all 0.15s;
}
.rcf-admin-wrap .rcf-tab-btn .dashicons { font-size: 16px; width: 16px; height: 16px; }
.rcf-admin-wrap .rcf-tab-btn:hover { border-color: var(--rc-hazard); }
.rcf-admin-wrap .rcf-tab-btn.active {
	background: var(--rc-hazard);
	color: #0E0F11;
	font-weight: 600;
	border-color: var(--rc-hazard);
}
.rcf-admin-wrap .rcf-tab-content { display: none; }
.rcf-admin-wrap .rcf-tab-content.active { display: block; }

.rcf-admin-wrap .rcf-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 14px;
	margin-top: 8px;
}
.rcf-admin-wrap .rcf-card {
	background: #fff;
	border: 1px solid var(--rc-border);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.rcf-admin-wrap .rcf-card-off { opacity: 0.6; }
.rcf-admin-wrap .rcf-card-top {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-bottom: 3px solid var(--rc-hazard);
}
.rcf-admin-wrap .rcf-card-ico { font-size: 30px; line-height: 1; }
.rcf-admin-wrap .rcf-card-h h4 { margin: 0; font-size: 15px; color: var(--rc-ink); }
.rcf-admin-wrap .rcf-card-sub { font-size: 12px; color: #6b7280; }
.rcf-admin-wrap .rcf-card-body { padding: 12px 14px; flex: 1; }
.rcf-admin-wrap .rcf-card-price { font-weight: 600; color: var(--rc-ink); margin-bottom: 8px; font-size: 14px; }
.rcf-admin-wrap .rcf-card-actions { padding: 0 14px 14px; }
.rcf-admin-wrap .rcf-pill {
	display: inline-block;
	background: #f3f4f6;
	border-radius: 12px;
	padding: 2px 10px;
	font-size: 12px;
	color: #4b5563;
	margin: 2px 0;
}
.rcf-admin-wrap .rcf-pill-off { background: #fee2e2; color: #b91c1c; margin-left: auto; }

.rcf-admin-wrap .rcf-table { width: 100%; border-collapse: collapse; margin-top: 8px; }
.rcf-admin-wrap .rcf-table th,
.rcf-admin-wrap .rcf-table td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #eef0f2; font-size: 13px; }
.rcf-admin-wrap .rcf-table th { background: #fafafa; color: #374151; font-weight: 600; }
.rcf-admin-wrap .rcf-table code { font-size: 12px; }
.rcf-admin-wrap .rcf-hours-table { width: 100%; max-width: 560px; border-collapse: collapse; }
.rcf-admin-wrap .rcf-hours-table th,
.rcf-admin-wrap .rcf-hours-table td { padding: 6px 10px; border-bottom: 1px solid #eef0f2; text-align: left; }
.rcf-admin-wrap .rcf-status {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 10px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	background: #e5e7eb;
	color: #374151;
}
.rcf-admin-wrap .rcf-status-confirmed { background: #dcfce7; color: #166534; }
.rcf-admin-wrap .rcf-status-pending { background: #fef9c3; color: #854d0e; }
.rcf-admin-wrap .rcf-status-cancelled { background: #fee2e2; color: #991b1b; }

.rcf-admin-wrap .rcf-tier-rows { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.rcf-admin-wrap .rcf-tier-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: #fafafa;
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	padding: 8px 10px;
}
.rcf-admin-wrap .rcf-tier-row label { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.rcf-admin-wrap .rcf-tier-row input { width: 80px; }
.rcf-admin-wrap .rcf-tier-del { color: #b91c1c !important; }

.rcf-admin-wrap .rcf-durations { margin: 10px 0 4px; }
.rcf-admin-wrap .rcf-durations h4 { margin: 0 0 8px; }
.rcf-admin-wrap .rcf-dur-rows { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.rcf-admin-wrap .rcf-dur-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	background: #fafafa;
	border: 1px solid var(--rc-border);
	border-radius: 6px;
	padding: 8px 10px;
}
.rcf-admin-wrap .rcf-dur-row label { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; }
.rcf-admin-wrap .rcf-dur-row input { width: 80px; }
.rcf-admin-wrap .rcf-dur-del { color: #b91c1c !important; }
.rcf-admin-wrap .rcf-dur-ar { flex-direction: column; align-items: stretch; gap: 8px; background: #f6f7fb; }
.rcf-admin-wrap .rcf-dur-ar-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.rcf-admin-wrap .rcf-ar-tiers { display: flex; flex-direction: column; gap: 6px; margin-left: 12px; }

.rcf-admin-wrap .rcf-modal { display: none; position: fixed; inset: 0; z-index: 100000; }
.rcf-admin-wrap .rcf-modal.active { display: block; }
.rcf-admin-wrap .rcf-modal-overlay { position: absolute; inset: 0; background: rgba(14, 15, 17, 0.65); }
.rcf-admin-wrap .rcf-modal-content {
	position: relative;
	background: #fff;
	max-width: 640px;
	width: calc(100% - 40px);
	margin: 5vh auto;
	max-height: 90vh;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
	overflow: hidden;
}
.rcf-admin-wrap .rcf-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	background: linear-gradient(135deg, #17181B 0%, #0E0F11 100%);
	border-bottom: 3px solid var(--rc-hazard);
}
.rcf-admin-wrap .rcf-modal-header h2 { margin: 0; color: #fff; font-size: 18px; }
.rcf-admin-wrap .rcf-modal-close {
	background: none;
	border: none;
	color: #E8E5DE;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}
.rcf-admin-wrap .rcf-modal-body { padding: 20px; overflow-y: auto; }
.rcf-admin-wrap .rcf-modal-footer {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 20px;
	border-top: 1px solid var(--rc-border);
	background: #fafafa;
}
.rcf-admin-wrap .rcf-modal-footer .rcf-spacer { flex: 1; }
.rcf-admin-wrap .rcf-btn-danger { color: #b91c1c !important; border-color: #f3b4b4 !important; }

.rcf-admin-wrap #rcf-toast {
	position: fixed;
	bottom: 30px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: #17181B;
	color: #fff;
	border-left: 4px solid var(--rc-neon, #22D3C5);
	padding: 12px 22px;
	border-radius: 6px;
	font-size: 14px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
	opacity: 0;
	pointer-events: none;
	transition: all 0.25s;
	z-index: 100001;
}
.rcf-admin-wrap #rcf-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.rcf-admin-wrap #rcf-toast.rcf-toast-err { border-left-color: #ef4444; }

/* Szary myślnik w kolumnie akcji (rezerwacja anulowana — nic do zrobienia). */
.rcf-admin-wrap .rcf-muted {
	color: #9ca3af;
}

/* =========================================================================
 *  PANEL REZERWACJI (v1.8.0) — widoki, filtry, kalendarze, karty
 *  Wszystko pod .rcf-admin-wrap: front używa tych samych nazw (.rcf-card,
 *  .rcf-modal, .rcf-hint), więc bez scope'a rozjechałby się kreator na stronie.
 * ========================================================================= */

.rcf-admin-wrap .rcf-header-actions { display: flex; gap: 8px; }

.rcf-admin-wrap .rcf-views {
	display: flex;
	gap: 2px;
	margin: 0 0 16px;
	border-bottom: 2px solid var(--rc-border, #e2e4e7);
}
.rcf-admin-wrap .rcf-view-btn {
	background: none;
	border: 0;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	padding: 10px 18px;
	font-size: 14px;
	font-weight: 600;
	color: #50575e;
	cursor: pointer;
}
.rcf-admin-wrap .rcf-view-btn:hover { color: #1d2327; }
.rcf-admin-wrap .rcf-view-btn.is-active {
	color: #1d2327;
	border-bottom-color: var(--rc-hazard, #F4C20D);
}

/* ---------- Filtry ---------- */
.rcf-admin-wrap .rcf-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}
.rcf-admin-wrap .rcf-filters input[type="search"] { min-width: 260px; }
.rcf-admin-wrap .rcf-range { display: inline-flex; gap: 6px; align-items: center; }
.rcf-admin-wrap .rcf-range[hidden] { display: none; }

.rcf-admin-wrap .rcf-bulkbar {
	display: flex;
	gap: 10px;
	align-items: center;
	padding: 10px 14px;
	margin-bottom: 10px;
	background: #fff8e1;
	border: 1px solid #f0d98a;
	border-radius: 4px;
}
.rcf-admin-wrap .rcf-bulkbar[hidden] { display: none; }

.rcf-admin-wrap .rcf-pager {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
}
.rcf-admin-wrap .rcf-pager[hidden] { display: none; }

.rcf-admin-wrap .rcf-empty { color: #6b7280; padding: 20px; text-align: center; }
.rcf-admin-wrap .rcf-view[hidden] { display: none; }

/* ---------- Tabela listy ---------- */
.rcf-admin-wrap .rcf-table-res th,
.rcf-admin-wrap .rcf-table-res td { vertical-align: top; }
.rcf-admin-wrap .rcf-col-chk { width: 28px; }
.rcf-admin-wrap .rcf-table-res .rcf-actions { white-space: nowrap; }
.rcf-admin-wrap .rcf-src {
	display: inline-block;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 1px 6px;
	border-radius: 3px;
	background: #eef2ff;
	color: #4338ca;
}
.rcf-admin-wrap .rcf-status {
	display: inline-block;
	padding: 2px 9px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.rcf-admin-wrap .rcf-status-pending { background: #fef3c7; color: #92400e; }
.rcf-admin-wrap .rcf-status-confirmed { background: #d1fae5; color: #065f46; }
.rcf-admin-wrap .rcf-status-cancelled { background: #f3f4f6; color: #6b7280; }

/* ---------- Widok: dzień ---------- */
.rcf-admin-wrap .rcf-day { border: 1px solid var(--rc-border, #e2e4e7); border-radius: 4px; overflow: hidden; }
.rcf-admin-wrap .rcf-day-row {
	display: flex;
	gap: 14px;
	padding: 10px 14px;
	border-bottom: 1px solid #f0f0f1;
}
.rcf-admin-wrap .rcf-day-row:last-child { border-bottom: 0; }
.rcf-admin-wrap .rcf-day-row.is-empty { background: #fbfbfc; }
.rcf-admin-wrap .rcf-day-hour {
	flex: 0 0 62px;
	font-weight: 700;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	color: #1d2327;
}
.rcf-admin-wrap .rcf-day-cards { display: flex; flex-wrap: wrap; gap: 8px; flex: 1; }

.rcf-admin-wrap .rcf-card-res {
	display: flex;
	flex-direction: column;
	gap: 2px;
	text-align: left;
	padding: 8px 12px;
	border: 1px solid #d7dade;
	border-left: 4px solid #9ca3af;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
	font-size: 12px;
	min-width: 170px;
}
.rcf-admin-wrap .rcf-card-res:hover { border-color: var(--rc-hazard, #F4C20D); }
.rcf-admin-wrap .rcf-card-res strong { font-size: 13px; }
.rcf-admin-wrap .rcf-st-pending { border-left-color: #f59e0b; }
.rcf-admin-wrap .rcf-st-confirmed { border-left-color: #10b981; }
.rcf-admin-wrap .rcf-st-cancelled { border-left-color: #9ca3af; opacity: 0.6; }

/* ---------- Widoki: tydzień / miesiąc ---------- */
.rcf-admin-wrap .rcf-week-scroll { overflow-x: auto; }
.rcf-admin-wrap .rcf-week,
.rcf-admin-wrap .rcf-month {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	min-width: 720px;
}
.rcf-admin-wrap .rcf-week th,
.rcf-admin-wrap .rcf-week td,
.rcf-admin-wrap .rcf-month th,
.rcf-admin-wrap .rcf-month td {
	border: 1px solid #e5e7eb;
	padding: 5px;
	vertical-align: top;
}
.rcf-admin-wrap .rcf-week-hour {
	width: 62px;
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-weight: 600;
	background: #fbfbfc;
}
.rcf-admin-wrap .rcf-month td { height: 92px; width: 14.28%; }
.rcf-admin-wrap .rcf-mcell.is-out { background: #fafafa; color: #9ca3af; }
.rcf-admin-wrap .rcf-mcell.is-today { box-shadow: inset 0 0 0 2px var(--rc-hazard, #F4C20D); }
.rcf-admin-wrap .rcf-mday { font-weight: 700; font-size: 12px; margin-bottom: 3px; }
.rcf-admin-wrap .rcf-mcount { font-size: 10px; color: #6b7280; margin-bottom: 3px; }
.rcf-admin-wrap .rcf-month-label { font-weight: 700; font-size: 15px; min-width: 150px; text-align: center; }

.rcf-admin-wrap .rcf-chip {
	display: block;
	width: 100%;
	text-align: left;
	margin-bottom: 2px;
	padding: 2px 6px;
	font-size: 11px;
	border: 0;
	border-left: 3px solid #9ca3af;
	border-radius: 3px;
	background: #f3f4f6;
	cursor: pointer;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rcf-admin-wrap .rcf-chip:hover { background: #e5e7eb; }
.rcf-admin-wrap .rcf-more {
	border: 0;
	background: none;
	color: #2271b1;
	cursor: pointer;
	font-size: 11px;
	padding: 0;
}

.rcf-admin-wrap .rcf-navbar {
	display: flex;
	gap: 8px;
	align-items: center;
	margin-bottom: 12px;
}

/* ---------- Modale panelu ---------- */
.rcf-admin-wrap .rcf-m-sum {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding: 10px 12px;
	margin-bottom: 14px;
	background: #f6f7f7;
	border-radius: 4px;
}
.rcf-admin-wrap .rcf-pill {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d7dade;
	font-size: 12px;
}
.rcf-admin-wrap .rcf-pill-total { font-weight: 700; border-color: var(--rc-hazard, #F4C20D); }

.rcf-admin-wrap .rcf-modal-msg {
	margin-top: 12px;
	padding: 9px 12px;
	border-radius: 4px;
	font-size: 13px;
}
.rcf-admin-wrap .rcf-modal-msg[hidden] { display: none; }
.rcf-admin-wrap .rcf-modal-msg.is-err { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.rcf-admin-wrap .rcf-modal-msg.is-warn { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }

.rcf-admin-wrap .rcf-sub { margin: 18px 0 8px; font-size: 14px; }
.rcf-admin-wrap .rcf-a-items { margin-bottom: 10px; }
.rcf-admin-wrap .rcf-a-item {
	display: flex;
	gap: 12px;
	align-items: center;
	padding: 7px 12px;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	margin-bottom: 5px;
	background: #fff;
}
.rcf-admin-wrap .rcf-a-item span:first-child { flex: 1; font-weight: 600; }
.rcf-admin-wrap .rcf-a-addrow {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	padding: 10px 12px;
	background: #f6f7f7;
	border-radius: 4px;
}
.rcf-admin-wrap .rcf-a-addrow label { margin: 0; font-size: 12px; }

/* Poprawki po testach na żywym panelu (1.8.2):
   — data w kolumnie „Termin” łamała się na trzy linie przy wąskim ekranie,
   — status na kafelkach tygodnia/miesiąca był nieczytelny przy 3 px krawędzi. */
.rcf-admin-wrap .rcf-table-res td:nth-child(3) { white-space: nowrap; }
.rcf-admin-wrap .rcf-table-res td:nth-child(3) .rcf-muted { white-space: nowrap; }

.rcf-admin-wrap .rcf-chip { border-left-width: 4px; }
.rcf-admin-wrap .rcf-chip.rcf-st-pending { background: #fef8e7; border-left-color: #f59e0b; }
.rcf-admin-wrap .rcf-chip.rcf-st-confirmed { background: #eafaf3; border-left-color: #10b981; }
.rcf-admin-wrap .rcf-chip.rcf-st-cancelled { background: #f3f4f6; border-left-color: #9ca3af; }

/* ---------- Pracownicy (1.9.0) ---------- */
.rcf-admin-wrap .rcf-dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin-right: 7px;
	vertical-align: baseline;
}
.rcf-admin-wrap .rcf-perms {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 4px 16px;
	padding: 10px 12px;
	background: #f6f7f7;
	border-radius: 4px;
}
.rcf-admin-wrap .rcf-perms .rcf-check { margin: 0; font-size: 13px; }
.rcf-admin-wrap #rcf-st-pin-hint { font-weight: 400; color: #6b7280; }

/* ---------- Analityka (1.11.0) ---------- */
.rcf-admin-wrap .rcf-an-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 10px; margin-bottom: 8px; }
.rcf-admin-wrap .rcf-an-kpi { background: #f6f7f7; border-left: 3px solid var(--rc-hazard, #F4C20D); border-radius: 4px; padding: 12px 14px; }
.rcf-admin-wrap .rcf-an-kpi span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: #6b7280; }
.rcf-admin-wrap .rcf-an-kpi strong { font-size: 22px; line-height: 1.3; }
.rcf-admin-wrap .rcf-an-kpi small { display: block; color: #9ca3af; font-size: 11px; }
.rcf-admin-wrap .rcf-an-kpi.is-warn { border-left-color: #f59e0b; background: #fffbeb; }
.rcf-admin-wrap .rcf-an-block { background: #fff; border: 1px solid #e5e7eb; border-radius: 4px; padding: 12px 14px; }
.rcf-admin-wrap .rcf-an-row { display: flex; align-items: center; gap: 10px; padding: 4px 0; font-size: 13px; }
.rcf-admin-wrap .rcf-an-lab { flex: 0 0 175px; color: #50575e; }
.rcf-admin-wrap .rcf-an-track { flex: 1; height: 15px; background: #f0f0f1; border-radius: 3px; overflow: hidden; }
.rcf-admin-wrap .rcf-an-fill { display: block; height: 100%; background: var(--rc-hazard, #F4C20D); }
.rcf-admin-wrap .rcf-an-val { flex: 0 0 150px; text-align: right; font-weight: 600; }
.rcf-admin-wrap .rcf-an-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 18px; }

/* ---------- Vouchery (1.12.0) ---------- */
.rcf-admin-wrap .rcf-v-sum { margin-left: auto; font-size: 13px; color: #6b7280; font-weight: 600; }

/* Slot wolny, ale na innych maszynach niż wybrane (1.14.0) — nie udajemy, że to to samo. */
.rcf-hour.swap {
	border-color: #f59e0b;
	color: #fcd34d;
}
.rcf-hour.swap:hover { background: rgba(245, 158, 11, .16); }

/* =========================================================================
 *  MARKETING — zgody i baza kontaktów (1.15.0)
 * ========================================================================= */

/* Kafelki licznikowe nad listą kontaktów. */
.rcf-admin-wrap .rcf-stats-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 12px;
	margin: 0 0 18px;
}
.rcf-admin-wrap .rcf-stat {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid var(--rc-border);
	border-left: 4px solid var(--rc-hazard);
	border-radius: var(--rc-radius);
}
.rcf-admin-wrap .rcf-stat-num { font-size: 24px; font-weight: 700; line-height: 1.1; color: var(--rc-ink); }
.rcf-admin-wrap .rcf-stat-lab { font-size: 12px; color: #6b7280; text-transform: uppercase; letter-spacing: .03em; }

.rcf-admin-wrap .rcf-dim { color: #9ca3af; font-size: 12px; }
.rcf-admin-wrap .rcf-mk-act { white-space: nowrap; text-align: right; }
.rcf-admin-wrap .button-link.rcf-danger { color: #b91c1c; }

/* Statusy kanałów. Wypisany jest wyszarzony, nie czerwony — rezygnacja to normalna
   decyzja klienta, a nie awaria, i panel nie ma sugerować, że coś poszło źle. */
.rcf-admin-wrap .rcf-chip.is-ok { background: #eafaf3; border-left-color: #10b981; }
.rcf-admin-wrap .rcf-chip.is-off { background: #f3f4f6; border-left-color: #9ca3af; color: #6b7280; }
.rcf-admin-wrap .rcf-chip.is-warn { background: #fef8e7; border-left-color: #f59e0b; }

/* ---------- Front: checkbox zgody w kreatorze ---------- */
/* Wyraźnie oddzielony od akceptacji regulaminu — wizualnie też muszą być
   dwiema różnymi rzeczami, nie blokiem drobnego druku. */
.rcf-check-mkt {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px dashed rgba(255, 255, 255, .18);
	font-size: 13px;
	line-height: 1.45;
	opacity: .92;
}

/* ---------- Front: strona wypisu [rcfenek_wypis] ---------- */
.rcf-unsub {
	max-width: 640px;
	margin: 0 auto;
	padding: 28px 24px;
	background: var(--rc-elev, #17181B);
	border: 1px solid rgba(255, 255, 255, .1);
	border-left: 4px solid var(--rc-hazard, #F4C20D);
	border-radius: var(--rc-radius, 10px);
	color: #e8e8e8;
}
.rcf-unsub h2 { margin: 0 0 14px; color: #fff; }
.rcf-unsub-choice { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 20px; }
.rcf-unsub-result { margin-top: 16px; }
.rcf-unsub-note { margin-top: 20px; font-size: 13px; color: #9ca3af; }
.rcf-unsub-bad { border-left-color: #f59e0b; }
