.ca-app {
	direction: rtl;
	text-align: right;
	font-family: 'Vazirmatn', 'IRANSans', Tahoma, 'Segoe UI', sans-serif;
	background: #ffffff;
	border: 1px solid #e5e9f2;
	border-radius: 14px;
	padding: 24px;
	margin: 24px auto;
	box-shadow: 0 6px 30px rgba(15, 40, 80, 0.07);
	box-sizing: border-box;
}
.ca-app *, .ca-app *::before, .ca-app *::after { box-sizing: border-box; }

.ca-title {
	margin: 0 0 18px;
	font-size: 20px;
	color: #123c63;
	border-bottom: 2px solid #e8f1fb;
	padding-bottom: 12px;
}
.ca-subtitle { margin: 0 0 12px; color: #123c63; }

.ca-login-box, .ca-panel-login {
	max-width: 420px;
	margin: 0 auto;
}

.ca-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 18px;
	flex-wrap: wrap;
}
.ca-tab {
	border: 1px solid #d7e2f0;
	background: #f5f9ff;
	color: #2c5d8f;
	padding: 9px 18px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 14px;
	font-family: inherit;
}
.ca-tab.active {
	background: #1f6fb2;
	color: #fff;
	border-color: #1f6fb2;
}
.ca-tab-pane { display: none; }
.ca-tab-pane.active { display: block; }

