:root{--rv-green:#213a32;--rv-green-2:#2f574b;--rv-cream:#f7f4ef;--rv-soft:#edf3ee;--rv-ink:#182522;--rv-muted:rgba(24,37,34,.68);--rv-line:rgba(24,37,34,.13);--rv-card:rgba(255,255,255,.92);--rv-shadow:0 18px 48px rgba(8,20,18,.12)}
html.myrev-app-html{height:100%;overflow-x:hidden}
body.myrev-app-shell{min-height:100dvh!important;padding-top:calc(76px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;background:radial-gradient(circle at top left,rgba(78,117,97,.20),transparent 34rem),linear-gradient(135deg,#fbfaf7 0%,var(--rv-cream) 48%,var(--rv-soft) 100%)!important;color:var(--rv-ink);overflow-x:hidden}
body.myrev-app-shell main.shell{padding-top:0!important;padding-bottom:18px!important}
body.myrev-app-shell main.shell>.top{display:none!important}
.myrev-app-top{position:fixed;left:50%;top:env(safe-area-inset-top,0px);z-index:950;width:min(1180px,calc(100% - 18px));transform:translateX(-50%);display:grid;grid-template-columns:minmax(78px,auto) minmax(0,1fr) minmax(94px,auto);align-items:center;gap:10px;padding:9px 10px;border:1px solid rgba(33,58,50,.12);border-radius:0 0 28px 28px;background:rgba(247,244,239,.94);box-shadow:0 14px 34px rgba(8,20,18,.10);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.myrev-icon-btn{width:auto;min-width:78px;height:46px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;background:rgba(33,58,50,.10);color:var(--rv-green);cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.myrev-icon-btn:hover,.myrev-icon-btn:focus-visible{transform:translateY(-1px);background:rgba(33,58,50,.16);outline:0;box-shadow:0 10px 22px rgba(33,58,50,.12)}.myrev-top-word{font-size:12px;font-weight:950;line-height:1;color:currentColor}.myrev-icon-btn svg,.myrev-bottom-nav svg,.myrev-row-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.myrev-back-btn.is-soft-hidden{visibility:hidden}
.myrev-app-brand{min-width:0;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:inherit}.myrev-app-badge{flex:0 0 auto;width:42px;height:42px;border-radius:16px;background:linear-gradient(145deg,var(--rv-green),var(--rv-green-2));display:grid;place-items:center;color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-weight:900;font-size:29px;box-shadow:0 12px 26px rgba(33,58,50,.22)}.myrev-app-title{display:flex;flex-direction:column;line-height:1.05;min-width:0}.myrev-app-title strong{color:var(--rv-green);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.myrev-app-title small{color:var(--rv-muted);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.myrev-bottom-nav{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:920;width:min(560px,calc(100% - 18px));transform:translateX(-50%);display:grid;grid-template-columns:1fr 1fr 66px 1fr 1fr;gap:6px;padding:8px;border:1px solid rgba(33,58,50,.14);border-radius:30px;background:rgba(255,255,255,.95);box-shadow:0 20px 46px rgba(8,20,18,.18);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.myrev-bottom-nav a,.myrev-bottom-nav button{border:0;background:transparent;color:rgba(24,37,34,.62);font:inherit;font-size:11px;font-weight:900;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:18px;min-height:54px;cursor:pointer}.myrev-bottom-nav a.is-active,.myrev-bottom-nav button.is-active{color:var(--rv-green);background:rgba(33,58,50,.08)}.myrev-bottom-nav .myrev-search-nav{background:linear-gradient(135deg,var(--rv-green),var(--rv-green-2));color:#fff!important;border-radius:24px;min-height:64px;box-shadow:0 14px 30px rgba(33,58,50,.24);margin-top:-18px}.myrev-bottom-nav .myrev-search-nav svg{width:27px;height:27px}
.myrev-drawer,.myrev-search-panel{position:fixed;inset:0;z-index:1100;display:none;background:rgba(8,20,18,.52);padding:14px;align-items:flex-end}.myrev-drawer.is-open,.myrev-search-panel.is-open{display:flex}.myrev-drawer-panel,.myrev-search-card{width:min(470px,100%);max-height:min(88dvh,760px);overflow:auto;border-radius:30px 30px 22px 22px;background:linear-gradient(180deg,#fff,#f7f4ef);box-shadow:0 28px 80px rgba(0,0,0,.28);padding:18px}.myrev-drawer-head,.myrev-search-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.myrev-drawer-head strong,.myrev-search-head strong{display:block;font-size:24px;color:var(--rv-green)}.myrev-drawer-head small,.myrev-search-head span{display:block;color:var(--rv-muted);font-size:13px;font-weight:800;margin-top:2px}.myrev-drawer-close,.myrev-search-head button{border:0;border-radius:999px;width:42px;height:42px;background:rgba(33,58,50,.10);font-size:25px;color:var(--rv-green);cursor:pointer}.myrev-drawer-section{display:grid;gap:8px;margin-top:14px}.myrev-drawer-section-title{font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--rv-muted);margin-top:6px}.myrev-drawer a,.myrev-drawer button.myrev-drawer-link,.myrev-search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:var(--rv-green);font-weight:900;border:1px solid rgba(33,58,50,.12);background:rgba(255,255,255,.76);border-radius:19px;padding:13px 14px;font:inherit;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.myrev-drawer a:hover,.myrev-drawer button:hover,.myrev-search-result:hover{background:rgba(33,58,50,.08);transform:translateY(-1px);box-shadow:0 10px 22px rgba(8,20,18,.08)}
.myrev-search-box{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;border:1px solid rgba(33,58,50,.16);background:#fff;border-radius:22px;padding:12px 14px;margin:0 0 12px}.myrev-search-box span{color:var(--rv-green);display:grid;place-items:center}.myrev-search-box svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2}.myrev-search-box input{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;outline:0!important;font:inherit;font-size:17px;color:var(--rv-ink)}.myrev-quick-actions{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:10px}.myrev-quick-actions a{flex:0 0 auto;text-decoration:none;border-radius:999px;background:rgba(33,58,50,.09);color:var(--rv-green);font-size:13px;font-weight:900;padding:9px 12px}.myrev-search-results{display:grid;gap:8px}.myrev-search-result{justify-content:flex-start}.myrev-search-result span:nth-child(2){min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.2}.myrev-search-result strong{color:var(--rv-green);font-size:15px}.myrev-search-result small{color:var(--rv-muted);font-weight:700}.myrev-search-result em{margin-left:auto;font-style:normal;color:var(--rv-muted)}.myrev-row-icon{width:38px;height:38px;border-radius:15px;background:rgba(33,58,50,.09);display:grid;place-items:center;flex:0 0 auto;color:var(--rv-green)}.myrev-empty-search{border-radius:18px;background:rgba(33,58,50,.08);color:var(--rv-green);font-weight:900;padding:14px}
@media(min-width:900px){body.myrev-app-shell{padding-top:calc(92px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important}.myrev-app-top{top:calc(12px + env(safe-area-inset-top,0px));border-radius:30px}.myrev-bottom-nav{width:min(640px,calc(100% - 28px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}.myrev-drawer{align-items:center;justify-content:flex-end}.myrev-drawer-panel{margin-right:24px;border-radius:30px}.myrev-search-panel{align-items:flex-start;justify-content:center;padding-top:calc(88px + env(safe-area-inset-top,0px))}.myrev-search-card{border-radius:30px}.myrev-bottom-nav a,.myrev-bottom-nav button{font-size:12px}}
@media(max-width:520px){.myrev-app-top{width:100%;border-left:0;border-right:0;border-radius:0 0 24px 24px}.myrev-app-title strong{font-size:17px}.myrev-app-badge{width:40px;height:40px}.myrev-bottom-nav{width:calc(100% - 14px);grid-template-columns:1fr 1fr 64px 1fr 1fr;border-radius:28px}.myrev-bottom-nav a,.myrev-bottom-nav button{font-size:10px}.myrev-drawer,.myrev-search-panel{padding:10px}.myrev-drawer-panel,.myrev-search-card{border-radius:28px 28px 18px 18px}}


/* Desktop workstation override - app shell */
@media (min-width:1024px){
  body.myrev-app-shell{padding-top:96px!important;padding-bottom:0!important;}
  body.myrev-app-shell main.shell{width:min(1440px,calc(100% - 48px));padding-bottom:48px!important;}
  .myrev-bottom-nav{display:none!important;}
  .myrev-app-top{width:min(1440px,calc(100% - 48px));top:14px;border-radius:24px;grid-template-columns:52px minmax(0,1fr) 52px;padding:10px 14px;}
  .myrev-app-brand{justify-content:center;}
  .myrev-drawer{align-items:center;justify-content:flex-end;}
  .myrev-drawer-panel{margin-right:34px;border-radius:30px;}
}

@media(max-width:420px){.myrev-app-top{grid-template-columns:minmax(70px,auto) minmax(0,1fr) minmax(84px,auto);gap:7px;padding-left:8px;padding-right:8px}.myrev-icon-btn{min-width:70px;height:44px;padding:0 9px}.myrev-top-word{font-size:11px}.myrev-app-title strong{font-size:16px}.myrev-app-title small{font-size:9px}.myrev-app-badge{width:38px;height:38px;border-radius:14px;font-size:26px}}


/* Mail page app-frame restore */
body.myrev-app-shell.mail-outlook-style{padding-top:calc(76px + env(safe-area-inset-top,0px))!important;padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))!important}
body.myrev-app-shell.mail-outlook-style main.shell{padding-top:10px!important;padding-bottom:26px!important}
body.myrev-app-shell.mail-outlook-style .top-card{margin-top:0}
@media(max-width:560px){
  body.myrev-app-shell.mail-outlook-style main.shell{padding-top:0!important}
}


/* Smart Clinic app-frame restore */
body.myrev-app-shell main.shell .top{display:none!important}
body.myrev-app-shell main.shell{padding-top:10px!important;padding-bottom:30px!important}
@media(max-width:560px){
  body.myrev-app-shell main.shell{padding-top:0!important}
}

/* My Cards manager */
.myrev-cards-panel{position:fixed;inset:0;z-index:1120;display:none;background:rgba(8,20,18,.52);padding:14px;align-items:flex-end}
.myrev-cards-panel.is-open{display:flex}
.myrev-cards-card{width:min(520px,100%);max-height:min(88dvh,780px);overflow:auto;border-radius:30px 30px 22px 22px;background:linear-gradient(180deg,#fff,#f7f4ef);box-shadow:0 28px 80px rgba(0,0,0,.28);padding:18px}
.myrev-cards-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}
.myrev-cards-head strong{display:block;font-size:24px;color:var(--rv-green)}
.myrev-cards-head span{display:block;color:var(--rv-muted);font-size:13px;font-weight:800;margin-top:2px}
.myrev-cards-head button{border:0;border-radius:999px;width:42px;height:42px;background:rgba(33,58,50,.10);font-size:25px;color:var(--rv-green);cursor:pointer}
.myrev-cards-actions{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.myrev-cards-actions button{border:1px solid rgba(33,58,50,.14);border-radius:999px;background:rgba(33,58,50,.09);color:var(--rv-green);font:inherit;font-size:13px;font-weight:900;padding:10px 13px;cursor:pointer}
.myrev-cards-list{display:grid;gap:12px}
.myrev-cards-group{display:grid;gap:8px}
.myrev-cards-group-title{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--rv-green);font-size:12px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-top:4px}
.myrev-cards-group-title span{letter-spacing:0;text-transform:none;color:var(--rv-muted);font-size:12px;font-weight:900}
.myrev-cards-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(33,58,50,.12);background:rgba(255,255,255,.78);border-radius:20px;padding:11px 12px}
.myrev-cards-icon{width:42px;height:42px;border-radius:16px;background:rgba(33,58,50,.09);display:grid;place-items:center;color:var(--rv-green);font-size:22px;font-weight:950}
.myrev-cards-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.myrev-cards-copy strong{font-size:15px;color:var(--rv-green);line-height:1.15}.myrev-cards-copy small{font-size:12px;color:var(--rv-muted);font-weight:750;line-height:1.25}
.myrev-card-switch{position:relative;display:inline-flex;align-items:center;width:54px;height:30px;flex:0 0 auto}.myrev-card-switch input{position:absolute;opacity:0;width:1px;height:1px}.myrev-card-switch span{position:absolute;inset:0;border-radius:999px;background:rgba(24,37,34,.18);transition:background .18s ease}.myrev-card-switch span::after{content:"";position:absolute;width:24px;height:24px;left:3px;top:3px;border-radius:999px;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.18);transition:transform .18s ease}.myrev-card-switch input:checked+span{background:var(--rv-green)}.myrev-card-switch input:checked+span::after{transform:translateX(24px)}
.myrev-cards-loading,.myrev-cards-empty{border-radius:18px;background:rgba(33,58,50,.08);color:var(--rv-green);font-weight:900;padding:14px}
@media(min-width:900px){.myrev-cards-panel{align-items:center;justify-content:flex-end}.myrev-cards-card{margin-right:24px;border-radius:30px}}
@media(max-width:420px){.myrev-cards-card{padding:15px}.myrev-cards-row{grid-template-columns:38px minmax(0,1fr) auto;padding:10px}.myrev-cards-icon{width:38px;height:38px;border-radius:15px;font-size:20px}.myrev-card-switch{width:50px;height:28px}.myrev-card-switch span::after{width:22px;height:22px}.myrev-card-switch input:checked+span::after{transform:translateX(22px)}}


/* Booking test mode toggle */
.myrev-drawer button.myrev-booking-test-row{background:rgba(202,165,93,.12);border-color:rgba(202,165,93,.28)}
.myrev-drawer button.myrev-booking-test-row.is-on{background:linear-gradient(135deg,rgba(33,58,50,.95),rgba(47,87,75,.92));color:#fff;border-color:rgba(33,58,50,.3)}
.myrev-drawer button.myrev-booking-test-row span{border-radius:999px;padding:5px 9px;background:rgba(33,58,50,.10);font-size:12px;font-weight:950}
.myrev-drawer button.myrev-booking-test-row.is-on span{background:rgba(255,255,255,.18);color:#fff}

/* My Revitalise persistent escape route restore - keep the bottom control bar visible on all My Revitalise tool pages. */
@media (min-width:1024px){
  body.myrev-app-shell{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))!important;}
  .myrev-bottom-nav{display:grid!important;width:min(640px,calc(100% - 28px));bottom:calc(16px + env(safe-area-inset-bottom,0px));}
}
