/* =========================================================================
   Stayfit – rezervacijos (R). Tokenai iš D „VIENA DIZAINO SISTEMA“ su atsarginėmis reikšmėmis.
   sf-book*  – skydelis paslaugos puslapyje (telefone – apatinis lapas) + prilipusi juosta.
   sf-bk*    – kliento / trenerio rezervacijų sąrašai ir rezervacijos puslapis.
   sf-sch*   – trenerio tvarkaraščio redaktorius.
   ========================================================================= */
.sf-book, .sf-book-bar, .sf-bk, .sf-sch, .sf-login-ctx, .sf-agenda {
	--sfb-ink: var(--sf-ink, #171C1E);
	--sfb-ink-soft: var(--sf-ink-soft, #3F4A4E);
	--sfb-muted: var(--sf-muted, #7C8484);
	--sfb-line: var(--sf-line, rgba(23, 28, 30, .08));
	--sfb-line-strong: var(--sf-line-strong, rgba(23, 28, 30, .14));
	--sfb-50: var(--sf-sage-50, #F1F4F1);
	--sfb-100: var(--sf-sage-100, #E4E9E5);
	--sfb-200: var(--sf-sage-200, #D0D8D4);
	--sfb-300: var(--sf-sage-300, #B9C4C0);
	--sfb-500: var(--sf-sage-500, #8B9A99);
	--sfb-700: var(--sf-sage-700, #556970);
	--sfb-900: var(--sf-sage-900, #2A3539);
	--sfb-white: var(--sf-white, #FFFFFF);
	--sfb-radius: var(--sf-radius, 24px);
	--sfb-radius-sm: var(--sf-radius-sm, 14px);
	--sfb-pill: var(--sf-pill, 999px);
	--sfb-font: var(--sf-font, "Figtree", system-ui, -apple-system, sans-serif);
	--sfb-mono: var(--sf-mono, "JetBrains Mono", ui-monospace, monospace);
	--sfb-shadow: var(--sf-shadow, 0 1px 2px rgba(0, 0, 0, .03), 0 8px 32px -16px rgba(0, 0, 0, .08));
	--sfb-ease: var(--sf-ease, cubic-bezier(.23, 1, .32, 1));
	--sfb-drawer: cubic-bezier(.32, .72, 0, 1);
	--sfb-ok: #2F7A5A;
	--sfb-warn: #A4472F;
	font-family: var(--sfb-font);
	color: var(--sfb-ink);
	-webkit-tap-highlight-color: transparent;
}
.sf-book *, .sf-book-bar *, .sf-bk *, .sf-sch * { box-sizing: border-box; }
.sf-ico { flex: none; display: inline-block; vertical-align: middle; }
.sf-book [hidden], .sf-bk [hidden], .sf-sch [hidden], .sf-book-bar [hidden], .sf-book-backdrop[hidden] { display: none !important; }

/* ---------- Skydelis ---------- */
.sf-book-slot { margin: 0 0 20px; }
.sf-book {
	position: relative;
	background: var(--sfb-white);
	border-radius: var(--sfb-radius);
	box-shadow: var(--sfb-shadow);
	border: 1px solid var(--sfb-line);
	padding: 22px 20px 18px;
	font-size: 15px;
	line-height: 1.45;
}
.sf-book__grab, .sf-book__close { display: none; }
.sf-book__h { margin: 0 0 6px; font: 600 19px/1.25 var(--sfb-font); letter-spacing: -.01em; color: var(--sfb-ink); }
.sf-book__price { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; color: var(--sfb-muted); font-size: 14px; }
.sf-book__price b { font-size: 24px; font-weight: 600; color: var(--sfb-ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sf-book__price .sf-book__per { font-size: 17px; font-weight: 500; color: var(--sfb-ink-soft); letter-spacing: -.01em; }
.sf-book__price b.sf-book__per { font-size: 20px; color: var(--sfb-ink); }
.sf-book__meta { margin: 4px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; color: var(--sfb-muted); font-size: 13.5px; }
.sf-book__addr { display: inline-flex; align-items: center; gap: 5px; color: var(--sfb-ink-soft); }
.sf-book__addr .sf-ico { color: var(--sfb-700); }
.sf-book__away { margin: 10px 0 0; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: var(--sfb-radius-sm); background: #FBF3E6; color: #7A5418; font-size: 13.5px; font-weight: 500; }
.sf-book__pay { margin: 10px 0 0; display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: var(--sfb-radius-sm); background: var(--sfb-50); color: var(--sfb-ink-soft); font-size: 13px; }
.sf-book__pay .sf-ico { color: var(--sfb-700); }

.sf-book__row { display: flex; align-items: center; gap: 10px; margin: 20px 0 10px; }
.sf-book__label { font-size: 13px; font-weight: 600; color: var(--sfb-ink-soft); }
.sf-book__month, .sf-book__count { font-size: 13px; color: var(--sfb-muted); }
.sf-book__arrows { margin-left: auto; display: flex; gap: 4px; }
.sf-book__arrow { width: 30px; height: 30px; border-radius: 50%; border: 1px solid var(--sfb-line); background: var(--sfb-white); color: var(--sfb-ink-soft); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; transition: transform 160ms var(--sfb-ease), background-color 160ms ease; }
.sf-book__arrow:active { transform: scale(.94); }
.sf-book__arrow:disabled { opacity: .35; cursor: default; transform: none; }
.sf-book--noscroll .sf-book__arrows { visibility: hidden; }
.sf-book__row--slots .sf-book__count { margin-left: auto; }

.sf-book__strip { position: relative; }
.sf-book__days {
	display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
	margin: 0; padding: 2px 0 6px; scroll-padding-inline: 0; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain;
}
/* Slinkimo užuominos: kraštas, už kurio dar yra dienų, švelniai išblunka */
.sf-book__strip.can-r .sf-book__days { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 44px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 44px), transparent); }
.sf-book__strip.can-l .sf-book__days { -webkit-mask-image: linear-gradient(90deg, transparent, #000 44px); mask-image: linear-gradient(90deg, transparent, #000 44px); }
.sf-book__strip.can-l.can-r .sf-book__days { -webkit-mask-image: linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); mask-image: linear-gradient(90deg, transparent, #000 44px, #000 calc(100% - 44px), transparent); }
.sf-book__days::-webkit-scrollbar { display: none; }
.sf-book__day, .sf-book__more {
	flex: 0 0 auto; width: 54px; min-height: 68px; scroll-snap-align: start;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	border: 1px solid var(--sfb-line); border-radius: var(--sfb-radius-sm); background: var(--sfb-white);
	color: var(--sfb-ink); cursor: pointer; padding: 8px 0 7px; font: inherit; position: relative;
	transition: transform 160ms var(--sfb-ease), background-color 160ms ease, border-color 160ms ease;
}
.sf-book__dow { font-size: 11px; color: var(--sfb-muted); line-height: 1; text-transform: none; }
.sf-book__n { font-size: 19px; font-weight: 600; letter-spacing: -.01em; line-height: 1.15; }
.sf-book__dot { width: 4px; height: 4px; border-radius: 50%; background: var(--sfb-500); margin-top: 2px; }
.sf-book__day:active, .sf-book__more:active { transform: scale(.97); }
.sf-book__day.is-on { background: var(--sfb-100); border-color: var(--sfb-300); }
.sf-book__day.is-on .sf-book__dow { color: var(--sfb-ink-soft); }
.sf-book__day.is-on .sf-book__dot { background: var(--sfb-900); }
.sf-book__day.is-empty { color: var(--sfb-300); background: transparent; }
.sf-book__day.is-empty .sf-book__dow { color: var(--sfb-300); }
.sf-book__day.is-empty .sf-book__dot { visibility: hidden; }
.sf-book__day.is-empty.is-on { background: var(--sfb-50); border-color: var(--sfb-200); }
.sf-book__more { color: var(--sfb-ink-soft); font-size: 11px; background: var(--sfb-50); border-style: dashed; }
.sf-book__more.is-busy { opacity: .5; pointer-events: none; }

.sf-book__slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; opacity: 1; }
.sf-book__slots:not(.is-in) { opacity: .4; }
.sf-book__slots.is-in { transition: opacity 140ms ease-out; }
.sf-book__part { grid-column: 1 / -1; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--sfb-muted); margin: 6px 0 -2px; }
.sf-book__part:first-child { margin-top: 0; }
.sf-book__slot {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
	min-height: 44px; padding: 8px 4px; border-radius: var(--sfb-pill); border: 1px solid var(--sfb-line-strong);
	background: var(--sfb-white); color: var(--sfb-ink); font: 500 15px/1.1 var(--sfb-font); font-variant-numeric: tabular-nums; cursor: pointer;
	transition: transform 160ms var(--sfb-ease), background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.sf-book__slot small { font-size: 11px; font-weight: 500; color: var(--sfb-muted); margin-top: 2px; }
.sf-book__slot:active { transform: scale(.97); }
.sf-book__slot.is-on { background: var(--sfb-ink); border-color: var(--sfb-ink); color: var(--sfb-white); }
.sf-book__slot.is-on small { color: rgba(255, 255, 255, .72); }
.sf-book__slot.is-mine { background: var(--sfb-50); border-style: dashed; color: var(--sfb-muted); cursor: default; }
/* Grupės fiksuoti laikai – eilutėmis */
.sf-book__slots--rows { grid-template-columns: 1fr !important; }
.sf-book__slot--row { flex-direction: row; justify-content: space-between; align-items: center; gap: 12px; min-height: 52px; padding: 10px 18px; border-radius: var(--sfb-radius-sm); text-align: left; }
.sf-book__slot--row b { font-weight: 600; font-size: 15.5px; }
.sf-book__slot--row small { margin: 0; font-size: 13px; }
.sf-book__empty { grid-column: 1 / -1; margin: 2px 0; padding: 14px; border-radius: var(--sfb-radius-sm); background: var(--sfb-50); color: var(--sfb-ink-soft); font-size: 14px; }
.sf-book__link { display: inline; border: 0; background: none; padding: 0; font: inherit; font-weight: 600; color: var(--sfb-ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.sf-book__sum { margin: 18px 0 0; padding: 12px 0 0; border-top: 1px solid var(--sfb-line); display: grid; gap: 8px; font-size: 14px; }
.sf-book__sum > div { display: flex; align-items: baseline; gap: 12px; }
.sf-book__sum dt { flex: 0 0 auto; width: 84px; display: flex; align-items: center; gap: 7px; color: var(--sfb-muted); font-weight: 400; margin: 0; }
.sf-book__sum dt .sf-ico { color: var(--sfb-700); position: relative; top: -1px; }
.sf-book__sum dd { margin: 0; color: var(--sfb-ink); font-weight: 500; min-width: 0; }
.sf-book__sum dd small { display: block; margin-top: 2px; font-size: 12.5px; font-weight: 400; color: var(--sfb-muted); }

.sf-book__cta {
	margin-top: 16px; width: 100%; min-height: 54px; padding: 14px 20px; border: 0; border-radius: var(--sfb-pill);
	background: var(--sfb-ink); color: var(--sfb-white); font: 600 15px/1.2 var(--sfb-font); cursor: pointer;
	display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center;
	transition: transform 160ms var(--sfb-ease), background-color 180ms ease, opacity 180ms ease;
}
.sf-book__cta:active { transform: scale(.97); }
.sf-book__cta:disabled { background: var(--sfb-100); color: var(--sfb-muted); cursor: default; transform: none; }
.sf-book__cta:disabled .sf-ico { display: none; }
.sf-book__cta.is-busy { opacity: .7; }
@media (hover: hover) and (pointer: fine) {
	.sf-book__day:not(.is-on):not(.is-empty):hover, .sf-book__slot:not(.is-on):not(.is-mine):hover, .sf-book__arrow:hover { background: var(--sfb-50); }
	.sf-book__cta:not(:disabled):hover { background: #000; }
}
.sf-book__fine { margin: 10px 0 0; font-size: 12.5px; color: var(--sfb-muted); text-align: center; text-wrap: pretty; }
.sf-book__fine.is-warn { padding: 9px 12px; border-radius: var(--sfb-radius-sm); background: #FBEFEA; color: var(--sfb-warn); font-size: 13px; font-weight: 500; text-align: left; }
.sf-book__warn { margin: 14px 0 0; display: flex; gap: 10px; align-items: flex-start; padding: 11px 14px; border-radius: var(--sfb-radius-sm); background: #FBEFEA; color: var(--sfb-warn); font-size: 13.5px; line-height: 1.45; }
.sf-book__warn .sf-ico { flex: none; margin-top: 1px; }
.sf-book__msg { margin: 12px 0 0; padding: 10px 12px; border-radius: var(--sfb-radius-sm); background: #FBEFEA; color: var(--sfb-warn); font-size: 14px; }

/* Patvirtinimo žingsnis */
.sf-book__confirm { margin-top: 16px; }
.sf-book__back { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px 6px 8px; border-radius: var(--sfb-pill); border: 1px solid var(--sfb-line); background: var(--sfb-white); color: var(--sfb-ink-soft); font: 500 13px/1 var(--sfb-font); cursor: pointer; transition: transform 160ms var(--sfb-ease); }
.sf-book__back:active { transform: scale(.97); }
.sf-book__ch { margin: 14px 0 0; font: 600 17px/1.3 var(--sfb-font); }
.sf-book__sum--confirm { border-top: 0; padding-top: 6px; margin-top: 6px; }
.sf-book__note { display: block; margin-top: 14px; }
.sf-book__note span { display: block; font-size: 13px; font-weight: 600; color: var(--sfb-ink-soft); margin-bottom: 6px; }
.sf-book__note em { font-style: normal; font-weight: 400; color: var(--sfb-muted); }
.sf-book__note textarea { width: 100%; min-height: 64px; padding: 10px 12px; border-radius: var(--sfb-radius-sm); border: 1px solid var(--sfb-line-strong); background: var(--sfb-white); font: 400 16px/1.4 var(--sfb-font); color: var(--sfb-ink); resize: vertical; }
.sf-book__note textarea:focus { outline: 2px solid var(--sfb-300); outline-offset: 1px; border-color: var(--sfb-500); }

/* Pranešimo būsena (savininkas / pristabdyta / be tvarkaraščio) */
.sf-book--notice { padding: 18px; }
.sf-book__notice { display: flex; gap: 12px; align-items: flex-start; }
.sf-book__notice > .sf-ico { color: var(--sfb-700); margin-top: 2px; }
.sf-book__notice b { display: block; font-size: 15px; font-weight: 600; }
.sf-book__notice p { margin: 4px 0 12px; color: var(--sfb-ink-soft); font-size: 14px; }
.sf-book__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 18px; border-radius: var(--sfb-pill); font: 600 14px/1 var(--sfb-font); text-decoration: none !important; cursor: pointer; transition: transform 160ms var(--sfb-ease), background-color 160ms ease; }
.sf-book__btn:active { transform: scale(.97); }
.sf-book__btn--soft { background: var(--sfb-white); border: 1px solid var(--sfb-line-strong); color: var(--sfb-ink) !important; }
.sf-book__btn--main { background: var(--sfb-ink); border: 1px solid var(--sfb-ink); color: var(--sfb-white) !important; }

/* ---------- Prilipusi juosta ir apatinis lapas (telefonas) ---------- */
.sf-book-bar, .sf-book-backdrop { display: none; }
@media (max-width: 1023px) {
	.sf-book-slot { display: none; }
	.sf-book-bar ~ .dsb { display: none !important; }
	.sf-book-bar {
		display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1200;
		padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
		background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px);
		border-top: 1px solid var(--sfb-line); box-shadow: 0 -8px 24px rgba(23, 28, 30, .06);
	}
	body.has-dsb { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
	.sf-book-bar__t { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
	.sf-book-bar__t b { font-size: 17px; font-weight: 600; letter-spacing: -.01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.sf-book-bar__t small { font-size: 12px; color: var(--sfb-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.sf-book-bar__msg { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--sfb-line-strong); display: inline-flex; align-items: center; justify-content: center; color: var(--sfb-ink) !important; background: var(--sfb-white); transition: transform 160ms var(--sfb-ease); }
	.sf-book-bar__btn { flex: none; min-height: 48px; padding: 0 22px; border: 0; border-radius: var(--sfb-pill); background: var(--sfb-ink); color: var(--sfb-white) !important; font: 600 15px/1 var(--sfb-font); display: inline-flex; align-items: center; text-decoration: none !important; cursor: pointer; transition: transform 160ms var(--sfb-ease); white-space: nowrap; }
	.sf-book-bar__msg:active, .sf-book-bar__btn:active { transform: scale(.97); }

	.sf-book.is-sheet {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 1300; margin: 0;
		max-height: min(92vh, 92dvh); overflow-y: auto; overscroll-behavior: contain;
		border-radius: 24px 24px 0 0; border: 0; box-shadow: 0 -12px 40px rgba(23, 28, 30, .18);
		padding: 10px 16px calc(18px + env(safe-area-inset-bottom, 0px));
		transform: translateY(105%); visibility: hidden;
		transition: transform 200ms var(--sfb-drawer), visibility 0s linear 200ms;
	}
	.sf-book.is-sheet.is-open { transform: none; visibility: visible; transition: transform 200ms var(--sfb-drawer), visibility 0s; }
	.sf-book.is-sheet .sf-book__grab { display: block; width: 40px; height: 5px; border-radius: 3px; background: var(--sfb-200); margin: 0 auto 12px; }
	.sf-book.is-sheet .sf-book__close { display: inline-flex; position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: var(--sfb-50); color: var(--sfb-ink-soft); align-items: center; justify-content: center; cursor: pointer; }
	.sf-book.is-sheet .sf-book__head { padding-right: 40px; }
	.sf-book.is-sheet .sf-book__strip { margin: 0 -16px; }
	.sf-book.is-sheet .sf-book__days { padding: 2px 16px 6px; scroll-padding-inline: 16px; }
	.sf-book.is-sheet .sf-book__slots { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.sf-book.is-sheet .sf-book__arrows { display: none; }
	.sf-book-backdrop { display: block; position: fixed; inset: 0; z-index: 1250; background: rgba(23, 28, 30, .38); opacity: 0; transition: opacity 200ms ease-out; }
	.sf-book-backdrop.is-on { opacity: 1; }
	html.sf-sheet-open, html.sf-sheet-open body { overflow: hidden; }
}
@media (max-width: 359px) {
	.sf-book.is-sheet .sf-book__slots { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.sf-book-bar__btn { padding: 0 16px; }
}

/* Prisijungimo puslapis – „Liko vienas žingsnis“ */
.sf-login-ctx { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; border-radius: var(--sfb-radius-sm); background: var(--sfb-50); border: 1px solid var(--sfb-100); }
.sf-login-ctx .sf-ico { color: var(--sfb-700); margin-top: 2px; }
.sf-login-ctx b { display: block; font-weight: 600; }
.sf-login-ctx p { margin: 2px 0 0; color: var(--sfb-ink-soft); font-size: 14px; }

@media (prefers-reduced-motion: reduce) {
	.sf-book *, .sf-book, .sf-book-bar *, .sf-book-backdrop, .sf-bk *, .sf-sch * { transition-duration: 0s !important; }
	.sf-book__slots:not(.is-in) { opacity: 1; }
	.sf-book__day:active, .sf-book__slot:active, .sf-book__cta:active, .sf-book-bar__btn:active { transform: none; }
}

/* =========================================================================
   Rezervacijų sąrašai ir rezervacijos kortelė (sf-bk)
   ========================================================================= */
.sf-bk { font-size: 15px; line-height: 1.45; max-width: 760px; }
.sf-bk__h2 { font: 600 17px/1.3 var(--sfb-font); margin: 28px 0 10px; }
.sf-bk__tabs { display: flex; gap: 6px; margin: 0 0 16px; padding: 4px; background: var(--sfb-50); border-radius: var(--sfb-pill); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.sf-bk__tab { padding: 8px 16px; border-radius: var(--sfb-pill); color: var(--sfb-ink-soft) !important; text-decoration: none !important; font-size: 14px; font-weight: 500; white-space: nowrap; transition: background-color 160ms ease, color 160ms ease; }
.sf-bk__tab.is-on { background: var(--sfb-white); color: var(--sfb-ink) !important; box-shadow: 0 1px 2px rgba(0, 0, 0, .06); }
.sf-bk__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.sf-bk__day { margin: 14px 2px 0; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--sfb-muted); }
.sf-bk__day:first-child { margin-top: 0; }
.sf-bk__item { background: var(--sfb-white); border: 1px solid var(--sfb-line); border-radius: 18px; box-shadow: var(--sfb-shadow); overflow: hidden; }
.sf-bk__item--off { opacity: .72; }
.sf-bk__main { display: flex; align-items: center; gap: 14px; padding: 14px 14px 14px 12px; color: var(--sfb-ink) !important; text-decoration: none !important; transition: background-color 160ms ease; }
.sf-bk__main > .sf-ico { color: var(--sfb-300); margin-left: auto; }
.sf-bk__date { flex: none; width: 54px; padding: 7px 0 6px; border-radius: var(--sfb-radius-sm); background: var(--sfb-50); display: flex; flex-direction: column; align-items: center; line-height: 1.1; }
.sf-bk__date b { font-size: 20px; font-weight: 600; }
.sf-bk__date small { font-size: 11px; color: var(--sfb-ink-soft); text-transform: lowercase; }
.sf-bk__date i { font-style: normal; font-size: 11px; color: var(--sfb-muted); margin-top: 1px; }
.sf-bk__txt { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.sf-bk__txt b { font-weight: 600; font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sf-bk__txt small { color: var(--sfb-muted); font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sf-bk__note { font-style: normal; font-size: 13px; color: var(--sfb-ink-soft); }
.sf-bk__st { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; margin-top: 4px; padding: 3px 9px; border-radius: var(--sfb-pill); font-size: 12px; font-weight: 500; background: var(--sfb-50); color: var(--sfb-ink-soft); }
.sf-bk__st::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--sfb-500); }
.sf-bk__st--ok { background: #EAF4EE; color: var(--sfb-ok); }
.sf-bk__st--ok::before, .sf-bk__st--now::before { background: var(--sfb-ok); }
.sf-bk__st--off { background: #FBEFEA; color: var(--sfb-warn); }
.sf-bk__st--off::before { background: var(--sfb-warn); }
.sf-bk__act { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 14px 14px; }
.sf-bk__btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 10px 16px; border-radius: var(--sfb-pill); font: 600 14px/1 var(--sfb-font); text-decoration: none !important; cursor: pointer; border: 1px solid transparent; transition: transform 160ms var(--sfb-ease), background-color 160ms ease; -webkit-tap-highlight-color: transparent; }
.sf-bk__btn:active { transform: scale(.97); }
.sf-bk__btn--main { background: var(--sfb-ink); border-color: var(--sfb-ink); color: var(--sfb-white) !important; }
.sf-bk__btn--soft { background: var(--sfb-white); border-color: var(--sfb-line-strong); color: var(--sfb-ink) !important; }
.sf-bk__btn--ghost { background: transparent; border-color: transparent; color: var(--sfb-warn) !important; padding-left: 4px; }
.sf-bk__btn--danger { background: var(--sfb-warn); border-color: var(--sfb-warn); color: #fff !important; }
.sf-bk__btn:disabled { opacity: .6; cursor: default; }
@media (hover: hover) and (pointer: fine) {
	.sf-bk__main:hover { background: var(--sfb-50); }
	.sf-bk__btn--soft:hover { background: var(--sfb-50); }
	.sf-bk__btn--main:hover { background: #000; }
}
.sf-bk__link { color: var(--sfb-ink) !important; font-weight: 600; font-size: 14px; }
.sf-bk__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 10px; }
.sf-bk__err { margin: 8px 0 0; color: var(--sfb-warn); font-size: 14px; }
.sf-bk__ok { display: inline-flex; align-items: center; gap: 6px; color: var(--sfb-ok); font-size: 14px; font-weight: 500; }
.sf-bk__empty { text-align: center; padding: 36px 20px; background: var(--sfb-white); border: 1px dashed var(--sfb-line-strong); border-radius: var(--sfb-radius); }
.sf-bk__empty > .sf-ico { color: var(--sfb-500); }
.sf-bk__empty h3 { margin: 10px 0 4px; font: 600 17px/1.3 var(--sfb-font); }
.sf-bk__empty p { margin: 0 auto 16px; max-width: 420px; color: var(--sfb-ink-soft); font-size: 14px; }

.sf-bk--one { max-width: 640px; }
.sf-bk__done { text-align: center; padding: 26px 18px 20px; margin: 0 0 14px; border-radius: var(--sfb-radius); background: var(--sfb-50); border: 1px solid var(--sfb-100); }
.sf-bk__check { display: inline-flex; width: 56px; height: 56px; border-radius: 50%; background: var(--sfb-ink); color: var(--sfb-white); align-items: center; justify-content: center; }
.sf-bk__done h2 { margin: 12px 0 4px; font: 600 22px/1.25 var(--sfb-font); letter-spacing: -.01em; }
.sf-bk__done p { margin: 0; color: var(--sfb-ink-soft); font-size: 14.5px; }
@media (prefers-reduced-motion: no-preference) {
	.sf-bk__check { animation: sfb-pop 260ms var(--sfb-ease) both; }
	@keyframes sfb-pop { from { transform: scale(.9); opacity: 0; } to { transform: none; opacity: 1; } }
}
.sf-bk__card { background: var(--sfb-white); border: 1px solid var(--sfb-line); border-radius: var(--sfb-radius); box-shadow: var(--sfb-shadow); overflow: hidden; }
.sf-bk__head { display: flex; gap: 14px; align-items: flex-start; padding: 18px 18px 6px; }
.sf-bk__head .sf-bk__st { margin: 0 0 6px; }
.sf-bk__title { margin: 0; font: 600 19px/1.25 var(--sfb-font); letter-spacing: -.01em; }
.sf-bk__sub { margin: 4px 0 0; color: var(--sfb-ink-soft); font-size: 14px; }
.sf-bk__sub a { color: var(--sfb-ink) !important; font-weight: 600; }
.sf-bk__facts { margin: 8px 18px 14px; padding: 12px 0 0; border-top: 1px solid var(--sfb-line); display: grid; gap: 9px; }
.sf-bk__facts > div { display: flex; gap: 12px; align-items: baseline; font-size: 14.5px; }
.sf-bk__facts dt { flex: 0 0 auto; width: 110px; display: flex; align-items: center; gap: 7px; color: var(--sfb-muted); margin: 0; font-weight: 400; }
.sf-bk__facts dt .sf-ico { color: var(--sfb-700); }
.sf-bk__facts dd { margin: 0; min-width: 0; font-weight: 500; overflow-wrap: anywhere; }
.sf-bk__facts dd a { color: var(--sfb-ink) !important; }
.sf-bk__card .sf-bk__act { padding: 0 18px 12px; }
.sf-bk__act--msg { flex-direction: column; align-items: flex-start; }
.sf-bk__msg { width: 100%; }
.sf-bk__msg textarea, .sf-bk__cancel textarea { width: 100%; padding: 10px 12px; border-radius: var(--sfb-radius-sm); border: 1px solid var(--sfb-line-strong); font: 400 16px/1.4 var(--sfb-font); color: var(--sfb-ink); resize: vertical; background: var(--sfb-white); }
.sf-bk__foot { padding: 10px 18px 16px; border-top: 1px solid var(--sfb-line); background: #FCFCFB; }
.sf-bk__cancel label span { display: block; font-size: 13px; font-weight: 600; color: var(--sfb-ink-soft); margin: 4px 0 6px; }
.sf-bk__cancel em { font-style: normal; font-weight: 400; color: var(--sfb-muted); }
.sf-bk__fine { margin: 8px 0 0; font-size: 13px; color: var(--sfb-muted); }
.sf-bk__back { margin: 16px 2px 0; }
.sf-bk__back a { display: inline-flex; align-items: center; gap: 6px; color: var(--sfb-ink-soft) !important; font-size: 14px; text-decoration: none !important; }

/* Kortelė /meniu/ ir skydelyje */
.sf-bk--card { background: var(--sfb-white); border: 1px solid var(--sfb-line); border-radius: var(--sfb-radius); box-shadow: var(--sfb-shadow); padding: 4px 0 2px; margin: 0 0 16px; max-width: none; }
.sf-bk__cardhead { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px 4px; }
.sf-bk__cardhead h3 { margin: 0; font: 600 16px/1.3 var(--sfb-font); }
.sf-bk__cardhead a { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--sfb-ink-soft) !important; text-decoration: none !important; }
.sf-bk--card .sf-bk__main { padding: 10px 16px 14px 14px; }
.sf-bk__cardp { margin: 2px 16px 12px; color: var(--sfb-ink-soft); font-size: 14px; }
.sf-bk--card .sf-bk__act { padding: 0 16px 14px; }
@media (max-width: 480px) {
	.sf-bk__facts dt { width: 92px; }
	.sf-bk__act .sf-bk__btn { flex: 1 1 auto; }
}

/* =========================================================================
   Trenerio tvarkaraštis (sf-sch) ir skydelio kortelė (sf-agenda)
   ========================================================================= */
.sf-sch { max-width: 760px; font-size: 15px; line-height: 1.45; }
.sf-sch__lead { margin: 0 0 16px; color: var(--sfb-ink-soft); }
.sf-sch__card { display: block; background: var(--sfb-white); border: 1px solid var(--sfb-line); border-radius: var(--sfb-radius); box-shadow: var(--sfb-shadow); padding: 18px; margin: 0 0 16px; }
.sf-sch__card h2 { margin: 0 0 4px; font: 600 18px/1.3 var(--sfb-font); letter-spacing: -.01em; }
.sf-sch__hint { margin: 0 0 12px; color: var(--sfb-muted); font-size: 13.5px; }
.sf-sch__days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.sf-sch__day { position: relative; display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 7px 0 6px; border-radius: 12px; border: 1px solid var(--sfb-line); background: var(--sfb-white); color: var(--sfb-ink); font: inherit; cursor: pointer; transition: transform 160ms var(--sfb-ease), background-color 160ms ease; }
.sf-sch__day span { font-size: 10.5px; color: var(--sfb-muted); line-height: 1; }
.sf-sch__day b { font-size: 16px; font-weight: 600; line-height: 1.2; }
.sf-sch__day i { position: absolute; top: 3px; right: 4px; min-width: 15px; height: 15px; padding: 0 3px; border-radius: 8px; background: var(--sfb-ink); color: #fff; font: 600 10px/15px var(--sfb-font); font-style: normal; }
.sf-sch__day:active { transform: scale(.96); }
.sf-sch__day.is-off { background: repeating-linear-gradient(-45deg, var(--sfb-50), var(--sfb-50) 4px, var(--sfb-100) 4px, var(--sfb-100) 8px); color: var(--sfb-muted); border-color: var(--sfb-200); }
.sf-sch__day.is-off b { text-decoration: line-through; }
.sf-sch__more { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin-top: 12px; }
.sf-sch__more label span { display: block; font-size: 12.5px; color: var(--sfb-muted); margin-bottom: 4px; }
.sf-sch__more input, .sf-sch__ed input, .sf-sch__ed select { height: 42px; padding: 0 10px; border-radius: 12px; border: 1px solid var(--sfb-line-strong); background: var(--sfb-white); font: 400 16px/1 var(--sfb-font); color: var(--sfb-ink); }
.sf-sch__msg { margin: 10px 0 0; font-size: 14px; }
.sf-sch__msg.is-ok { color: var(--sfb-ok); }
.sf-sch__msg.is-err { color: var(--sfb-warn); }
.sf-sch__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.sf-sch__head small { color: var(--sfb-muted); font-size: 13px; }
.sf-sch__head .sf-bk__st { margin: 0 0 6px; }
.sf-sch__warn { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 12px; padding: 10px 12px; border-radius: var(--sfb-radius-sm); background: #FFF6E8; color: #7A4E12; font-size: 14px; }
.sf-sch__week { border: 0; margin: 0 0 14px; padding: 0; }
.sf-sch__week legend, .sf-sch__grid label > span { font-size: 13px; font-weight: 600; color: var(--sfb-ink-soft); margin-bottom: 8px; padding: 0; }
.sf-sch__dayrow { display: grid; grid-template-columns: 150px 1fr; align-items: center; gap: 6px 10px; padding: 8px 0; border-top: 1px solid var(--sfb-line); }
.sf-sch__tg { display: flex; align-items: center; gap: 10px; cursor: pointer; margin: 0; }
.sf-sch__tg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.sf-sch__sw { flex: none; width: 38px; height: 22px; border-radius: 11px; background: var(--sfb-200); position: relative; transition: background-color 160ms ease; }
.sf-sch__sw::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, .2); transition: transform 180ms var(--sfb-ease); }
.sf-sch__tg input:checked + .sf-sch__sw { background: var(--sfb-ink); }
.sf-sch__tg input:checked + .sf-sch__sw::after { transform: translateX(16px); }
.sf-sch__tg input:focus-visible + .sf-sch__sw { outline: 2px solid var(--sfb-500); outline-offset: 2px; }
.sf-sch__tg b { font-weight: 500; font-size: 15px; }
.sf-sch__ivs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sf-sch__iv { display: inline-flex; align-items: center; gap: 6px; }
.sf-sch__iv i { font-style: normal; color: var(--sfb-muted); }
.sf-sch__iv input { width: 104px; }
.sf-sch__x { width: 30px; height: 30px; border-radius: 50%; border: 0; background: var(--sfb-50); color: var(--sfb-ink-soft); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; }
.sf-sch__add, .sf-sch__copy { border: 0; background: none; padding: 4px 2px; font: 500 13.5px/1.2 var(--sfb-font); color: var(--sfb-ink-soft); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.sf-sch__copy { margin-top: 8px; }
.sf-sch__off { display: none; color: var(--sfb-muted); font-size: 14px; }
.sf-sch__dayrow.is-off .sf-sch__ivs { display: none; }
.sf-sch__dayrow.is-off .sf-sch__off { display: block; }
.sf-sch__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 14px; }
.sf-sch__grid label { display: flex; flex-direction: column; margin: 0; }
.sf-sch__grid label > span { margin-bottom: 6px; }
.sf-sch__grid label em { font-style: normal; font-weight: 400; color: var(--sfb-muted); }
.sf-sch__grid small { margin-top: 4px; color: var(--sfb-muted); font-size: 12.5px; }
.sf-sch__grid input, .sf-sch__grid select { width: 100%; }
.sf-sch__wide { grid-column: span 3; }
.sf-sch__preview { margin: 14px 0 0; padding: 10px 12px; border-radius: var(--sfb-radius-sm); background: var(--sfb-50); color: var(--sfb-ink-soft); font-size: 14px; }
.sf-sch__save .sf-book__cta { max-width: 360px; }
@media (max-width: 640px) {
	.sf-sch__card { padding: 16px 14px; border-radius: 20px; }
	.sf-sch__dayrow { grid-template-columns: 1fr; }
	.sf-sch__ivs { padding-left: 48px; }
	.sf-sch__iv input { width: 96px; }
	.sf-sch__grid { grid-template-columns: 1fr 1fr; }
	.sf-sch__wide { grid-column: span 2; }
	.sf-sch__save .sf-book__cta { max-width: none; }
}
.sf-agenda__list { list-style: none; margin: 0; padding: 0 8px 6px; }
.sf-agenda__row { display: flex; align-items: center; gap: 12px; padding: 10px 8px; border-radius: 12px; color: var(--sfb-ink) !important; text-decoration: none !important; }
.sf-agenda__row b { flex: none; width: 58px; font-weight: 600; font-variant-numeric: tabular-nums; font-size: 14px; line-height: 1.2; }
.sf-agenda__row span { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; font-size: 14.5px; }
.sf-agenda__row small { color: var(--sfb-muted); font-size: 12.5px; }
.sf-agenda__row > .sf-ico { color: var(--sfb-300); }
@media (hover: hover) and (pointer: fine) { .sf-agenda__row:hover, .sf-sch__day:hover { background: var(--sfb-50); } }
.sf-agenda__h { margin: 6px 16px 2px; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--sfb-muted); font-weight: 600; }
.sf-agenda__close.is-off { background: var(--sfb-100); }
.sf-agenda .sf-sch__msg { flex-basis: 100%; margin: 0; }
.sf-agenda .sf-sch__warn { margin: 6px 16px 12px; }
.sf-sch__time { width: 96px; padding-right: 6px !important; }
.sf-sch__acc { margin: 0 0 14px; background: var(--sfb-white, #fff); border: 1px solid var(--sfb-line); border-radius: var(--sfb-radius); box-shadow: var(--sfb-shadow); }
.sf-sch__acc > summary { list-style: none; display: flex; align-items: center; gap: 12px; padding: 16px 18px; cursor: pointer; }
.sf-sch__acc > summary::-webkit-details-marker { display: none; }
.sf-sch__acc > summary > span { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.sf-sch__acc > summary b { font-weight: 600; font-size: 16px; }
.sf-sch__acc > summary small { color: var(--sfb-muted); font-size: 13px; }
.sf-sch__acc > summary > .sf-ico { color: var(--sfb-500); transition: transform 180ms var(--sfb-ease); }
.sf-sch__acc[open] > summary > .sf-ico { transform: rotate(90deg); }
.sf-sch__acc > .sf-sch__ed { border: 0; box-shadow: none; margin: 0; padding-top: 0; }
.sf-sch__acc .sf-sch__head h2 { display: none; }