.ca-label {
	display: block;
	font-size: 13px;
	color: #4a5b70;
	margin: 12px 0 5px;
}
.ca-input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d7e2f0;
	border-radius: 8px;
	font-size: 14px;
	font-family: inherit;
	background: #fff;
	color: #1d2b3a;
}
.ca-input:focus {
	outline: none;
	border-color: #1f6fb2;
	box-shadow: 0 0 0 3px rgba(31, 111, 178, 0.12);
}
.ca-input[readonly] { background: #f4f7fb; }

textarea.ca-input { resize: vertical; }

.ca-btn {
	display: inline-block;
	border: none;
	border-radius: 8px;
	padding: 10px 20px;
	font-size: 14px;
	font-family: inherit;
	cursor: pointer;
	margin-top: 12px;
	transition: opacity 0.15s;
}
.ca-btn:hover { opacity: 0.9; }
.ca-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.ca-btn-primary { background: #1f6fb2; color: #fff; }
.ca-btn-success { background: #2e9e5b; color: #fff; }
.ca-btn-danger { background: #d64541; color: #fff; }
.ca-btn-warn { background: #e67e22; color: #fff; }
.ca-btn-light { background: #eef3f9; color: #2c5d8f; border: 1px solid #d7e2f0; }
.ca-btn-lg { width: 100%; padding: 14px; font-size: 16px; margin-top: 18px; }
.ca-btn-sm { padding: 5px 10px; font-size: 12.5px; margin: 2px 0 2px 4px; }

.ca-row { display: flex; gap: 16px; flex-wrap: wrap; }
.ca-col { flex: 1 1 240px; min-width: 200px; }

.ca-slots { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; min-height: 40px; }
.ca-slot {
	border: 1px solid #d7e2f0;
	background: #f5f9ff;
	color: #2c5d8f;
	border-radius: 8px;
	padding: 8px 14px;
	cursor: pointer;
	font-size: 14px;
	font-family: inherit;
}
.ca-slot.selected { background: #1f6fb2; color: #fff; border-color: #1f6fb2; }
.ca-hint { color: #8296ab; font-size: 13px; padding: 8px 0; }

.ca-summary {
	margin-top: 18px;
	border: 1px dashed #c7d6e8;
	border-radius: 10px;
	padding: 12px 16px;
	background: #f8fbff;
}
.ca-summary-row {
	display: flex;
	justify-content: space-between;
	padding: 5px 0;
	font-size: 14px;
	color: #42566d;
}
.ca-summary-final { border-top: 1px solid #e2ecf7; margin-top: 6px; padding-top: 10px; font-size: 15px; color: #123c63; }

.ca-msg { margin-top: 10px; font-size: 13.5px; min-height: 20px; }
.ca-msg-ok { color: #2e9e5b; }
.ca-msg-err { color: #d64541; }

.ca-alert {
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 16px;
	font-size: 14px;
}
.ca-alert-success { background: #e8f8ee; color: #207244; border: 1px solid #bce6cc; }
.ca-alert-error { background: #fdeceb; color: #a5322f; border: 1px solid #f3c3c1; }

/* جدول‌ها و پنل */
.ca-table-wrap { overflow-x: auto; }
.ca-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.ca-table th, .ca-table td {
	padding: 10px 8px;
	border-bottom: 1px solid #e8eef6;
	text-align: right;
	vertical-align: top;
}
.ca-table th { background: #f5f9ff; color: #2c5d8f; font-weight: 600; }
.ca-empty { text-align: center; color: #8296ab; padding: 24px !important; }
.ca-muted { color: #8296ab; font-size: 12.5px; }
.ca-actions { white-space: nowrap; }

.ca-badge {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 20px;
	font-size: 12px;
}
.ca-badge-pending_payment { background: #fef3e2; color: #b26a00; }
.ca-badge-pending_review { background: #e8f1fb; color: #1f6fb2; }
.ca-badge-approved { background: #e8f8ee; color: #207244; }
.ca-badge-canceled { background: #eef1f5; color: #64748b; }
.ca-badge-rejected { background: #fdeceb; color: #a5322f; }
.ca-badge-done { background: #e6f7f6; color: #0f766e; }

.ca-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 14px 0; }
.ca-pill {
	border: 1px solid #d7e2f0;
	background: #fff;
	color: #2c5d8f;
	border-radius: 20px;
	padding: 5px 14px;
	font-size: 13px;
	text-decoration: none;
	cursor: pointer;
}
.ca-pill.active { background: #1f6fb2; color: #fff; border-color: #1f6fb2; }

.ca-box {
	border: 1px solid #e5e9f2;
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 20px;
	background: #fbfdff;
}

.ca-pagination { display: flex; gap: 6px; margin-top: 14px; flex-wrap: wrap; }

/* دیت‌پیکر شمسی */
.ca-datepicker {
	position: absolute;
	z-index: 99999;
	background: #fff;
	border: 1px solid #d7e2f0;
	border-radius: 12px;
	box-shadow: 0 10px 34px rgba(15, 40, 80, 0.16);
	padding: 12px;
	width: 288px;
	direction: rtl;
	font-family: inherit;
	display: none;
}
.ca-dp-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
}
.ca-dp-title { font-weight: 600; font-size: 14px; color: #123c63; }
.ca-dp-nav {
	border: 1px solid #d7e2f0;
	background: #f5f9ff;
	color: #2c5d8f;
	border-radius: 6px;
	width: 30px;
	height: 28px;
	cursor: pointer;
	font-size: 15px;
	line-height: 1;
}
.ca-dp-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 3px; }
.ca-dp-dow {
	font-size: 11px;
	color: #8296ab;
	text-align: center;
	padding: 4px 0;
}
.ca-dp-day {
	text-align: center;
	padding: 7px 0;
	border-radius: 7px;
	font-size: 13px;
	cursor: pointer;
	color: #1d2b3a;
}
.ca-dp-day:hover:not(.disabled):not(.empty) { background: #e8f1fb; }
.ca-dp-day.disabled { color: #c3cedb; cursor: not-allowed; background: #fafbfc; }
.ca-dp-day.empty { cursor: default; }
.ca-dp-day.loading { opacity: 0.45; }


/* Patient booking session controls */
.ca-session-bar {
	margin-top: 14px;
	padding: 10px 14px;
	border: 1px solid #e4e4e4;
	border-radius: 10px;
	background: #fafafa;
	text-align: center;
	font-size: 14px;
}
.ca-session-bar strong {
	display: inline-block;
	min-width: 52px;
	font-variant-numeric: tabular-nums;
}
.ca-cancel-booking {
	display: block;
	width: 100%;
	margin-top: 10px;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}
.ca-slot-reserved,
.ca-slot-reserved:disabled {
	background: #f7d7d7 !important;
	border-color: #d9534f !important;
	color: #b42318 !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}
.ca-badge-no_show{background:#fff4e5;color:#b26a00}

.ca-dp-head{gap:8px}.ca-dp-selectors{display:flex;align-items:center;gap:5px;min-width:0}.ca-dp-month,.ca-dp-year{border:1px solid #c3c9d2;background:#fff;border-radius:7px;padding:5px 7px;font-size:12px;color:#123c63;max-width:115px}.ca-dp-year{width:70px}.ca-dp-month{width:105px}.ca-dp-day.holiday{color:#c0392b;background:#fff1f0;font-weight:600}.ca-dp-day.holiday.disabled:hover{background:#fff1f0}

.ca-dp-selectors{display:flex;align-items:center;gap:6px;min-width:0}.ca-dp-picker-wrap{position:relative}.ca-dp-picker{-webkit-appearance:none;appearance:none;text-align:center;user-select:none;border:1px solid #c3c9d2;background:#fff;color:#123c63;border-radius:7px;padding:6px 9px;font-size:12px;font-family:inherit;cursor:pointer;min-width:92px;white-space:nowrap}.ca-dp-year-picker{min-width:68px}.ca-dp-picker:hover,.ca-dp-picker:focus{border-color:#1f6fb2;outline:none;box-shadow:0 0 0 2px rgba(31,111,178,.10)}.ca-dp-menu{display:none;position:absolute;top:calc(100% + 5px);right:0;z-index:100002;min-width:130px;max-height:230px;overflow-y:auto;background:#fff;border:1px solid #d7e2f0;border-radius:9px;box-shadow:0 10px 28px rgba(15,40,80,.18);padding:5px}.ca-dp-menu.ca-open{display:block}.ca-dp-year-menu{min-width:80px}.ca-dp-option{display:block;width:100%;border:0;background:#fff;color:#334155;text-align:right;padding:7px 9px;border-radius:6px;font:inherit;font-size:12px;cursor:pointer}.ca-dp-option:hover,.ca-dp-option.selected{background:#e8f1fb;color:#1f6fb2;font-weight:600}


/* 1.3.2 compact modern clinic panel */
.ca-panel{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 12px 40px rgba(15,23,42,.06)}
.ca-panel .ca-title{display:flex;align-items:center;justify-content:space-between;color:#0f2740;border-bottom:0;margin-bottom:10px;padding-bottom:4px}
.ca-panel-topbar{background:linear-gradient(135deg,#f8fbff,#f1f6fb);border-color:#dbe6f1;border-radius:12px;padding:10px 12px}
.ca-panel .ca-tabs{padding:5px;background:#edf3f8;border-radius:12px;gap:4px;margin-bottom:14px}
.ca-panel .ca-tab{background:transparent;border:0;border-radius:9px;padding:8px 14px;color:#52677c}
.ca-panel .ca-tab.active{background:#fff;color:#1f6fb2;box-shadow:0 2px 8px rgba(15,40,80,.08)}
.ca-management-toolbar{background:#fff;border:1px solid #e3eaf1;border-radius:14px;padding:10px 12px;margin:8px 0 12px;box-shadow:0 4px 18px rgba(15,40,80,.035)}
.ca-search-form-compact{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(135px,.7fr) minmax(175px,.9fr) auto auto;gap:7px;align-items:center;margin:0}
.ca-search-form-compact .ca-input{height:38px;padding:7px 10px;margin:0;background:#fff}
.ca-search-form-compact .ca-btn{height:38px;margin:0;white-space:nowrap}
.ca-status-filter{margin:9px 0 0;padding-top:9px;border-top:1px solid #eef2f6;gap:5px}
.ca-status-filter .ca-pill{padding:5px 10px;font-size:12px;border-radius:8px;background:#f8fafc;border-color:#e2e8f0;color:#53687d}
.ca-status-filter .ca-pill:hover{background:#edf5fb;border-color:#cfe0ef;color:#1f6fb2}
.ca-status-filter .ca-pill.active{background:#1f6fb2;color:#fff;border-color:#1f6fb2}
.ca-panel .ca-table-wrap{overflow:auto !important}
.ca-panel .ca-table th{background:#f6f9fc;color:#41586f;border-bottom:1px solid #e4ebf2;padding:11px 9px}
.ca-panel .ca-table td{background:#fff;padding:10px 9px}
.ca-panel .ca-table tbody tr:hover td{background:#fbfdff}
.ca-panel .ca-actions{white-space:normal;min-width:270px}
.ca-panel .ca-actions .ca-btn{margin:2px;padding:5px 8px}
.ca-open-days-box{background:#fff;border-color:#e3eaf1}.ca-open-day-form .ca-label{margin-top:4px}.ca-compact-table{min-width:650px}
@media(max-width:900px){.ca-search-form-compact{grid-template-columns:1fr 1fr}.ca-search-main{grid-column:1/-1}.ca-search-sort{grid-column:1/2}}
@media(max-width:600px){.ca-management-toolbar{padding:9px}.ca-search-form-compact{display:flex;flex-direction:column;align-items:stretch}.ca-search-form-compact>*,.ca-search-form-compact .ca-btn{width:100%}.ca-status-filter{overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}.ca-status-filter .ca-pill{white-space:nowrap}}


/* 1.3.7 — Neo-morphism booking experience */
.ca-app {
	--ca-fg:#17364f;
	--ca-muted:#72879a;
	--ca-blue:#62b4e8;
	--ca-blue-deep:#2878b8;
	--ca-purple:#9582e8;
	--ca-pink:#e3a0c5;
	background:
		radial-gradient(circle at 10% 0%, rgba(227,160,197,.13), transparent 28%),
		radial-gradient(circle at 95% 8%, rgba(98,180,232,.18), transparent 32%),
		linear-gradient(145deg,#f9fdff,#edf6fb) !important;
	border:1px solid rgba(143,174,199,.32) !important;
	border-radius:26px !important;
	box-shadow:16px 16px 38px rgba(92,126,151,.16),-12px -12px 30px rgba(255,255,255,.92) !important;
	color:var(--ca-fg);
}
.ca-title { color:var(--ca-fg) !important; font-weight:800; letter-spacing:-.2px; }
.ca-subtitle { color:#31556e !important; font-weight:700; }
.ca-label { color:#587086 !important; font-weight:700; }
.ca-input {
	border:1px solid rgba(143,174,199,.38) !important;
	border-radius:14px !important;
	background:rgba(255,255,255,.88) !important;
	box-shadow:inset 3px 3px 8px rgba(115,147,171,.10), inset -3px -3px 8px rgba(255,255,255,.92) !important;
	min-height:44px;
}
.ca-input:focus {
	border-color:rgba(98,180,232,.75) !important;
	box-shadow:0 0 0 4px rgba(98,180,232,.11), inset 2px 2px 6px rgba(115,147,171,.08) !important;
}
.ca-btn {
	border-radius:13px !important;
	box-shadow:6px 7px 15px rgba(91,133,180,.14),-4px -4px 10px rgba(255,255,255,.9) !important;
	font-weight:700;
}
.ca-btn-primary { background:linear-gradient(135deg,#68b9ea,#9185e8) !important; }
.ca-btn-success { background:linear-gradient(135deg,#69cfad,#62bde0) !important; }
.ca-btn-danger { background:linear-gradient(135deg,#ec9eaa,#d889bd) !important; }
.ca-btn-light { background:linear-gradient(145deg,#fff,#eaf4fa) !important; }
.ca-tab {
	border:1px solid rgba(143,174,199,.28) !important;
	border-radius:12px !important;
	background:linear-gradient(145deg,#fff,#edf5fa) !important;
	box-shadow:4px 4px 9px rgba(104,137,160,.09),-4px -4px 8px rgba(255,255,255,.84) !important;
}
.ca-tab.active { background:linear-gradient(135deg,#69b9e8,#9185e7) !important; border-color:transparent !important; }
.ca-slot {
	border:1px solid rgba(143,174,199,.30) !important;
	border-radius:11px !important;
	background:linear-gradient(145deg,#fff,#edf6fb) !important;
	box-shadow:3px 3px 8px rgba(104,137,160,.09),-3px -3px 7px rgba(255,255,255,.85) !important;
}
.ca-slot.selected { background:linear-gradient(135deg,#69b9e8,#9185e7) !important; border-color:transparent !important; }
.ca-summary,.ca-session-bar {
	border:1px solid rgba(143,174,199,.25) !important;
	border-radius:16px !important;
	background:linear-gradient(145deg,#f8fcff,#eaf4fa) !important;
	box-shadow:inset 3px 3px 8px rgba(115,147,171,.07),inset -3px -3px 8px rgba(255,255,255,.82) !important;
}
.ca-datepicker {
	border:1px solid rgba(143,174,199,.32) !important;
	border-radius:18px !important;
	background:linear-gradient(145deg,#fff,#eef7fc) !important;
	box-shadow:14px 14px 30px rgba(83,119,145,.18),-9px -9px 24px rgba(255,255,255,.95) !important;
	padding:14px !important;
}
.ca-dp-nav,.ca-dp-picker {
	border-color:rgba(143,174,199,.28) !important;
	border-radius:10px !important;
	background:linear-gradient(145deg,#fff,#eaf4fa) !important;
	box-shadow:3px 3px 8px rgba(104,137,160,.10),-3px -3px 7px rgba(255,255,255,.86) !important;
}
.ca-dp-option:hover,.ca-dp-option.selected { background:linear-gradient(135deg,#e4f6ff,#f0eaff) !important; color:#397ca9 !important; }
.ca-dp-day { border-radius:9px !important; }
.ca-dp-day:hover:not(.disabled):not(.empty) { background:#e1f4ff !important; }
.ca-dp-day.holiday { background:#ffe8f1 !important; color:#c45b88 !important; }
.ca-slot-reserved,.ca-slot-reserved:disabled { background:#ffe1e4 !important; border-color:#e18a94 !important; color:#b42318 !important; }


/* 1.3.8 — OTP resend */
#ca-otp-step2 #ca-otp-resend{min-width:180px;}
#ca-otp-step2 #ca-otp-resend:disabled{opacity:.72;cursor:not-allowed;filter:saturate(.7);}

/* 1.3.9 — Material UI / modern clinic experience
 * Visual layer only. Keeps existing booking/authentication/availability logic intact.
 */
.ca-app {
  --ca-m-primary:#4f7cff;
  --ca-m-primary-2:#7c5cff;
  --ca-m-secondary:#d94fa7;
  --ca-m-ice:#eef7ff;
  --ca-m-surface:#ffffff;
  --ca-m-surface-2:#f7faff;
  --ca-m-outline:#d9e3ef;
  --ca-m-text:#172b4d;
  --ca-m-muted:#71829a;
  --ca-m-success:#159570;
  --ca-m-danger:#d94b5b;
  --ca-m-shadow:0 10px 30px rgba(35,65,110,.09),0 2px 8px rgba(35,65,110,.05);
  --ca-m-shadow-lg:0 18px 45px rgba(35,65,110,.13),0 5px 14px rgba(35,65,110,.06);
  font-family:'Vazirmatn','IRANSans',Tahoma,'Segoe UI',sans-serif !important;
  color:var(--ca-m-text) !important;
  background:linear-gradient(180deg,#fbfdff 0%,#f5f9fd 100%) !important;
  border:1px solid #e1e9f2 !important;
  border-radius:24px !important;
  box-shadow:var(--ca-m-shadow-lg) !important;
  padding:28px !important;
}
.ca-app .ca-title{font-size:22px !important;font-weight:800 !important;color:var(--ca-m-text) !important;border:0 !important;padding:0 0 16px !important;margin:0 0 22px !important;letter-spacing:-.3px}
.ca-app .ca-label{font-size:12px !important;font-weight:700 !important;color:#50647d !important;margin:15px 0 7px !important}
.ca-app .ca-input{min-height:46px !important;border:1px solid var(--ca-m-outline) !important;border-radius:12px !important;background:#fff !important;color:var(--ca-m-text) !important;padding:11px 13px !important;box-shadow:0 1px 2px rgba(23,43,77,.03) !important;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s !important}
.ca-app .ca-input:hover{border-color:#b8c9dc !important}
.ca-app .ca-input:focus{outline:none !important;border-color:#6b8fff !important;background:#fff !important;box-shadow:0 0 0 4px rgba(79,124,255,.11) !important}
.ca-app .ca-input[readonly]{background:#f9fbfe !important;cursor:pointer}
.ca-app .ca-btn{min-height:42px !important;border-radius:12px !important;padding:9px 16px !important;font-weight:700 !important;border:1px solid transparent !important;box-shadow:0 3px 8px rgba(35,65,110,.09) !important;transition:transform .16s,box-shadow .16s,filter .16s !important}
.ca-app .ca-btn:hover{opacity:1 !important;transform:translateY(-1px);box-shadow:0 6px 14px rgba(35,65,110,.13) !important}
.ca-app .ca-btn:active{transform:translateY(0);box-shadow:0 2px 5px rgba(35,65,110,.10) !important}
.ca-app .ca-btn-primary{background:linear-gradient(135deg,var(--ca-m-primary),var(--ca-m-primary-2)) !important;color:#fff !important}
.ca-app .ca-btn-success{background:linear-gradient(135deg,#17a982,#35b9a0) !important;color:#fff !important}
.ca-app .ca-btn-danger{background:linear-gradient(135deg,#df5a69,#d94fa7) !important;color:#fff !important}
.ca-app .ca-btn-warn{background:linear-gradient(135deg,#e6a24c,#d97978) !important;color:#fff !important}
.ca-app .ca-btn-light{background:#fff !important;color:#47627f !important;border-color:#dbe5ef !important;box-shadow:0 2px 6px rgba(35,65,110,.06) !important}
.ca-app .ca-btn-lg{min-height:50px !important;border-radius:14px !important;font-size:15px !important;margin-top:20px !important}
.ca-app .ca-tabs{gap:5px !important;padding:5px !important;border-radius:14px !important;background:#edf3f9 !important;margin-bottom:22px !important}
.ca-app .ca-tab{min-height:40px !important;border:0 !important;border-radius:10px !important;background:transparent !important;color:#60758e !important;font-weight:700 !important;box-shadow:none !important;padding:8px 16px !important}
.ca-app .ca-tab.active{background:#fff !important;color:var(--ca-m-primary) !important;box-shadow:0 3px 10px rgba(35,65,110,.09) !important}
.ca-app .ca-row{gap:18px !important}
.ca-app .ca-box,.ca-app .ca-summary{border:1px solid #e1e9f2 !important;border-radius:16px !important;background:#fff !important;box-shadow:var(--ca-m-shadow) !important}
.ca-app .ca-summary{padding:16px 18px !important}
.ca-app .ca-summary-row{padding:8px 0 !important;color:#5b6e85 !important}
.ca-app .ca-summary-final{color:var(--ca-m-text) !important;border-top:1px solid #e9eef5 !important}
.ca-app .ca-alert{border-radius:14px !important;padding:13px 16px !important;box-shadow:0 3px 10px rgba(35,65,110,.05) !important}
.ca-app .ca-alert-success{background:#effbf7 !important;border-color:#c9eee1 !important;color:#087b5e !important}
.ca-app .ca-alert-error{background:#fff2f4 !important;border-color:#f2ccd2 !important;color:#b32e42 !important}
.ca-app .ca-slot{min-height:42px !important;border:1px solid #dce6f1 !important;border-radius:11px !important;background:#fff !important;color:#42607c !important;box-shadow:0 2px 6px rgba(35,65,110,.05) !important;padding:9px 14px !important}
.ca-app .ca-slot:hover:not(.disabled){border-color:#9eb6ff !important;background:#f4f7ff !important}
.ca-app .ca-slot.selected{background:linear-gradient(135deg,var(--ca-m-primary),var(--ca-m-primary-2)) !important;color:#fff !important;border-color:transparent !important}
.ca-app .ca-slot-reserved,.ca-app .ca-slot-reserved:disabled{background:#fff0f2 !important;color:#c52f43 !important;border-color:#efb9c1 !important;box-shadow:none !important}
.ca-app .ca-filter{gap:7px !important}
.ca-app .ca-pill{border:1px solid #dbe5ef !important;border-radius:10px !important;background:#fff !important;color:#536b84 !important;padding:7px 12px !important;box-shadow:0 2px 6px rgba(35,65,110,.04) !important}
.ca-app .ca-pill.active{background:var(--ca-m-primary) !important;color:#fff !important;border-color:var(--ca-m-primary) !important}
.ca-app .ca-table-wrap{border:1px solid #e1e9f2 !important;border-radius:16px !important;background:#fff !important;box-shadow:var(--ca-m-shadow) !important;overflow:auto}
.ca-app .ca-table{border-collapse:separate !important;border-spacing:0 !important}
.ca-app .ca-table th{background:#f6f9fd !important;color:#50657d !important;font-size:12px !important;font-weight:800 !important;padding:13px 14px !important;border-bottom:1px solid #e5ebf2 !important;white-space:nowrap}
.ca-app .ca-table td{padding:13px 14px !important;border-bottom:1px solid #edf1f6 !important;background:#fff !important}
.ca-app .ca-table tbody tr:hover td{background:#fbfdff !important}
.ca-app .ca-badge{font-weight:700 !important;border-radius:8px !important;padding:5px 9px !important}
.ca-app .ca-datepicker{width:304px !important;padding:13px !important;border:1px solid #dbe5ef !important;border-radius:18px !important;background:#fff !important;box-shadow:0 18px 45px rgba(35,65,110,.16),0 4px 12px rgba(35,65,110,.07) !important}
.ca-app .ca-dp-nav,.ca-app .ca-dp-picker{border:1px solid #dbe5ef !important;border-radius:10px !important;background:#f8fbff !important;color:#45627f !important;box-shadow:none !important}
.ca-app .ca-dp-nav:hover,.ca-app .ca-dp-picker:hover{background:#eef5ff !important;border-color:#a9bfff !important}
.ca-app .ca-dp-option{border-radius:8px !important}
.ca-app .ca-dp-option:hover,.ca-app .ca-dp-option.selected{background:#eef3ff !important;color:#4168dc !important}
.ca-app .ca-dp-day{border-radius:9px !important}
.ca-app .ca-dp-day:hover:not(.disabled):not(.empty){background:#edf3ff !important}
.ca-app .ca-dp-day.holiday{background:#fff0f4 !important;color:#c43c65 !important;font-weight:800 !important}
.ca-app .ca-session-bar{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;margin:0 !important;min-width:160px !important;padding:8px 11px !important;border:1px solid #dbe6f3 !important;border-radius:12px !important;background:#fff !important;color:#64758a !important;box-shadow:0 3px 10px rgba(35,65,110,.06) !important;font-size:11px !important;white-space:nowrap !important}
.ca-app .ca-session-bar strong{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:54px !important;height:30px !important;border-radius:9px !important;background:#edf3ff !important;color:#4168dc !important;font-size:14px !important;letter-spacing:.2px !important}
.ca-app .ca-booking-heading{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:18px !important;margin-bottom:18px !important}
.ca-app .ca-booking-heading .ca-title{margin:0 !important;padding:0 !important}
.ca-app .ca-panel-topbar{border:1px solid #dce6f1 !important;border-radius:15px !important;background:#fff !important;box-shadow:0 4px 14px rgba(35,65,110,.06) !important;padding:9px 12px !important}
.ca-app .ca-panel .ca-title{font-size:21px !important}
.ca-app .ca-management-toolbar{border:1px solid #e0e8f1 !important;border-radius:16px !important;background:#fff !important;box-shadow:0 5px 18px rgba(35,65,110,.06) !important;padding:12px !important}
.ca-app .ca-live-update-status{margin:0 !important;padding:6px 10px !important;border-radius:999px !important;background:#effaf7 !important;border:1px solid #d2eee5 !important;color:#187c65 !important;font-size:11px !important;font-weight:700 !important;box-shadow:none !important}
.ca-app .ca-live-update-status:before{width:7px !important;height:7px !important;background:#20a987 !important;box-shadow:0 0 0 4px rgba(32,169,135,.10) !important}
.ca-app .ca-live-update-status.is-updated{background:#eef3ff !important;color:#4168dc !important;border-color:#d9e1ff !important}
@media(max-width:700px){
  .ca-app{padding:18px !important;border-radius:18px !important}
  .ca-app .ca-booking-heading{align-items:stretch;flex-direction:column}
  .ca-app .ca-session-bar{width:100% !important}
  .ca-app .ca-session-bar{justify-content:space-between !important}
}
