.aslama-pro-page,.aslama-booking-wrap{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#0f172a}.aslama-pro-page{background:#f8fafc;padding:45px 20px 65px}.aslama-pro-inner{max-width:1180px;margin:auto}.aslama-dashboard-head{margin-bottom:30px}.aslama-dashboard-head h1{font-size:34px;font-weight:950;margin:0 0 8px}.aslama-dashboard-head p,.aslama-rdv-panel p,.aslama-booking-wrap p{color:#64748b}.aslama-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:30px}.aslama-kpi,.aslama-rdv-panel,.aslama-booking-wrap{background:white;border:1px solid #e5e7eb;border-radius:24px;padding:26px;box-shadow:0 12px 32px rgba(15,23,42,.04)}.aslama-kpi.highlight{border-color:#ffd6d6}.aslama-kpi span{display:block;color:#94a3b8;font-size:12px;text-transform:uppercase;font-weight:900;margin-bottom:10px}.aslama-kpi strong{font-size:27px;font-weight:950}.aslama-rdv-panel{margin-bottom:26px}.aslama-rdv-panel h2{font-size:23px;font-weight:950;margin:0 0 20px}.aslama-table-scroll{overflow-x:auto}.aslama-rdv-table{border-collapse:collapse;width:100%;min-width:820px}.aslama-rdv-table th{text-align:left;background:#f8fafc;color:#64748b;font-size:12px;padding:15px}.aslama-rdv-table td{padding:15px;border-bottom:1px solid #eef2f7;font-size:14px}.aslama-rdv-status{display:inline-block;padding:8px 12px;border-radius:999px;font-weight:800;font-size:12px}.aslama-rdv-status.pending{background:#fff7ed;color:#c2410c}.aslama-rdv-status.confirmed,.aslama-rdv-status.completed{background:#dcfce7;color:#047857}.aslama-rdv-status.cancelled{background:#ffe4e6;color:#e11d48}.aslama-pro-page button,.aslama-booking-wrap button{background:#d60000;color:#fff;border:0;border-radius:12px;padding:12px 16px;font-weight:900;cursor:pointer}.aslama-pro-page button.aslama-secondary{background:#f1f5f9;color:#0f172a}.aslama-inline{display:flex;gap:6px;flex-wrap:wrap}.aslama-balance{font-size:30px}.aslama-booking-wrap{max-width:660px;margin:24px auto}.aslama-booking-form{display:grid;gap:16px}.aslama-booking-form label{display:grid;gap:7px;font-weight:700}.aslama-booking-form input{width:100%;box-sizing:border-box;padding:13px;border:1px solid #e5e7eb;border-radius:12px}.aslama-alert{background:#f1f5f9;border-radius:12px;padding:14px}@media(max-width:800px){.aslama-kpi-grid{grid-template-columns:1fr}.aslama-pro-page{padding:25px 12px}.aslama-dashboard-head h1{font-size:26px}}

.aslama-booking-wrap{max-width:760px;padding:34px}.aslama-booking-intro h2{font-size:28px;font-weight:950;margin:10px 0}.aslama-eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;color:#d60000}.aslama-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aslama-booking-form input,.aslama-booking-form select{background:#fff;min-height:50px;border:1px solid #dce2ea;border-radius:14px;padding:12px 14px;font:inherit;color:#0f172a;width:100%;box-sizing:border-box}.aslama-booking-form input:focus,.aslama-booking-form select:focus{outline:2px solid #f5a0a0;border-color:#d60000}.aslama-booking-form button{padding:16px 20px;min-height:54px}.aslama-help{font-size:12px;margin:0}.aslama-calendar{margin-top:16px}.aslama-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.aslama-calendar-toolbar button{padding:8px 12px}.aslama-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.aslama-calendar-cell{min-height:74px;border:1px solid #e5e7eb;border-radius:12px;padding:8px;box-sizing:border-box;font-size:12px;overflow:hidden}.aslama-calendar-cell.is-today{border-color:#d60000}.aslama-calendar-cell.is-other{opacity:.3}.aslama-calendar-dot{display:block;background:#fff1f1;color:#b60000;border-radius:6px;padding:3px 5px;margin-top:4px;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.aslama-calendar-weekday{text-align:center;font-size:11px;font-weight:800;color:#64748b}.aslama-calendar-detail{background:#f8fafc;border-radius:12px;padding:12px;margin-top:12px}.aslama-calendar-cell button{background:none;color:#0f172a;padding:0;border:0;border-radius:0;font-weight:800}.aslama-calendar-cell button:hover{text-decoration:underline}@media(max-width:650px){.aslama-form-grid{grid-template-columns:1fr}.aslama-calendar-cell{min-height:55px;padding:4px}.aslama-calendar-dot{font-size:9px}.aslama-booking-wrap{padding:20px}.aslama-calendar-grid{gap:3px}}

.aslama-billing-summary{display:flex;gap:20px;flex-wrap:wrap;margin-top:15px;padding:15px;background:#f8fafc;border-radius:14px;color:#0f172a}.aslama-billing-summary span{display:block}.aslama-billing-summary strong{display:block;margin-top:5px}

/* Embedded listing reservation section */
.aslama-listing-booking{clear:both;margin:32px auto;max-width:100%;scroll-margin-top:100px}
.aslama-listing-booking .aslama-booking-wrap{max-width:100%;box-sizing:border-box}

/* V0.9 - scoped listing booking trigger and accessible dialog */
.aslama-v09-trigger{display:block;width:100%;background:#d60000!important;color:#fff!important;border:0!important;border-radius:16px!important;padding:16px 20px!important;font:900 15px Inter,system-ui,sans-serif!important;box-shadow:0 10px 24px rgba(214,0,0,.16);cursor:pointer;margin:0 0 18px;text-align:center}
.aslama-v09-trigger:hover{background:#b90000!important}
.aslama-v09-trigger.aslama-v09-fallback{position:fixed;bottom:24px;left:24px;width:auto;max-width:calc(100vw - 48px);z-index:9000;margin:0}
.aslama-v09-modal[hidden]{display:none!important}
.aslama-v09-modal{position:fixed;inset:0;z-index:100000;display:flex;justify-content:center;align-items:center;padding:20px;box-sizing:border-box}
.aslama-v09-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.7)}
.aslama-v09-dialog{position:relative;background:#fff;border-radius:24px;width:min(100%,760px);max-height:90vh;overflow:auto;padding:20px;box-shadow:0 20px 70px rgba(15,23,42,.24);box-sizing:border-box}
.aslama-v09-close{position:absolute;top:12px;right:16px;border:0;background:#f1f5f9;color:#0f172a;border-radius:50%;font-size:26px;width:40px;height:40px;cursor:pointer;z-index:2}
.aslama-v09-title{font-size:20px;font-weight:900;margin:0 44px 6px 0;color:#0f172a}
.aslama-v09-dialog .aslama-booking-wrap{border:0;box-shadow:none;margin:0;padding:12px 0;max-width:none}
.aslama-v09-dialog .aslama-booking-intro h2{display:none}
body.aslama-v09-open{overflow:hidden}
@media(max-width:650px){.aslama-v09-dialog{padding:14px;max-height:94vh}.aslama-v09-modal{padding:10px}.aslama-v09-trigger.aslama-v09-fallback{bottom:12px;left:12px}}

/* V1.0 exact contact card replacement */
.aslama-contact-card.aslama-v10-hidden-contact{display:none!important}
.aslama-v10-booking-card{background:#fff;border:1px solid #e7eaf0;border-radius:24px;padding:24px 20px;box-shadow:0 12px 28px rgba(15,23,42,.06);margin-bottom:18px}
.aslama-v10-booking-card h3{color:#0f172a;font-size:22px;font-weight:800;margin:0 0 12px;line-height:1.25}
.aslama-v10-booking-card p{color:#64748b;font-size:14px;line-height:1.5;margin:0 0 20px}
.aslama-v10-booking-card .aslama-v09-trigger{margin:0}

/* V1.1 – Inline reservation card replacing the existing contact card */
.aslama-v11-root[hidden]{display:none!important}
.aslama-v11-position{width:100%;min-width:0;box-sizing:border-box;margin:0 0 20px}
.aslama-v11-position .aslama-booking-wrap{width:100%;max-width:none;margin:0;box-sizing:border-box;padding:24px 20px;border:1px solid #e7eaf0;border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.06);font-family:Inter,system-ui,sans-serif}
.aslama-v11-position .aslama-booking-intro h2{font-size:23px;line-height:1.25;margin:8px 0;color:#101b32}
.aslama-v11-position .aslama-booking-intro p{font-size:13px;line-height:1.55}
.aslama-v11-position .aslama-booking-form{display:grid;gap:13px;width:100%;min-width:0}
.aslama-v11-position .aslama-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
.aslama-v11-position .aslama-booking-form label{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;font-size:13px;font-weight:700;color:#17233b;min-width:0}
.aslama-v11-position .aslama-booking-form input,.aslama-v11-position .aslama-booking-form select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:46px;border:1px solid #e0e5ee;border-radius:13px;padding:11px 12px;background:#f9fafc;color:#17233b;font:inherit;font-size:14px}
.aslama-v11-position .aslama-booking-form button{display:block;width:100%;border:0;border-radius:13px;background:#c90000;color:#fff;min-height:48px;padding:13px;font-weight:800;cursor:pointer}
.aslama-v11-position .aslama-help{line-height:1.5;font-size:11px}
@media(max-width:767px){.aslama-v11-position .aslama-booking-wrap{padding:20px 16px}.aslama-v11-position .aslama-booking-intro h2{font-size:21px}}

/* V1.2 confirmation and validation notices */
.aslama-booking-feedback{border-radius:14px;padding:16px;margin:0 0 20px;border:1px solid #a7e7c4;background:#f0fdf4;color:#14532d;line-height:1.5}
.aslama-booking-feedback strong{display:block;font-weight:850;font-size:16px;color:inherit}
.aslama-booking-feedback p{margin:8px 0;color:inherit}
.aslama-booking-feedback.is-error{background:#fff1f2;border-color:#fecdd3;color:#9f1239}
.aslama-booking-status{display:inline-block;margin-top:4px;padding:5px 10px;background:#dcfce7;border-radius:999px;font-size:12px;font-weight:800}
.aslama-booking-feedback:focus{outline:2px solid #15803d;outline-offset:3px}

/* V1.3 */
.aslama-reschedule{margin-top:8px}.aslama-reschedule summary{cursor:pointer;color:#ba1423;font-weight:600}.aslama-reschedule-form{display:grid;gap:8px;margin-top:8px;min-width:190px}.aslama-reschedule-form label{display:grid;gap:4px;font-size:13px}.aslama-reschedule-form input,.aslama-reschedule-form select{max-width:100%;padding:8px;border:1px solid #ddd;border-radius:8px}.aslama-reschedule-form button{background:#c81929;color:white;border:0;border-radius:8px;padding:9px;cursor:pointer}


/* V1.3.2 — compact listing booking card; dashboard and booking logic unchanged. */
@media (min-width: 768px) {
 .aslama-v11-position .aslama-booking-wrap {padding:16px 17px 17px;border-radius:19px;}
 .aslama-v11-position .aslama-booking-intro {margin-bottom:10px;}
 .aslama-v11-position .aslama-booking-intro .aslama-eyebrow {font-size:10px;letter-spacing:.075em;}
 .aslama-v11-position .aslama-booking-intro h2 {font-size:20px;line-height:1.2;margin:4px 0 5px;}
 .aslama-v11-position .aslama-booking-intro p {font-size:11px;line-height:1.35;margin:0;}
 .aslama-v11-position .aslama-booking-form {gap:9px;}
 .aslama-v11-position .aslama-form-grid {gap:9px;}
 .aslama-v11-position .aslama-booking-form label {gap:4px;font-size:12px;line-height:1.3;}
 .aslama-v11-position .aslama-booking-form input,
 .aslama-v11-position .aslama-booking-form select {min-height:38px;height:40px;padding:7px 10px;border-radius:10px;font-size:13px;}
 .aslama-v11-position .aslama-booking-form button {min-height:43px;padding:9px 12px;border-radius:10px;font-size:13px;}
 .aslama-v11-position .aslama-help {font-size:10px;line-height:1.35;margin:0;}
 .aslama-v11-position .aslama-booking-feedback {padding:10px 12px;margin:0 0 10px;border-radius:10px;font-size:12px;}
 .aslama-v11-position .aslama-booking-feedback strong {font-size:13px;}
 .aslama-v11-position .aslama-booking-feedback p {margin:4px 0;}
}
/* Keep touch targets, readable labels and single-column fields on small screens. */
@media (max-width: 767px) {
 .aslama-v11-position .aslama-booking-wrap {padding:18px 16px;}
 .aslama-v11-position .aslama-booking-form {gap:11px;}
 .aslama-v11-position .aslama-form-grid {gap:11px;}
 .aslama-v11-position .aslama-booking-intro p {margin-bottom:10px;}
}


/* Aslama Booking V1.4 – premium partner dashboard */
.aslama-partner-v14{max-width:1180px;margin:26px auto 0;padding:0 20px;font-family:inherit;color:#101c33}
.aslama-v14-hero{background:#101b30;border-radius:20px;padding:27px 30px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;color:#fff}
.aslama-v14-hero span:first-child{font-size:11px;letter-spacing:1.4px;font-weight:700;color:#ff9292}
.aslama-v14-hero h1{font-size:clamp(22px,3vw,30px);color:#fff;margin:9px 0 6px;line-height:1.25}
.aslama-v14-hero p{margin:0;color:#c9d1df;font-size:14px}
.aslama-v14-version{background:#c90000;color:#fff;border-radius:20px;padding:7px 12px;font-size:12px;white-space:nowrap}
.aslama-v14-tools{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;margin:18px 0;padding:19px;background:#fff;border:1px solid #e5e9f0;border-radius:16px}
.aslama-v14-tools label,.aslama-v14-schedule>label,.aslama-v14-timegrid label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#25334d}
.aslama-v14-tools input,.aslama-v14-tools select,.aslama-v14-schedule input[type=time],.aslama-v14-schedule select,.aslama-v14-schedule textarea{width:100%;min-height:42px;border:1px solid #dce2eb;background:#f8fafc;border-radius:9px;padding:9px 11px;color:#18263e;box-sizing:border-box;font:inherit}
.aslama-v14-settings{background:#fff;border:1px solid #e5e9f0;border-radius:16px;padding:17px 20px;margin-bottom:20px}
.aslama-v14-settings summary{cursor:pointer;font-weight:750;color:#172541;list-style-position:inside}
.aslama-v14-muted{font-size:13px;color:#64748b;margin:14px 0}
.aslama-v14-schedule{display:grid;gap:16px;border-top:1px solid #e9edf3;margin-top:17px;padding-top:14px}
.aslama-v14-schedule h3{font-size:16px;margin:0}
.aslama-v14-schedule fieldset{border:0;padding:0;margin:0}
.aslama-v14-schedule legend{font-weight:700;font-size:13px;margin-bottom:9px}
.aslama-v14-day{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;margin:0 5px 6px 0;border:1px solid #e2e8f0;border-radius:9px;font-size:13px}
.aslama-v14-timegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.aslama-v14-save{justify-self:start;background:#c90000!important;color:#fff!important;border:0;border-radius:10px;padding:12px 20px;font-weight:700;cursor:pointer}
.aslama-rdv-table tbody tr[hidden]{display:none!important}
@media(max-width:720px){.aslama-v14-tools,.aslama-v14-timegrid{grid-template-columns:1fr}.aslama-v14-hero{padding:21px}.aslama-partner-v14{padding:0 12px}.aslama-v14-settings{padding:15px}}

.aslama-v141-closures{padding:16px;border:1px solid #e2e8f0;border-radius:12px}
.aslama-v141-ranges{display:grid;gap:10px;margin:12px 0}
.aslama-v141-range{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:10px;background:#f8fafc;border-radius:10px}
.aslama-v141-range label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:650}
.aslama-v141-range input{width:100%;min-height:40px;border:1px solid #dce2eb;border-radius:8px;padding:7px}
.aslama-v141-add,.aslama-v141-remove{border:1px solid #c90000;color:#c90000;background:#fff;border-radius:8px;padding:10px;cursor:pointer;font-weight:650}
.aslama-v141-remove{border-color:#cbd5e1;color:#475569}
.aslama-calendar-cell.aslama-calendar-closed{background:#fff0f0!important;border-color:#efb7b7!important}
.aslama-calendar-closed-label{display:block;font-size:10px;line-height:1.3;color:#b91c1c;font-weight:750;margin-top:4px}
.aslama-calendar-closed-detail{padding:8px 12px;background:#fff0f0;border-radius:8px;color:#991b1b}
.aslama-v141-pages{display:flex;align-items:center;justify-content:center;gap:15px;flex-wrap:wrap;padding:16px 8px}
.aslama-v141-pages button{border:1px solid #d9dfe9;background:#fff;color:#172541;border-radius:8px;padding:8px 12px;cursor:pointer}
.aslama-v141-pages button:disabled{opacity:.4;cursor:default}
.aslama-v141-pages span{font-size:13px;color:#64748b}
@media(max-width:650px){.aslama-v141-range{grid-template-columns:1fr 1fr}.aslama-v141-remove{grid-column:1/-1}}

/* V1.4.2 – visually prioritize pending requests */
.aslama-v142-pending-banner{background:#fff3df;border:1px solid #f7cc8d;border-radius:12px;padding:13px 17px;margin:15px 0;display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:#8a4a08}
.aslama-v142-pending-banner span{font-size:13px}
.aslama-rdv-table tbody tr.aslama-v142-pending-row{background:#fff9ed!important;box-shadow:inset 4px 0 #f59e0b}
.aslama-v142-closed-list{background:#fff2f2;border:1px solid #f1c0c0;padding:13px 17px;border-radius:12px;margin-top:16px}
.aslama-v142-closed-list h3{font-size:15px;color:#9b1c1c;margin:0 0 8px}
.aslama-v142-closed-list ul{margin:0;padding-left:20px;font-size:13px;color:#7f1d1d}

.aslama-v144-notice{border-radius:12px;padding:14px 18px;margin:12px 0 18px;font-weight:700}.aslama-v144-notice.success{background:#e7faee;color:#116335;border:1px solid #a8e5bc}.aslama-v144-notice.error{background:#fff0f0;color:#9e1821;border:1px solid #f4b5b5}

/* V1.4.5 – always-visible, independently saved vacation management */
.aslama-v145-manager{background:#fff;border:1px solid #e3e8f0;border-radius:18px;padding:22px;margin:20px 0}
.aslama-v145-manager h2{font-size:21px;color:#12203a;margin:0 0 8px}
.aslama-v145-manager h3{font-size:16px;margin:16px 0}
.aslama-v145-manager h4{font-size:14px;margin:18px 0 10px}
.aslama-v145-location+.aslama-v145-location{border-top:1px solid #e5e7eb;margin-top:20px}
.aslama-v145-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:12px}
.aslama-v145-add label{display:flex;flex-direction:column;gap:7px;font-weight:700;font-size:13px}
.aslama-v145-add input{width:100%;min-height:44px;border:1px solid #d7dee9;border-radius:9px;padding:9px;box-sizing:border-box}
.aslama-v145-add button{background:#c90000;color:#fff;border:0;border-radius:9px;min-height:44px;padding:10px 17px;font-weight:700;cursor:pointer}
.aslama-v145-list{display:grid;gap:8px}
.aslama-v145-item{background:#fff5f5;border:1px solid #fecaca;border-radius:11px;padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#7f1d1d}
.aslama-v145-delete{border:1px solid #c90000;background:#fff;color:#c90000;border-radius:8px;padding:8px 13px;cursor:pointer;font-weight:700}
.aslama-v145-message{padding:12px;border-radius:9px;font-weight:650}
.aslama-v145-message.success{background:#e9f8ee;color:#166534}
.aslama-v145-message.error{background:#fff1f2;color:#9f1239}
@media(max-width:720px){.aslama-v145-add{grid-template-columns:1fr}.aslama-v145-item{align-items:flex-start;flex-direction:column}.aslama-v145-manager{padding:15px}}

/* V1.4.6: inline customer date calendar with closed days clearly marked */
.aslama-v146-picker{margin:10px 0 4px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;max-width:100%;box-sizing:border-box}
.aslama-v146-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;gap:8px;font-size:13px}
.aslama-booking-form .aslama-v146-picker-header button{min-height:30px;padding:2px 10px;border-radius:7px;font-size:20px;background:#f1f5f9;color:#17233c;border:0}
.aslama-v146-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.aslama-v146-weekday{font-size:10px;color:#64748b;font-weight:700;padding:4px 0}
.aslama-booking-form .aslama-v146-day{min-height:31px;min-width:0;padding:2px;border-radius:6px;font-size:11px;font-weight:700;border:1px solid transparent;line-height:1.1}
.aslama-booking-form .aslama-v146-day.is-available{background:#eaf8ef;color:#166534;border-color:#a7dfb7;cursor:pointer}
.aslama-booking-form .aslama-v146-day.is-closed{background:#fee2e2;color:#991b1b;border-color:#fca5a5;opacity:1;cursor:not-allowed;text-decoration:line-through}
.aslama-booking-form .aslama-v146-day.is-unavailable{background:#f1f5f9;color:#94a3b8;opacity:.8;cursor:not-allowed}
.aslama-booking-form .aslama-v146-day[aria-current=date]{outline:2px solid #c90000;outline-offset:1px}
.aslama-v146-legend{font-size:10px;color:#64748b;margin-top:9px;line-height:1.5}
.aslama-v146-notice{font-size:11px;color:#166534;margin:4px 0 0}

/* V1.4.7: compact patient calendar and status-specific professional calendar */
.aslama-booking-form .aslama-v146-picker{padding:8px 9px;margin:7px 0 4px;border-radius:11px}
.aslama-booking-form .aslama-v146-picker-header{margin-bottom:4px;font-size:12px}
.aslama-booking-form .aslama-v146-picker-header button{min-height:26px;padding:1px 8px;font-size:17px}
.aslama-booking-form .aslama-v146-picker-grid{gap:2px}
.aslama-booking-form .aslama-v146-weekday{font-size:9px;padding:2px 0}
.aslama-booking-form .aslama-v146-day{min-height:25px;height:25px;padding:1px;font-size:10px;border-radius:5px}
.aslama-booking-form .aslama-v146-legend{margin-top:7px}
.aslama-booking-form .aslama-v146-notice:empty{display:none}
.aslama-v147-date-fallback{font-size:12px}
.aslama-v147-date-note{display:block;font-size:10px;color:#64748b;margin:2px 0}
.aslama-v147-admin-legend,.aslama-v146-legend{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;margin-top:12px;color:#475569;font-size:12px}
.aslama-v147-legend-entry{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.aslama-v147-swatch{width:11px;height:11px;display:inline-block;flex-shrink:0;border-radius:3px;border:1px solid #cbd5e1}
.aslama-v147-swatch.is-confirmed,.aslama-v147-swatch.is-available{background:#bbf7d0;border-color:#86efac}
.aslama-v147-swatch.is-pending{background:#fed7aa;border-color:#fdba74}
.aslama-v147-swatch.is-closed{background:#fecaca;border-color:#fca5a5}
.aslama-v147-swatch.is-unavailable,.aslama-v147-swatch.is-other{background:#e2e8f0;border-color:#cbd5e1}
.aslama-calendar-dot.aslama-calendar-event-confirmed{background:#dcfce7!important;color:#166534!important}
.aslama-calendar-dot.aslama-calendar-event-pending{background:#ffedd5!important;color:#9a3412!important}
.aslama-calendar-dot.aslama-calendar-event-completed{background:#e2e8f0!important;color:#475569!important}
.aslama-calendar-dot.aslama-calendar-event-other{background:#f1f5f9!important;color:#64748b!important}
.aslama-calendar-cell.aslama-calendar-closed{background:#fff1f2!important;border-color:#fca5a5!important}
@media(max-width:650px){.aslama-booking-form .aslama-v146-day{height:25px;min-height:25px}.aslama-v147-admin-legend{gap:7px 10px;font-size:11px}}

/* V1.4.8: keep booking card visually aligned with listing gallery on desktop.
   All controls remain accessible via internal scrolling; mobile stays full height. */
@media(min-width:768px){
 .aslama-v11-position .aslama-booking-wrap{max-height:var(--aslama-photo-height,620px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;scroll-padding-bottom:16px}
 .aslama-v11-position .aslama-booking-form{gap:6px}
 .aslama-v11-position .aslama-booking-intro{margin-bottom:6px}
 .aslama-v11-position .aslama-booking-form label{gap:3px}
 .aslama-v11-position .aslama-booking-form input,.aslama-v11-position .aslama-booking-form select{min-height:35px;height:36px;padding:6px 10px}
 .aslama-v11-position .aslama-booking-form button[type=submit]{min-height:39px;padding:8px 10px}
 .aslama-v11-position .aslama-v146-picker{padding:6px 8px;margin:4px 0 2px}
 .aslama-v11-position .aslama-v146-picker-header{margin-bottom:2px}
 .aslama-v11-position .aslama-v146-weekday{padding:1px 0}
 .aslama-v11-position .aslama-v146-day{height:23px;min-height:23px;font-size:10px;padding:0}
 .aslama-v11-position .aslama-v146-legend{margin-top:5px;gap:4px 8px;font-size:10px}
 .aslama-v11-position .aslama-v147-date-note{font-size:9px;margin:0}
}
@media(max-width:767px){.aslama-v11-position .aslama-booking-wrap{max-height:none!important;overflow:visible!important}}
/* V1.5.0: real Espace Premium authentication and scoped physician workspace */
.aslama-doctor-login{max-width:820px;margin:32px auto;padding:32px;background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 14px 36px rgba(20,30,50,.06);color:#101c34}
.aslama-doctor-login h2{text-align:center;font-size:30px;margin:0 0 22px}
.aslama-doctor-login form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
.aslama-doctor-login label{display:grid;gap:8px;font-weight:600}
.aslama-doctor-login input{box-sizing:border-box;width:100%;min-height:50px;padding:12px;border:1px solid #dce2eb;border-radius:12px}
.aslama-doctor-login button,.aslama-doctor-dashboard button{background:#c90000;border:0;color:white;border-radius:11px;padding:13px 17px;cursor:pointer;font-weight:700}
.aslama-doctor-login p{text-align:center}
.aslama-doctor-dashboard{max-width:1250px;margin:25px auto;padding:18px;color:#12203a}
.aslama-doctor-dashboard h1{font-size:30px}
.aslama-doctor-dashboard table{width:100%;background:#fff}
.aslama-doctor-dashboard td,.aslama-doctor-dashboard th{padding:13px;border-bottom:1px solid #e7eaf0;text-align:left}
.aslama-doctor-dashboard td form{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:700px){.aslama-doctor-login{margin:15px;padding:18px}.aslama-doctor-login form{grid-template-columns:1fr}.aslama-doctor-dashboard{padding:10px}}
/* Aslama Booking 1.5.3 – Espace Premium */
.aslama-doctor-v153{max-width:1280px;width:calc(100% - 32px);margin:28px auto;padding:0;color:#14213b}
.aslama-doc-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;flex-wrap:wrap}
.aslama-doc-head h1{margin:5px 0;font-size:clamp(24px,3vw,36px)}
.aslama-doc-head p,.aslama-doc-panel>p{color:#64748b}
.aslama-doc-eyebrow{font-size:11px;color:#c90000;font-weight:800;letter-spacing:.08em}
.aslama-doc-business{display:flex;gap:7px;flex-wrap:wrap}.aslama-doc-business span{padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}
.aslama-doc-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:18px 0}
.aslama-doc-kpi,.aslama-doc-panel{background:white;border:1px solid #e2e8f0;border-radius:20px;padding:20px;box-shadow:0 9px 25px rgba(15,23,42,.04)}
.aslama-doc-kpi span,.aslama-doc-finance span{display:block;color:#64748b;font-size:13px}.aslama-doc-kpi strong{display:block;font-size:32px;margin-top:9px}
.aslama-doc-panel{margin:20px 0}.aslama-doc-panel h2{margin:0 0 12px;font-size:23px}
.aslama-doc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.aslama-doc-tabs a,.aslama-doc-pages a{display:inline-block;text-decoration:none;padding:10px 13px;border:1px solid #e2e8f0;border-radius:10px;color:#14213b;background:#fff;font-weight:650}
.aslama-doc-tabs a.active,.aslama-doc-pages a.active{background:#c90000;color:#fff;border-color:#c90000}
.aslama-doctor-v153 .aslama-rdv-table{width:100%;min-width:740px}.aslama-doctor-v153 .aslama-rdv-table th{background:#f8fafc}
.aslama-doc-pending{background:#fff7ed}.aslama-doc-pages{display:flex;gap:7px;flex-wrap:wrap;margin-top:18px}
.aslama-doc-finance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.aslama-doc-finance>div{background:#f8fafc;padding:16px;border-radius:12px}.aslama-doc-finance strong{font-size:22px;display:block;margin-top:8px}
@media(max-width:850px){.aslama-doc-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.aslama-doc-finance{grid-template-columns:1fr}.aslama-doc-panel{padding:14px}}

/* V1.5.4: neutral calendar day numbers, retain semantic colors for events and closures. */
.aslama-doctor-v153 .aslama-calendar-cell > button,
.aslama-doctor-v153 .aslama-calendar-cell > button:hover,
.aslama-doctor-v153 .aslama-calendar-cell > button:focus {
  background: transparent !important;
  color: #17243b !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  font-size: 13px !important;
  font-weight: 750 !important;
}
.aslama-doctor-v153 .aslama-calendar-cell > button:focus-visible { outline: 2px solid #17243b !important; outline-offset: 3px; }
.aslama-doc-head-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.aslama-doctor-v153 .aslama-doc-logout { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #d6dde8; border-radius: 11px; padding: 11px 16px; color: #17243b; font-weight: 750; text-decoration: none; }
.aslama-doctor-v153 .aslama-doc-logout:hover { background: #f8fafc; border-color: #9caac0; }

/* V1.5.5 — keep doctor header and logout usable at standard browser zoom.
   Scoped to the authenticated doctor dashboard; no changes to booking/calendar UI. */
.aslama-doctor-v153.aslama-doctor-dashboard {
  box-sizing: border-box;
  padding-top: 76px;
  scroll-margin-top: 110px;
}
.aslama-doctor-v153 .aslama-doc-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  gap: 16px 24px;
  min-width: 0;
}
.aslama-doctor-v153 .aslama-doc-head > div:first-child { min-width: 0; }
.aslama-doctor-v153 .aslama-doc-head-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
.aslama-doctor-v153 .aslama-doc-business { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.aslama-doctor-v153 .aslama-doc-logout {
  flex: 0 0 auto;
  white-space: nowrap;
  position: relative;
  z-index: 2;
  border-color: #e4a6a6;
  color: #b90000;
}
.aslama-doctor-v153 .aslama-doc-logout:hover,
.aslama-doctor-v153 .aslama-doc-logout:focus-visible { background: #fff1f1; border-color: #c90000; color: #a60000; }
@media (max-width: 1100px) {
  .aslama-doctor-v153 .aslama-doc-head { grid-template-columns: minmax(0,1fr); }
  .aslama-doctor-v153 .aslama-doc-head-actions { justify-content: flex-start; }
}
@media (max-width: 767px) {
  .aslama-doctor-v153.aslama-doctor-dashboard { padding-top: 32px; }
  .aslama-doctor-v153 .aslama-doc-head-actions { width: 100%; gap: 10px; }
  .aslama-doctor-v153 .aslama-doc-business { flex: 1 1 100%; }
  .aslama-doctor-v153 .aslama-doc-logout { min-height: 44px; }
}

/* V1.6.3 : rendez-vous en conflit avec les congés */
.aslama-doctor-dashboard .aslama-closure-conflict{background:#fff4ed!important}
.aslama-doctor-dashboard .aslama-conflict-note{display:block;color:#ad3600;font-weight:700;font-size:12px;margin-top:5px}
.aslama-doctor-dashboard .aslama-private-note{display:block;color:#64748b;font-size:11px;margin-top:4px}
.aslama-calendar .aslama-event-conflict{background:#ffe0bb!important;border:1px solid #e76a00!important;color:#8b3100!important;font-weight:700}
.aslama-doctor-dashboard .aslama-reschedule{margin-top:8px;max-width:300px}
.aslama-doctor-dashboard .aslama-reschedule summary{cursor:pointer;color:#a40000;font-weight:700}
.aslama-doctor-dashboard .aslama-reschedule-form{display:grid;gap:9px;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-top:8px}
.aslama-doctor-dashboard .aslama-reschedule-form label{display:grid;gap:5px}
.aslama-doctor-dashboard .aslama-reschedule-form input,.aslama-doctor-dashboard .aslama-reschedule-form select{width:100%;min-width:0}

/* V1.6.8: show every appointment in each calendar day without clipping. */
.aslama-doctor-v153 .aslama-calendar-cell{height:auto!important;min-height:110px!important;overflow:visible!important;min-width:0}
.aslama-doctor-v153 .aslama-calendar-dot{display:block;max-width:100%;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aslama-doctor-v153 .aslama-calendar-grid{align-items:stretch}

/* V1.6.9: compact month grid; extra appointments accessible in day detail */
.aslama-doctor-v153 .aslama-calendar-cell{height:118px!important;min-height:118px!important;overflow:hidden!important;position:relative}
.aslama-doctor-v153 .aslama-calendar-dot{font-size:10px;line-height:1.25;padding:4px 5px;margin-top:3px}
.aslama-doctor-v153 .aslama-calendar-more{display:block;width:100%;margin-top:4px;padding:2px 0!important;border:0!important;background:transparent!important;color:#b40000!important;font-size:10px!important;font-weight:800!important;text-align:left!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
@media(max-width:650px){.aslama-doctor-v153 .aslama-calendar-cell{height:102px!important;min-height:102px!important}.aslama-doctor-v153 .aslama-calendar-more{font-size:9px!important}}

/* V1.7.0: ensure the overflow action is visible, including on closed days */
.aslama-doctor-v153 .aslama-calendar-cell{height:158px!important;min-height:158px!important;overflow:hidden!important}
.aslama-doctor-v153 .aslama-calendar-more{position:relative;display:block!important;min-height:18px!important;line-height:16px!important;z-index:2}
@media(max-width:650px){.aslama-doctor-v153 .aslama-calendar-cell{height:150px!important;min-height:150px!important}}

/* Aslama Booking 1.7.1: compact day modal */
.aslama-calendar-modal-overlay{position:fixed;inset:0;background:rgba(11,23,43,.54);z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:18px}
.aslama-calendar-modal{background:#fff;color:#15233d;width:min(520px,100%);max-height:min(75vh,680px);border-radius:18px;box-shadow:0 20px 70px rgba(0,0,0,.22);display:flex;flex-direction:column;overflow:hidden}
.aslama-calendar-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #e8edf3;text-transform:capitalize;font-size:18px}
.aslama-calendar-modal-close{appearance:none;border:0;background:#f4f6f9;color:#1a2942;border-radius:10px;font-size:26px;line-height:1;width:38px;height:38px;cursor:pointer;flex-shrink:0}
.aslama-calendar-modal-close:hover{background:#fce8e8;color:#b80000}
.aslama-calendar-modal-body{overflow-y:auto;padding:10px 20px 20px}
.aslama-calendar-modal-event{display:grid;grid-template-columns:55px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef0f4;font-size:14px}
.aslama-calendar-modal-event>span:nth-child(2){overflow-wrap:anywhere}
.aslama-calendar-modal-status{border-radius:20px;padding:5px 8px;font-size:12px;white-space:nowrap;background:#eef2f6}
.aslama-calendar-modal-status.aslama-calendar-event-confirmed{background:#dcfce7;color:#087443}
.aslama-calendar-modal-status.aslama-calendar-event-pending{background:#fff0d5;color:#965400}
.aslama-calendar-more{display:block!important;position:relative!important;overflow:visible!important;white-space:normal!important;line-height:1.3!important;min-height:24px!important;margin-top:5px!important;text-align:left!important;border:0!important;background:transparent!important;color:#b80000!important;font-weight:700!important;cursor:pointer!important;padding:2px 0!important}
@media(max-width:520px){.aslama-calendar-modal-event{grid-template-columns:46px minmax(0,1fr);gap:6px}.aslama-calendar-modal-status{grid-column:2;justify-self:start}}

/* V1.7.3 dashboard additions */
.aslama-v173-stats{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.aslama-v173-stats span{display:flex;flex-direction:column;gap:6px;flex:1;min-width:110px;padding:14px;border-radius:12px;background:#f8f9fb;color:#59606a}.aslama-v173-stats strong{font-size:24px;color:#20252c}.aslama-v173-month{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.aslama-v173-month label,.aslama-v173-ticket label{display:block;margin:10px 0}.aslama-v173-ticket{border:1px solid #e4e6e9;border-radius:12px;padding:12px 16px;margin:12px 0}.aslama-v173-ticket summary{cursor:pointer;font-weight:600}.aslama-v173-ticket input,.aslama-v173-ticket textarea{display:block;width:100%;max-width:100%;box-sizing:border-box;margin-top:6px;padding:10px;border:1px solid #d6d9de;border-radius:8px}.aslama-v173-ticket button,.aslama-v173-month button{background:#c52235;color:white;border:0;border-radius:8px;padding:10px 16px;cursor:pointer}.aslama-v173-msg{border-left:3px solid #d6d9de;padding:8px 12px;margin:12px 0;background:#fafafa}.aslama-v173-msg p{white-space:normal;margin:8px 0}

/* V1.7.4 – calendar heading and commission pagination */
.aslama-calendar-panel>h2{text-align:center;text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1.5px;margin-bottom:20px}
.aslama-commission-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-top:16px;color:#64748b;font-size:14px}
.aslama-commission-pagination-links{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.aslama-commission-pagination-links a{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:5px 10px;border:1px solid #e2e8f0;border-radius:9px;color:#15233d;text-decoration:none;background:#fff;font-weight:600}
.aslama-commission-pagination-links a:hover,.aslama-commission-pagination-links a.is-current{background:#c90000;color:#fff;border-color:#c90000}

/* V1.7.5 – Studio-compatible profile requests */
.aslama-profile-panel .aslama-profile-business{border:1px solid #e5eaf1;border-radius:14px;padding:20px;margin-top:18px}
.aslama-profile-panel form{display:grid;gap:14px;max-width:720px}
.aslama-profile-panel form label{display:grid;gap:7px;font-weight:600}
.aslama-profile-panel form select,.aslama-profile-panel form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #d9e1eb;border-radius:9px;font:inherit}
.aslama-profile-panel form button{background:#c90000;color:#fff;border:0;border-radius:9px;padding:13px 20px;cursor:pointer;justify-self:start}
.aslama-profile-hint{font-size:13px;color:#66758b}.aslama-profile-ok{color:#087443;font-weight:600}

/* V1.8.5 – Premium appointment list */
.aslama-appointments-premium{padding:28px 30px!important;border-radius:26px!important}
.aslama-appointments-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;border-bottom:1px solid #dce3ed;padding-bottom:22px;margin-bottom:24px}
.aslama-appointments-heading h2{font-size:25px!important;line-height:1.25;font-weight:800!important;letter-spacing:-.5px;margin:0 0 9px!important;color:#101c35}
.aslama-appointments-heading p{margin:0;color:#637899;font-size:15px}
.aslama-appointments-heading .aslama-doc-tabs{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0}
.aslama-appointments-premium .aslama-doc-tabs a{padding:12px 19px;border-radius:15px;font-weight:750;color:#101c35}
.aslama-appointments-premium .aslama-doc-tabs a.active{background:#d00000;color:#fff;border-color:#101c35;box-shadow:0 0 0 1px #101c35}
.aslama-appointments-premium .aslama-rdv-table{border-collapse:collapse;min-width:850px}
.aslama-appointments-premium .aslama-rdv-table thead th{background:#f6f8fb;color:#90a0b9;font-size:12px;font-weight:800;letter-spacing:.055em;text-transform:uppercase;padding:20px 17px;border:0}
.aslama-appointments-premium .aslama-rdv-table tbody td{padding:22px 17px;vertical-align:middle;border-bottom:1px solid #e6ebf3;font-size:14px;color:#13213a;line-height:1.6}
.aslama-appointments-premium .aslama-rdv-table tbody td:first-child strong{font-size:15px;color:#07162f}
.aslama-appointments-premium .aslama-rdv-table tbody td:nth-child(3){font-weight:700}
.aslama-appointments-premium .aslama-rdv-status{font-size:11px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;padding:11px 15px;min-width:100px;text-align:center}
.aslama-appointments-premium .aslama-inline{gap:7px}
.aslama-appointments-premium .aslama-inline button{border-radius:11px;padding:10px 13px;font-weight:800;line-height:1.3}
.aslama-appointments-premium .aslama-reschedule{margin-top:9px;font-size:13px}
.aslama-appointments-premium .aslama-reschedule summary{cursor:pointer;font-weight:700;color:#b90000}
.aslama-appointments-premium .aslama-private-note{display:block;font-size:11px;color:#70829e;margin-top:4px}
@media(max-width:1080px){.aslama-appointments-heading{flex-direction:column}.aslama-appointments-heading .aslama-doc-tabs{justify-content:flex-start}}
@media(max-width:600px){.aslama-appointments-premium{padding:18px 13px!important}.aslama-appointments-heading h2{font-size:20px!important}.aslama-appointments-premium .aslama-doc-tabs a{padding:9px 11px;font-size:12px}}

/* V1.8.6 – readable appointment date/time and daily month chart */
.aslama-appointments-premium .aslama-appointment-datetime .aslama-appointment-date,.aslama-appointments-premium .aslama-appointment-datetime .aslama-appointment-time{display:block;font-weight:800;color:#101b32;font-size:15px;line-height:1.55;white-space:nowrap}
.aslama-appointments-premium .aslama-appointment-datetime .aslama-appointment-time{font-size:17px}
.aslama-month-chart{margin-top:26px;padding:18px 14px 10px;border:1px solid #e2e8f1;border-radius:17px;background:#fbfcfe}
.aslama-month-chart-bars{display:grid;grid-template-columns:repeat(31,minmax(13px,1fr));gap:5px;min-height:200px;align-items:end;overflow-x:auto}
.aslama-month-chart-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:13px;height:200px;gap:5px}
.aslama-month-chart-number{font-size:10px;font-weight:750;color:#233452;min-height:14px}
.aslama-month-chart-track{height:150px;width:100%;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid #d4deeb}
.aslama-month-chart-bar{display:block;width:80%;max-width:24px;min-height:0;border-radius:5px 5px 0 0;background:#c90000;transition:height .25s}
.aslama-month-chart-label{font-size:10px;color:#63748d;min-height:16px}
.aslama-month-chart-caption{margin:13px 0 0;color:#61728c;font-size:12px}
.aslama-appointments-premium.aslama-filter-loading{opacity:.55;pointer-events:none}
@media(max-width:700px){.aslama-month-chart{overflow-x:auto}.aslama-month-chart-bars{min-width:640px;gap:4px}}

#aslama-monthly-statistics[aria-busy="true"]{opacity:.6;transition:opacity .2s}
.aslama-monthly-error{color:#b42318;font-weight:600}
