:root{
  --bg:#06101e;--bg2:#091526;--panel:rgba(10,25,45,.90);--panel2:rgba(15,31,54,.92);
  --line:#2b4262;--line2:#3a5678;--text:#f7f5fb;--muted:#9aadc4;--muted2:#7189a6;
  --purple:#7c3cff;--purple2:#a66cff;--teal:#28d8b6;--blue:#44a4ff;--gold:#e0b85c;--rose:#f05a83;--green:#34d59c;
  --shadow:0 20px 55px rgba(0,0,0,.32);--glass:blur(18px) saturate(118%);
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--text);font-family:Inter,system-ui,sans-serif}body{background:#06101e}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.ui-icon{width:1em;height:1em;display:block;flex:0 0 auto}.button-icon{width:17px;height:17px;display:block}.brand-svg{width:52px;height:52px;color:#e6bb67;filter:drop-shadow(0 0 18px rgba(230,187,103,.12))}.serenova-word{font-family:"Cormorant Garamond",serif;font-size:23px;letter-spacing:.28em;line-height:.9}.wellness-word{font-size:12px;letter-spacing:.42em;text-align:center;margin-top:7px;color:#d7d9e7}

/* Locked Stage 1A.1 application wallpaper */
.app-body{position:relative;isolation:isolate;background:#06101e;min-height:100vh}.app-body:before{content:"";position:fixed;inset:0;z-index:-3;background:url('../images/app-wallpaper.png') center center/cover no-repeat;filter:saturate(1.04) contrast(1.02)}.app-body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(3,10,22,.38),rgba(4,11,23,.58)),radial-gradient(circle at 53% 17%,rgba(87,57,181,.08),transparent 34%)}

.app-sidebar{position:fixed;inset:0 auto 0 0;width:236px;border-right:1px solid rgba(57,82,116,.66);background:linear-gradient(180deg,rgba(6,16,31,.90),rgba(5,13,26,.94));backdrop-filter:var(--glass);z-index:20;padding:18px 16px;display:flex;flex-direction:column;box-shadow:14px 0 45px rgba(0,0,0,.13)}.brand-block{height:88px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(72,97,130,.38);margin-bottom:18px}.brand-block .brand-svg{width:46px;height:46px}.brand-block .serenova-word{font-size:20px}.brand-block .wellness-word{font-size:12px}.brand-block small{display:block;font-size:12px;letter-spacing:.21em;color:#8b9db4;margin-top:7px}.main-nav{display:grid;gap:6px}.nav-link{height:48px;border:1px solid transparent;border-radius:13px;padding:0 13px;display:flex;align-items:center;gap:13px;color:#afbdd0;font-size:14px;font-weight:500;transition:.18s ease}.nav-link:hover{background:rgba(18,37,63,.74);color:#fff;border-color:rgba(74,101,137,.3)}.nav-link.active{background:linear-gradient(90deg,rgba(113,55,238,.40),rgba(70,48,139,.16));border-color:rgba(146,100,255,.46);color:#fff;box-shadow:inset 3px 0 #9b64ff,0 8px 22px rgba(57,29,122,.12)}.nav-icon{width:22px;height:22px;display:grid;place-items:center;color:#c8d8e9}.nav-icon .ui-icon{width:19px;height:19px}.nav-link.active .nav-icon{color:#e1d7ff}.nav-label{line-height:1}.sidebar-motto{margin-top:auto;padding:19px 14px 15px;min-height:188px;background:radial-gradient(circle at 20% 90%,rgba(88,68,157,.20),transparent 60%)}.sidebar-motto h3{font-family:"Cormorant Garamond",serif;font-size:27px;line-height:.98;font-weight:500;font-style:italic;margin:0 0 18px;color:#f3edf6}.sidebar-motto p{font-size:12px;line-height:1.72;letter-spacing:.22em;color:#b0bbcb}

.app-main{margin-left:236px;min-height:100vh;background:transparent;display:flex;flex-direction:column}.app-topbar{height:74px;border-bottom:1px solid rgba(42,64,93,.75);display:flex;align-items:center;justify-content:flex-end;padding:0 26px;gap:21px;background:rgba(4,13,26,.72);backdrop-filter:var(--glass);position:sticky;top:0;z-index:15}.top-search{width:min(485px,37vw);height:40px;border:1px solid #304866;border-radius:12px;background:rgba(7,20,37,.84);display:flex;align-items:center;gap:10px;padding:0 12px;color:#8299b5;margin-right:auto;box-shadow:inset 0 1px rgba(255,255,255,.015)}.search-icon{width:18px;height:18px;display:grid;place-items:center}.search-icon .ui-icon{width:17px;height:17px}.top-search input{border:0;background:transparent;outline:0;color:#a4b5ca;min-width:0;flex:1;font-size:13px}.top-search kbd{font-size:12px;border:1px solid #324b6b;border-radius:6px;padding:3px 6px;color:#7892ae;background:rgba(17,34,57,.7)}.top-actions{display:flex;align-items:center;gap:11px}.top-icon{position:relative;width:42px;height:42px;border-radius:12px;border:1px solid #314968;background:rgba(8,22,39,.84);color:#dce5f0;display:grid;place-items:center}.top-icon .ui-icon{width:18px;height:18px}.top-icon i{position:absolute;right:-4px;top:-5px;background:var(--rose);min-width:17px;height:17px;border-radius:50%;font-size:12px;font-style:normal;display:grid;place-items:center;border:2px solid #08111f;padding:0 3px}.profile-chip{display:flex;align-items:center;gap:9px;padding:2px 5px}.profile-avatar{width:39px;height:39px;border-radius:50%;border:1px solid #506c8b;background:linear-gradient(145deg,#1b3857,#10243b);display:grid;place-items:center;font-size:13px;font-weight:500}.profile-chip b{display:block;font-size:13px}.profile-chip small{display:block;font-size:12px;color:#849ab4;margin-top:3px}.new-booking{height:42px;border-radius:11px;padding:0 16px;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#7137ed,#9a43ff);border:1px solid #ad78ff;box-shadow:0 0 25px rgba(126,56,255,.29);font-size:13px;font-weight:500}

.page-wrap{padding:24px 26px 32px;flex:1 0 auto;width:100%}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:19px}.page-heading p{font-size:13px;color:#a7b6c9;margin:0 0 3px}.page-heading h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:35px;line-height:1.05;margin:0;letter-spacing:-.02em}.page-heading span{font-size:13px;color:#8299b4}.system-ok{height:31px;border:1px solid rgba(40,216,182,.27);background:rgba(40,216,182,.095);border-radius:10px;color:#55e7c8;font-size:12px;font-weight:500;display:flex;align-items:center;gap:7px;padding:0 12px;backdrop-filter:blur(10px)}.system-ok i{width:7px;height:7px;border-radius:50%;background:#35e2bd;box-shadow:0 0 0 5px rgba(40,216,182,.09)}.app-footer{min-height:52px;flex:0 0 auto;margin-top:auto;border-top:1px solid rgba(35,54,79,.7);color:#7085a0;font-size:12px;display:flex;justify-content:space-between;align-items:center;padding:0 26px;background:rgba(4,13,26,.45);backdrop-filter:blur(12px)}

.coming{height:calc(100vh - 185px);min-height:440px;border:1px solid rgba(48,72,104,.85);border-radius:20px;background:radial-gradient(circle at 80% 20%,rgba(126,61,255,.20),transparent 27%),linear-gradient(145deg,rgba(13,27,48,.90),rgba(8,20,37,.88));backdrop-filter:var(--glass);display:grid;place-items:center;text-align:center;align-content:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}.coming span{font-size:13px;color:#b9a5ff;letter-spacing:.22em;font-weight:500}.coming h1{font-family:"Cormorant Garamond",serif;font-size:54px;margin:7px 0 6px}.coming p{max-width:580px;color:#9badc1;font-size:13px;line-height:1.65}.coming a{margin-top:16px;border:1px solid #3d5776;border-radius:10px;padding:11px 16px;font-size:13px;background:rgba(8,20,36,.55)}.coming-glow{position:absolute;width:380px;height:380px;background:#692dff;border-radius:50%;filter:blur(150px);opacity:.1}.info-panel{margin-top:16px;border:1px solid rgba(47,70,101,.86);border-radius:16px;background:rgba(9,24,42,.88);backdrop-filter:blur(15px);padding:20px}.info-panel h2{font-size:16px;margin:0 0 11px}.info-panel p{font-size:13px;color:#9bacc0;line-height:1.65}.info-panel code{background:#071321;border:1px solid #2b415d;border-radius:6px;padding:3px 7px;color:#c7b8ff}

@media(max-width:1050px){.app-sidebar{width:205px}.app-main{margin-left:205px}.new-booking{display:none}.top-search{width:45vw}.nav-link{font-size:13px}.page-heading h1{font-size:32px}}@media(max-width:760px){.app-sidebar{display:none}.app-main{margin-left:0}.top-search{display:none}.page-wrap{padding:16px}.app-topbar{padding:0 15px}.profile-chip div:last-child{display:none}.page-heading h1{font-size:31px}}


/* Stage 1C.1 shared page rhythm */
.page-wrap{padding-top:26px}
.page-heading p{font-size:13px;font-weight:500;letter-spacing:.015em}
.page-heading h1{font-size:37px}
.page-heading span{font-size:13px;line-height:1.45;color:#8ea2bb}
.app-footer{font-size:12px;min-height:54px}


/* Stage 1D premium navigation/action standard */
.primary-action,.secondary-action,.new-booking{
  gap:9px;
}
.primary-action .ui-icon,.secondary-action .ui-icon,.new-booking .ui-icon{
  width:17px;height:17px;stroke-width:2;
}
.secondary-action .ui-icon{color:#b8c9dc}
.primary-action .ui-icon,.new-booking .ui-icon{color:#fff}
.secondary-action:hover .ui-icon{transform:translateX(-2px)}
.primary-action:hover .ui-icon,.new-booking:hover .ui-icon{transform:translateX(2px)}
.primary-action .ui-icon,.secondary-action .ui-icon,.new-booking .ui-icon{transition:transform .18s ease}


/* =========================================================
   SERENOVA STAGE 1D.3.1 — GLOBAL TOAST STANDARD
   ========================================================= */
.serenova-toast-stack{
  position:fixed;
  z-index:10050;
  top:82px;
  right:22px;
  width:min(390px,calc(100vw - 32px));
  pointer-events:none;
}
.serenova-toast{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) 28px;
  gap:11px;
  align-items:center;
  min-height:74px;
  padding:12px 12px 14px;
  border:1px solid #36516d;
  border-radius:15px;
  background:
    radial-gradient(circle at 100% 0,rgba(124,60,255,.16),transparent 45%),
    rgba(6,20,36,.96);
  box-shadow:0 20px 55px rgba(0,0,0,.38);
  backdrop-filter:blur(18px);
  overflow:hidden;
  pointer-events:auto;
  animation:serenova-toast-in .24s ease-out both;
}
.serenova-toast.success{border-color:rgba(43,224,186,.38)}
.serenova-toast.error{border-color:rgba(240,90,131,.48)}
.serenova-toast.warning{border-color:rgba(227,184,70,.42)}
.serenova-toast .toast-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  border:1px solid rgba(124,60,255,.34);
  border-radius:11px;
  color:#b695ff;
  background:rgba(124,60,255,.12);
}
.serenova-toast.success .toast-icon{
  color:#49e4c2;border-color:rgba(43,224,186,.30);background:rgba(43,224,186,.09);
}
.serenova-toast.error .toast-icon{
  color:#ff7ea3;border-color:rgba(240,90,131,.34);background:rgba(240,90,131,.09);
}
.serenova-toast.warning .toast-icon{
  color:#f2cb69;border-color:rgba(227,184,70,.34);background:rgba(227,184,70,.09);
}
.serenova-toast .toast-icon .ui-icon{width:20px;height:20px}
.serenova-toast .toast-copy{min-width:0}
.serenova-toast .toast-copy b{
  display:block;
  margin-bottom:3px;
  color:#f3f6f9;
  font-size:13px;
  font-weight:500;
}
.serenova-toast .toast-copy span{
  display:block;
  color:#9bb0c5;
  font-size:13px;
  line-height:1.45;
}
.serenova-toast .toast-close{
  width:28px;height:28px;
  border:0;border-radius:8px;
  background:transparent;
  color:#849ab0;
  font:400 22px/1 Arial,sans-serif;
  cursor:pointer;
}
.serenova-toast .toast-close:hover{background:rgba(255,255,255,.06);color:#fff}
.serenova-toast .toast-progress{
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  transform-origin:left;
  background:linear-gradient(90deg,#2be0ba,#8c5cff);
  animation:serenova-toast-progress 4.6s linear both;
}
.serenova-toast.error .toast-progress{background:linear-gradient(90deg,#f05a83,#8c5cff)}
.serenova-toast.is-leaving{
  animation:serenova-toast-out .22s ease-in both;
}
@keyframes serenova-toast-in{
  from{opacity:0;transform:translate3d(20px,-8px,0) scale(.98)}
  to{opacity:1;transform:none}
}
@keyframes serenova-toast-out{
  to{opacity:0;transform:translate3d(18px,-6px,0) scale(.98)}
}
@keyframes serenova-toast-progress{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}

/* Shared map/location command button across every module. */
.map-control-btn{
  appearance:none;
  -webkit-appearance:none;
  height:44px;
  min-width:132px;
  padding:0 14px;
  border:1px solid #36516f;
  border-radius:11px;
  background:linear-gradient(180deg,rgba(14,35,59,.98),rgba(8,25,44,.98));
  color:#d9e3ed;
  box-shadow:inset 0 1px rgba(255,255,255,.025),0 5px 16px rgba(0,0,0,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:500 11px/1 Inter,system-ui,sans-serif;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.map-control-btn:hover{
  border-color:#7458c2;
  background:linear-gradient(180deg,rgba(34,37,80,.98),rgba(12,29,50,.98));
  color:#fff;
}
.map-control-btn:active{transform:translateY(1px)}
.map-control-btn .ui-icon{width:16px;height:16px;flex:0 0 auto}

@media(max-width:700px){
  .serenova-toast-stack{top:72px;right:16px}
}


/* =========================================================
   SERENOVA STAGE 1D.3.5 — GLOBAL TYPOGRAPHY STANDARD
   Locked system-wide: readable sizing + light premium weights.
   ========================================================= */
html{font-size:16px}
body,
button,input,select,textarea,option{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:400!important;
}
body{font-size:14px;line-height:1.45}

/* Serenova uses light/regular UI typography everywhere. */
b,strong,label,th,legend,kbd,
.nav-link,.new-booking,.primary-action,.secondary-action,
.status-pill,.system-ok,.map-control-btn,
.roster-action-btn,.view-all-link{
  font-weight:400!important;
}
h1,h2,h3,h4,h5,h6,
.page-heading h1,.sidebar-motto h3,.coming h1,
.preview-banner h3,.install-heading h1,.auth-title{
  font-weight:500!important;
}

/* Minimum readable microcopy across all CRM modules. */
small,.muted,.helper,.field-help,.panel-subtitle,
.app-footer,.profile-chip small,.brand-block small,
.sidebar-motto p,.preview-row small,.wizard-step small,
.choice-card small,.detail-block small,.roster-person small{
  font-size:12px!important;
  line-height:1.45;
}
label,.wizard-field label,.form-field label{
  font-size:14px!important;
}
input,select,textarea,
.top-search input{
  font-size:14px!important;
}
button,.primary-action,.secondary-action,.new-booking,
.nav-link,.map-control-btn{
  font-size:14px!important;
}
.status-pill{
  font-size:12px!important;
}
.app-footer{
  font-size:12px!important;
}

/* Table/list readability. */
table,tbody,td,.detail-block p,.detail-block b,
.registry-table,.dashboard-roster,.premium-roster-table{
  font-size:13px;
}

/* Preserve elegant editorial headings without heavy bold weight. */
.page-heading h1{font-size:38px!important}
.panel-title h2{font-size:16px!important}

@media(max-width:760px){
  body{font-size:14px}
  button,.primary-action,.secondary-action,.new-booking,.nav-link{font-size:13px!important}
  .page-heading h1{font-size:33px!important}
}


/* =========================================================
   SERENOVA STAGE 1E.1 — NOTIFICATION ENGINE FOUNDATION
   ========================================================= */
.notification-center{
  position:relative;
  flex:0 0 auto;
}
.notification-toggle{
  cursor:pointer;
}
.notification-toggle[aria-expanded="true"]{
  color:#fff;
  border-color:rgba(143,95,255,.72);
  background:linear-gradient(180deg,rgba(31,31,74,.96),rgba(9,24,42,.96));
  box-shadow:0 0 22px rgba(124,60,255,.13);
}
.notification-popover{
  position:absolute;
  z-index:120;
  top:52px;
  right:0;
  width:min(390px,calc(100vw - 28px));
  max-height:min(610px,calc(100vh - 100px));
  border:1px solid rgba(58,86,120,.92);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(124,60,255,.14),transparent 36%),
    rgba(5,18,33,.985);
  box-shadow:0 28px 70px rgba(0,0,0,.48);
  backdrop-filter:blur(22px);
  overflow:hidden;
}
.notification-head{
  min-height:68px;
  padding:13px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid rgba(48,72,102,.70);
}
.notification-head b{
  display:block;
  color:#f1f4f8;
  font-size:14px;
  font-weight:400!important;
}
.notification-head small{
  display:block;
  margin-top:2px;
  color:#8299b2;
  font-size:12px!important;
}
.notification-head button{
  height:31px;
  padding:0 10px;
  border:1px solid #385371;
  border-radius:9px;
  background:rgba(9,26,45,.80);
  color:#b9caDB;
  font-size:12px!important;
  font-weight:400!important;
  cursor:pointer;
}
.notification-head button:hover:not(:disabled){
  color:#fff;
  border-color:#7c5bd1;
}
.notification-head button:disabled{
  opacity:.38;
  cursor:default;
}
.notification-list{
  max-height:470px;
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#38516c transparent;
}
.notification-item{
  position:relative;
  min-height:82px;
  padding:12px 36px 12px 12px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:start;
  border-bottom:1px solid rgba(43,65,92,.58);
  background:rgba(8,23,40,.38);
  transition:background .16s ease,border-color .16s ease;
}
.notification-item:hover{
  background:rgba(20,34,59,.78);
}
.notification-item.unread{
  background:
    linear-gradient(90deg,rgba(124,60,255,.095),transparent 60%),
    rgba(8,23,40,.58);
}
.notification-item.urgent{
  background:
    linear-gradient(90deg,rgba(240,90,131,.10),transparent 62%),
    rgba(8,23,40,.58);
}
.notification-item.high{
  background:
    linear-gradient(90deg,rgba(224,184,92,.075),transparent 62%),
    rgba(8,23,40,.48);
}
.notification-item-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,60,255,.30);
  border-radius:10px;
  color:#b99cff;
  background:rgba(124,60,255,.09);
}
.notification-item.urgent .notification-item-icon{
  color:#ff7fa4;
  border-color:rgba(240,90,131,.34);
  background:rgba(240,90,131,.09);
}
.notification-item.high .notification-item-icon{
  color:#efca70;
  border-color:rgba(224,184,92,.32);
  background:rgba(224,184,92,.08);
}
.notification-item-icon .ui-icon,
.notification-item-icon svg{
  width:18px;
  height:18px;
}
.notification-item-copy{
  min-width:0;
}
.notification-item-copy b{
  display:block;
  margin-bottom:3px;
  color:#edf2f7;
  font-size:13px;
  font-weight:400!important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.notification-item-copy span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#a2b4c7;
  font-size:12px;
  line-height:1.38;
}
.notification-item-copy small{
  display:block;
  margin-top:5px;
  color:#6f87a1;
  font-size:11px!important;
}
.notification-unread-dot{
  position:absolute;
  right:14px;
  top:19px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#9b6cff;
  box-shadow:0 0 0 4px rgba(124,60,255,.12),0 0 12px rgba(124,60,255,.52);
}
.notification-item.urgent .notification-unread-dot{
  background:#ff668f;
  box-shadow:0 0 0 4px rgba(240,90,131,.12),0 0 12px rgba(240,90,131,.52);
}
.notification-empty{
  min-height:220px;
  padding:28px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.notification-empty>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  margin-bottom:11px;
  border:1px solid rgba(124,60,255,.28);
  border-radius:14px;
  color:#a77dff;
  background:rgba(124,60,255,.08);
}
.notification-empty>span .ui-icon,
.notification-empty>span svg{
  width:22px;
  height:22px;
}
.notification-empty b{
  color:#edf2f7;
  font-size:13px;
  font-weight:400!important;
}
.notification-empty small{
  max-width:245px;
  margin-top:4px;
  color:#7f94ad;
  font-size:12px!important;
  line-height:1.45;
}
.notification-foot{
  min-height:39px;
  padding:0 14px;
  display:flex;
  align-items:center;
  border-top:1px solid rgba(48,72,102,.70);
  color:#6f86a0;
  font-size:11px;
  letter-spacing:.02em;
}
@media(max-width:760px){
  .notification-popover{
    position:fixed;
    top:68px;
    right:10px;
    left:10px;
    width:auto;
  }
}


/* Stage 1E.4 — notification dropdown refinements */
.notification-item-copy small em{
  color:#a98aff;
  font-style:normal;
}
.notification-foot{
  justify-content:space-between;
  gap:12px;
}
.notification-foot a{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#a98aff;
  font-size:11px;
}
.notification-foot a:hover{color:#d5c5ff}
.notification-foot a .ui-icon{width:12px;height:12px}


/* =========================================================
   SERENOVA STAGE 1E.4.7 — THERAPIST PORTRAIT IDENTITY SYSTEM
   ========================================================= */
.therapist-inline-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.therapist-inline-person{
  min-width:0;display:inline-flex;align-items:center;gap:6px;
  color:#cbd6e2;font-size:12px;font-weight:400!important;text-decoration:none
}
a.therapist-inline-person:hover{color:#fff}
.therapist-inline-avatar{
  width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;overflow:hidden;
  border:1px solid #4b5f83;border-radius:50%;
  background:linear-gradient(145deg,#4a3479,#183a50);
  color:#fff;font-size:11px;font-weight:500!important
}
.therapist-inline-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.therapist-inline-avatar.has-photo{background:#0a1d31;box-shadow:0 4px 12px rgba(0,0,0,.16)}


/* =========================================================
   STAGE 1E.4.14 — GLOBAL WHITE-LABEL BRAND SUPPORT
   ========================================================= */

.brand-block .brand-copy{
  min-width:0;
  flex:1 1 auto;
}

.brand-block .serenova-word,
.login-brand .serenova-word{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  letter-spacing:.17em;
}

.brand-block .wellness-word,
.login-brand .wellness-word{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  letter-spacing:.25em;
}

.brand-block small,
.login-brand small{
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  letter-spacing:.10em;
}

.brand-sidebar-logo{
  flex:0 0 auto;
}

.brand-block.brand-text-hidden{
  justify-content:center;
}

.brand-block.brand-text-hidden .brand-sidebar-logo{
  max-width:178px;
  max-height:64px;
  width:auto;
  height:auto;
}

.login-brand.brand-text-hidden{
  justify-content:center;
}

.login-brand.brand-text-hidden .login-brand-logo{
  max-width:240px;
  max-height:76px;
  width:auto;
  height:auto;
}

.app-sidebar .brand-uploaded-logo{
  object-fit:contain;
}

/* Stage 1F.1 — Administration navigation */
.nav-section-label{margin:13px 9px 6px;padding:9px 8px 0;border-top:1px solid rgba(67,84,113,.48)}
.nav-section-label span{color:#627991;font-size:11px!important;line-height:1;letter-spacing:.14em;text-transform:uppercase;font-weight:500!important}


/* =========================================================
   SERENOVA STAGE 1F.4.1 — PREMIUM USER PROFILE MENU
   ========================================================= */
.profile-menu{position:relative;flex:0 0 auto}
.profile-menu-toggle{
  min-height:46px;padding:3px 7px 3px 4px;
  border:1px solid transparent;border-radius:13px;
  background:transparent;color:inherit;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease
}
.profile-menu-toggle:hover,.profile-menu.open .profile-menu-toggle{
  border-color:#314968;background:rgba(9,26,45,.86);box-shadow:0 9px 24px rgba(0,0,0,.15)
}
.profile-chip-copy{min-width:0;text-align:left}
.profile-chip-copy b{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-menu-chevron{
  width:22px;height:22px;margin-left:1px;display:grid;place-items:center;
  border:1px solid rgba(57,80,107,.65);border-radius:7px;color:#6f88a4;
  transition:transform .18s ease,color .18s ease,border-color .18s ease
}
.profile-menu-chevron .ui-icon{width:13px;height:13px}
.profile-menu.open .profile-menu-chevron{transform:rotate(180deg);border-color:#65548d;color:#ae91eb}

.profile-popover{
  position:absolute;z-index:10040;top:calc(100% + 11px);right:0;width:360px;overflow:hidden;
  border:1px solid #354f6d;border-radius:17px;
  background:radial-gradient(circle at 100% 0,rgba(126,60,255,.11),transparent 38%),linear-gradient(155deg,rgba(11,31,54,.985),rgba(6,20,37,.99));
  box-shadow:0 24px 70px rgba(0,0,0,.43),inset 0 1px rgba(255,255,255,.02);
  backdrop-filter:blur(22px) saturate(120%);
  transform-origin:top right;animation:profileMenuIn .16s ease-out
}
@keyframes profileMenuIn{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.profile-popover:before{
  content:"";position:absolute;top:-7px;right:44px;width:13px;height:13px;transform:rotate(45deg);
  border-left:1px solid #354f6d;border-top:1px solid #354f6d;background:#0a1d33
}
.profile-popover-head{
  min-height:92px;padding:15px 16px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;
  border-bottom:1px solid #2e465f;background:linear-gradient(135deg,rgba(17,43,72,.78),rgba(18,25,58,.42))
}
.profile-popover-avatar{
  width:46px;height:46px;display:grid;place-items:center;border:1px solid #536e8f;border-radius:14px;
  background:linear-gradient(145deg,#1c4265,#122b46);color:#f0f4f8;font-size:14px
}
.profile-popover-identity{min-width:0}
.profile-popover-identity>span{display:block;color:#8e72d5;font-size:11px!important;letter-spacing:.13em}
.profile-popover-identity>b{
  display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0edf7;font-size:14px!important
}
.profile-popover-identity>small{
  display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#788ea5;font-size:11px!important
}
.profile-status-dot{
  width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(50,211,180,.23);
  border-radius:9px;background:rgba(43,224,186,.07)
}
.profile-status-dot i{width:7px;height:7px;border-radius:50%;background:#38d8b6;box-shadow:0 0 10px rgba(56,216,182,.65)}

.profile-popover-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:1px solid #2d445d}
.profile-popover-meta>div{min-height:60px;padding:10px 13px;border-right:1px solid #2d445d;border-bottom:1px solid #2d445d}
.profile-popover-meta>div:nth-child(2n){border-right:0}
.profile-popover-meta>div:nth-last-child(-n+2){border-bottom:0}
.profile-popover-meta span{display:block;color:#647b93;font-size:11px!important;text-transform:uppercase;letter-spacing:.08em}
.profile-popover-meta b{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9c7d5;font-size:11px!important}
.profile-popover-meta .profile-access-on{color:#56d5ba}
.profile-popover-meta .profile-access-off{color:#768ba1}

.profile-popover-links{padding:7px}
.profile-popover-links>a{
  min-height:58px;padding:8px 9px;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;
  border:1px solid transparent;border-radius:11px;color:inherit;text-decoration:none;
  transition:background .16s ease,border-color .16s ease
}
.profile-popover-links>a:hover,.profile-popover-links>a:focus-visible{outline:0;border-color:#324b68;background:#0b2139}
.profile-popover-links>a>span:first-child{
  width:34px;height:34px;display:grid;place-items:center;border:1px solid #3a5573;border-radius:9px;background:#0b2037;color:#a486e8
}
.profile-popover-links>a>span:first-child .ui-icon{width:15px;height:15px}
.profile-popover-links>a>span:nth-child(2){min-width:0}
.profile-popover-links>a b{display:block;color:#cbd5df;font-size:11px!important}
.profile-popover-links>a small{
  display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#6f849a;font-size:11px!important
}
.profile-link-arrow{width:13px;height:13px;color:#5f7690;transition:transform .16s ease,color .16s ease}
.profile-popover-links>a:hover .profile-link-arrow{transform:translateX(2px);color:#a285e7}

.profile-popover-foot{
  min-height:60px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-top:1px solid #2d455f;background:rgba(6,18,33,.52)
}
.profile-popover-foot>div{min-width:0;display:flex;align-items:center;gap:8px}
.profile-popover-foot>div>span{
  width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border:1px solid rgba(52,210,178,.23);
  border-radius:8px;background:rgba(43,224,186,.06);color:#50d0b4
}
.profile-popover-foot>div>span .ui-icon{width:14px;height:14px}
.profile-popover-foot p{margin:0;min-width:0}
.profile-popover-foot p b{display:block;color:#9fb0c0;font-size:11px!important}
.profile-popover-foot p small{display:block;margin-top:2px;color:#62778e;font-size:11px!important}
.profile-logout{
  min-height:35px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;
  border:1px solid rgba(234,111,144,.30);border-radius:9px;background:rgba(234,111,144,.07);
  color:#ea88a2;text-decoration:none;font-size:11px
}
.profile-logout:hover,.profile-logout:focus-visible{outline:0;border-color:rgba(234,111,144,.50);background:rgba(234,111,144,.12);color:#f0a0b6}
.profile-logout .ui-icon{width:13px;height:13px}

@media(max-width:760px){
  .profile-menu-toggle{padding-right:4px}
  .profile-chip-copy,.profile-menu-chevron{display:none}
  .profile-popover{position:fixed;top:67px;right:10px;left:10px;width:auto}
  .profile-popover:before{display:none}
}


/* =========================================================
   SERENOVA STAGE 1F.4.6 — ACTIVE GLOBAL TOP SEARCH
   ========================================================= */

.global-search{
  position:relative;
  overflow:visible;
  transition:
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
}

.global-search:hover,
.global-search.open,
.global-search:focus-within{
  border-color:#4b6484;
  background:rgba(8,23,41,.94);
  box-shadow:
    inset 0 1px rgba(255,255,255,.02),
    0 0 0 3px rgba(124,60,255,.055);
}

.global-search input{
  cursor:text;
}

.global-search input::-webkit-search-cancel-button{
  display:none;
}

.global-search-clear{
  width:23px;
  height:23px;
  flex:0 0 23px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #334c69;
  border-radius:7px;
  background:#0a1f36;
  color:#7c92aa;
  font-size:15px!important;
  line-height:1;
  cursor:pointer;
}

.global-search-clear:hover{
  border-color:#665192;
  color:#b79bf0;
}

.global-search-panel{
  position:absolute;
  z-index:10060;
  top:calc(100% + 10px);
  left:0;
  width:min(620px,calc(100vw - 300px));
  max-height:min(620px,calc(100vh - 115px));
  overflow:hidden;
  border:1px solid #354f6d;
  border-radius:17px;
  background:
    radial-gradient(circle at 0 0,rgba(124,60,255,.09),transparent 34%),
    linear-gradient(160deg,rgba(9,28,49,.99),rgba(5,18,33,.99));
  box-shadow:
    0 28px 80px rgba(0,0,0,.46),
    inset 0 1px rgba(255,255,255,.018);
  backdrop-filter:blur(22px) saturate(125%);
  transform-origin:top left;
  animation:globalSearchIn .15s ease-out;
}

@keyframes globalSearchIn{
  from{
    opacity:0;
    transform:translateY(-4px) scale(.99);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

.global-search-results{
  max-height:min(530px,calc(100vh - 190px));
  overflow:auto;
  scrollbar-width:thin;
  scrollbar-color:#314b69 transparent;
}

.global-search-welcome{
  min-height:125px;
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  text-align:left;
}

.global-search-welcome>span{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(124,91,216,.28);
  border-radius:12px;
  background:rgba(124,60,255,.07);
  color:#a48ae5;
}

.global-search-welcome>span .ui-icon{
  width:18px;
  height:18px;
}

.global-search-welcome b{
  display:block;
  color:#dfe7ee;
  font-size:13px;
  font-weight:500;
}

.global-search-welcome small{
  display:block;
  max-width:390px;
  margin-top:4px;
  color:#74899f;
  font-size:12px!important;
  line-height:1.5;
}

.global-search-welcome.error>span{
  border-color:rgba(232,109,142,.25);
  background:rgba(232,109,142,.07);
  color:#e6819e;
}

.global-search-spinner{
  width:17px;
  height:17px;
  display:block;
  border:2px solid #4a597a;
  border-top-color:#a781eb;
  border-radius:50%;
  animation:globalSearchSpin .7s linear infinite;
}

@keyframes globalSearchSpin{
  to{transform:rotate(360deg)}
}

.global-search-group+ .global-search-group{
  border-top:1px solid #293f58;
}

.global-search-group>header{
  min-height:34px;
  padding:7px 11px 5px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:rgba(6,19,34,.65);
}

.global-search-group>header span{
  color:#8e73d3;
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.global-search-group>header small{
  min-width:21px;
  height:21px;
  padding:0 6px;
  display:grid;
  place-items:center;
  border:1px solid #334c68;
  border-radius:999px;
  color:#7288a0;
  font-size:11px!important;
}

.global-search-group-list{
  padding:5px;
}

.global-search-item{
  min-height:62px;
  padding:8px 9px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  border:1px solid transparent;
  border-radius:11px;
  color:inherit;
  text-decoration:none;
  transition:
    background .13s ease,
    border-color .13s ease;
}

.global-search-item:hover,
.global-search-item.active{
  border-color:#334d69;
  background:#0b2139;
}

.global-search-glyph{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid #405a77;
  border-radius:10px;
  background:#0d2944;
  color:#b0c0d0;
  font-size:12px;
}

.global-search-glyph.bookings{
  border-color:rgba(151,111,255,.30);
  background:rgba(124,60,255,.08);
  color:#bca4f7;
}

.global-search-glyph.clients{
  border-color:rgba(48,211,178,.25);
  background:rgba(48,211,178,.06);
  color:#57d3ba;
}

.global-search-glyph.therapists{
  border-color:rgba(85,169,235,.26);
  background:rgba(85,169,235,.07);
  color:#74bcea;
}

.global-search-glyph.drivers{
  border-color:rgba(224,184,92,.25);
  background:rgba(224,184,92,.06);
  color:#d8b95d;
}

.global-search-glyph.services{
  border-color:rgba(234,113,148,.25);
  background:rgba(234,113,148,.06);
  color:#e487a0;
}

.global-search-copy{
  min-width:0;
}

.global-search-copy b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#dce5ed;
  font-size:12px;
  font-weight:500;
}

.global-search-copy small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#788da3;
  font-size:11px!important;
}

.global-search-copy em{
  display:block;
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#5f768e;
  font-size:11px;
  font-style:normal;
}

.global-search-status{
  min-height:25px;
  max-width:120px;
  padding:0 7px;
  display:flex;
  align-items:center;
  border:1px solid #3a536f;
  border-radius:999px;
  background:#091c30;
  color:#8096ad;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.global-search-foot{
  min-height:39px;
  padding:7px 10px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  border-top:1px solid #2c435c;
  background:rgba(5,17,31,.86);
  color:#647b92;
}

.global-search-foot span{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:11px;
}

.global-search-foot kbd{
  padding:2px 5px;
  border:1px solid #334d69;
  border-radius:5px;
  background:#0b2037;
  color:#879cb2;
  font-size:11px;
}

@media(max-width:1050px){
  .global-search-panel{
    width:min(580px,calc(100vw - 235px));
  }
}


/* =========================================================
   SERENOVA STAGE 1F.4.7 — SMART REBOOKING MODAL
   ========================================================= */

body.rebook-modal-open{
  overflow:hidden;
}

.rebook-modal-shell{
  position:fixed;
  z-index:11000;
  inset:0;
  display:grid;
  place-items:center;
  padding:22px;
}

.rebook-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(2,9,18,.72);
  backdrop-filter:blur(10px);
}

.rebook-modal{
  width:min(650px,calc(100vw - 30px));
  max-height:calc(100vh - 36px);
  overflow:hidden;
  position:relative;
  display:flex;
  flex-direction:column;
  border:1px solid #3b5675;
  border-radius:21px;
  background:
    radial-gradient(circle at 95% 0,rgba(124,60,255,.16),transparent 34%),
    linear-gradient(160deg,#0a2037,#07182b 58%,#071422);
  box-shadow:0 36px 100px rgba(0,0,0,.55);
  animation:rebookModalIn .17s ease-out;
}

@keyframes rebookModalIn{
  from{opacity:0;transform:translateY(8px) scale(.985)}
  to{opacity:1;transform:none}
}

.rebook-modal-head{
  min-height:92px;
  padding:15px 17px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 34px;
  align-items:center;
  gap:11px;
  border-bottom:1px solid #2d455f;
}

.rebook-modal-head-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(126,92,216,.34);
  border-radius:13px;
  background:rgba(124,60,255,.09);
  color:#aa8ce9;
}

.rebook-modal-head-icon .ui-icon{
  width:19px;
  height:19px;
}

.rebook-modal-head small{
  display:block;
  color:#9a7ddd;
  font-size:11px!important;
  letter-spacing:.13em;
}

.rebook-modal-head h2{
  margin:4px 0 0;
  color:#eef2f6;
  font-size:17px;
  font-weight:500;
}

.rebook-modal-head p{
  margin:4px 0 0;
  color:#788da4;
  font-size:12px;
  line-height:1.45;
}

.rebook-modal-close{
  width:34px;
  height:34px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #344d69;
  border-radius:10px;
  background:#0a1e34;
  color:#8297ad;
  font-size:20px;
  cursor:pointer;
}

.rebook-modal-body{
  min-height:320px;
  padding:14px;
  overflow:auto;
}

.rebook-modal-loading,
.rebook-load-error{
  min-height:290px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#8599ae;
  font-size:12px;
}

.rebook-modal-loading i{
  width:20px;
  height:20px;
  border:2px solid #465a78;
  border-top-color:#a384e6;
  border-radius:50%;
  animation:rebookSpin .7s linear infinite;
}

@keyframes rebookSpin{
  to{transform:rotate(360deg)}
}

.rebook-load-error>span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(232,109,142,.28);
  border-radius:12px;
  background:rgba(232,109,142,.07);
  color:#e77e9b;
  font-size:18px;
}

.rebook-load-error b{
  display:block;
  color:#dfe6ed;
  font-size:13px;
  font-weight:500;
}

.rebook-load-error p{
  margin:4px 0 0;
  color:#7d91a6;
  font-size:12px;
}

.rebook-source-card{
  min-height:78px;
  padding:11px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  border:1px solid rgba(125,91,215,.29);
  border-radius:13px;
  background:
    linear-gradient(135deg,rgba(124,60,255,.085),rgba(8,27,47,.80));
}

.rebook-source-code{
  min-height:31px;
  padding:0 9px;
  display:flex;
  align-items:center;
  border:1px solid #524675;
  border-radius:9px;
  color:#baa4ec;
  font-size:11px;
}

.rebook-source-copy small{
  display:block;
  color:#7c69b3;
  font-size:11px;
  letter-spacing:.10em;
}

.rebook-source-copy h3{
  margin:3px 0 0;
  color:#e6ecf1;
  font-size:14px;
  font-weight:500;
}

.rebook-source-copy p{
  margin:3px 0 0;
  color:#8297ad;
  font-size:12px;
}

.rebook-source-duration{
  min-height:28px;
  padding:0 8px;
  display:flex;
  align-items:center;
  border:1px solid #354f6b;
  border-radius:999px;
  color:#8298af;
  font-size:11px;
}

.rebook-schedule-grid{
  margin-top:10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
}

.rebook-schedule-grid label{
  display:grid;
  gap:6px;
}

.rebook-schedule-grid label>span{
  color:#8397ac;
  font-size:11px;
}

.rebook-schedule-grid input{
  width:100%;
  height:43px;
  padding:0 11px;
  border:1px solid #38516e;
  border-radius:10px;
  outline:0;
  background:#081c31;
  color:#d8e1ea;
  font:inherit;
  font-size:12px;
}

.rebook-schedule-grid input:focus{
  border-color:#7657bd;
  box-shadow:0 0 0 3px rgba(124,60,255,.07);
}

.rebook-copy-options{
  margin-top:10px;
  overflow:hidden;
  border:1px solid #2e465f;
  border-radius:13px;
  background:#081a2e;
}

.rebook-copy-options>header{
  min-height:58px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #2d435c;
}

.rebook-copy-options>header small{
  display:block;
  color:#8e72d1;
  font-size:11px;
  letter-spacing:.11em;
}

.rebook-copy-options>header h3{
  margin:3px 0 0;
  color:#dce5ec;
  font-size:14px;
  font-weight:500;
}

.rebook-copy-options>header>span{
  color:#667d94;
  font-size:11px;
}

.rebook-option{
  min-height:62px;
  padding:9px 11px;
  display:grid;
  grid-template-columns:18px 26px minmax(0,1fr);
  align-items:center;
  gap:8px;
  border-bottom:1px solid #293f58;
  cursor:pointer;
}

.rebook-option:last-child{
  border-bottom:0;
}

.rebook-option input{
  width:16px;
  height:16px;
  accent-color:#8051e9;
}

.rebook-option-check{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid #3c5572;
  border-radius:8px;
  color:#836fc0;
  font-size:12px;
}

.rebook-option:has(input:checked) .rebook-option-check{
  border-color:rgba(48,211,178,.26);
  background:rgba(48,211,178,.06);
  color:#55d3b8;
}

.rebook-option.locked{
  cursor:default;
}

.rebook-option:has(input:disabled){
  opacity:.72;
}

.rebook-option b{
  display:block;
  color:#b9c7d4;
  font-size:12px;
  font-weight:500;
}

.rebook-option small{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#71869c;
  font-size:11px!important;
}

.rebook-safety-note{
  margin-top:10px;
  padding:9px 10px;
  display:flex;
  align-items:flex-start;
  gap:8px;
  border:1px solid rgba(48,211,178,.20);
  border-radius:10px;
  background:rgba(48,211,178,.045);
}

.rebook-safety-note>span{
  width:21px;
  height:21px;
  flex:0 0 21px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:rgba(48,211,178,.10);
  color:#55d2b7;
  font-size:12px;
}

.rebook-safety-note p{
  margin:1px 0 0;
  color:#8298ad;
  font-size:11px;
  line-height:1.5;
}

.rebook-error{
  margin-top:9px;
  padding:9px 10px;
  border:1px solid rgba(232,109,142,.30);
  border-radius:10px;
  background:rgba(232,109,142,.065);
  color:#e497ac;
  font-size:11px;
  line-height:1.5;
}

.rebook-modal-foot{
  min-height:68px;
  padding:11px 14px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  border-top:1px solid #2d445e;
  background:rgba(5,17,31,.76);
}

.rebook-modal-foot button{
  min-height:39px;
}

@media(max-width:650px){
  .rebook-modal-shell{
    padding:10px;
  }

  .rebook-modal{
    width:100%;
    max-height:calc(100vh - 20px);
  }

  .rebook-schedule-grid{
    grid-template-columns:1fr;
  }

  .rebook-modal-foot{
    flex-direction:column-reverse;
  }

  .rebook-modal-foot button{
    width:100%;
  }
}

.message-top-link{position:relative;text-decoration:none}.message-top-link>i{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;display:grid;place-items:center;background:#7c3cff;color:#fff;font-size:11px;font-style:normal;border:2px solid #07182b}
