/* VOLENG V25.16 — Agenda & Reception visual parity with Operations.
 * Cosmetic only. No permissions, routing, API calls or data mutations.
 * Loaded AFTER legacy product themes, so rules are narrowly scoped to these apps.
 */

/* Identical to the Operations sidebar control: light raised button with a DARK icon.
 * Earlier core-shell.css applied pale foreground text to every sidebar button,
 * leaving the hamburger almost invisible on its white button background.
 */
body.vcore-enabled.vcore-root-header > :is(.shell,#appShell,#appView) > aside.vu258-sidebar > button.vu258-sidebar-toggle {
  appearance:none!important;
  display:grid!important;
  place-items:center!important;
  width:36px!important;min-width:36px!important;max-width:36px!important;
  height:36px!important;min-height:36px!important;
  padding:0!important;
  border:1px solid #c9d7e9!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#14345e!important;
  box-shadow:0 2px 7px rgba(5,24,55,.12)!important;
  opacity:1!important;
  cursor:pointer!important;
}
body.vcore-enabled.vcore-root-header > :is(.shell,#appShell,#appView) > aside.vu258-sidebar > button.vu258-sidebar-toggle svg{
  display:block!important;width:18px!important;height:18px!important;
  stroke:#14345e!important;stroke-width:2.25!important;
  fill:none!important;opacity:1!important;visibility:visible!important;
}
body.vcore-enabled.vcore-root-header > :is(.shell,#appShell,#appView) > aside.vu258-sidebar > button.vu258-sidebar-toggle:hover{
  background:#ebf3ff!important;border-color:#7da8e6!important;color:#0e4a96!important;
}
body.vcore-enabled.vcore-root-header > :is(.shell,#appShell,#appView) > aside.vu258-sidebar > button.vu258-sidebar-toggle:focus-visible{
  outline:2px solid #7bb1ff!important;outline-offset:3px!important;
}
body.vcore-enabled.vcore-root-header > :is(.shell,#appShell,#appView).vu258-compact > aside.vu258-sidebar > button.vu258-sidebar-toggle{
  margin-left:auto!important;margin-right:auto!important;
}

/* Uniform dark surface tokens — apply only when the native platform theme switch is dark. */
body.vcore-enabled.vcore-root-header.vc-dark-content{
  --vc16-bg:#101e32;
  --vc16-surface:#1c304b;
  --vc16-raised:#233a58;
  --vc16-stroke:#385270;
  --vc16-text:#eff5ff;
  --vc16-muted:#a8bdd8;
  --vc16-blue:#93bdff;
  color-scheme:dark;
}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView,.shell) :is(.mainShell,.main,.body,.content,.page){
  background:var(--vc16-bg)!important;color:var(--vc16-text)!important;
}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView,.shell) :is(
 .panel,.stat,.stats article,.care-person,.care-permissions,.care-permission,.care-intro,
 .calendar-day,.calendar-day.today,.calendar-day.week,.calendar-day.month,
 .cal-day-row,.cal-empty,.cal-integrate-note,.cal-detail-lines,.cal-detail-body,
 .v-cal-scroller,.v-timeline-head,.v-timeline-corner,.v-time-ruler,
 .reception-line,.appt-item,.quick-actions button,.info-soft,.url-box,
 .appointment-communication,.channel-choice,.appointmentCredentials,.calendarDay,
 .uploadItem,.uploadPreview,.liveBrandPreview,.previewMock,.mockRight,
 .suiteOption,.peopleIntro,.permissionLine,.ownerDeviceItem,.subForm,
 .coming,.modal,.tableWrap,.filterRow,.switchRow
 ){
  background:var(--vc16-surface)!important;
  background-color:var(--vc16-surface)!important;
  color:var(--vc16-text)!important;
  border-color:var(--vc16-stroke)!important;
  box-shadow:none!important;
}
/* Bright white timeline canvas was the largest visible dark-mode regression. */
body.vcore-enabled.vc-dark-content #view-calendar .v-cal-scroller{
  background:#152840!important;border-color:var(--vc16-stroke)!important;
  scrollbar-color:#547293 #152840!important;
}
body.vcore-enabled.vc-dark-content #view-calendar :is(.v-time-grid,.v-time-ruler){
  background:#172b44!important;color:var(--vc16-muted)!important;
}
body.vcore-enabled.vc-dark-content #view-calendar :is(.v-timeline-head,.v-timeline-corner){
  background:#213752!important;border-color:#3c5575!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-head.is-today{
  background:linear-gradient(160deg,#284b78,#1f3a60)!important;
  box-shadow:inset 0 3px 0 #6ea8ff!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-col{
  background:repeating-linear-gradient(to bottom,#3a506b 0,#3a506b 1px,transparent 1px,transparent 76px),repeating-linear-gradient(to bottom,transparent 0,transparent 37px,#263e5a 37px,#263e5a 38px,transparent 38px,transparent 76px),#172b44!important;
  border-color:#38506c!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-col.is-today{
  background:repeating-linear-gradient(to bottom,#425f82 0,#425f82 1px,transparent 1px,transparent 76px),repeating-linear-gradient(to bottom,transparent 0,transparent 37px,#2a4769 37px,#2a4769 38px,transparent 38px,transparent 76px),#1c3654!important;
}
body.vcore-enabled.vc-dark-content #view-calendar :is(.v-time-label,.v-timeline-head span,.v-timeline-corner){color:#abc3e4!important;}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-head strong{color:#f2f7ff!important;}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-head b{background:#284c7c!important;color:#d9eaff!important;}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-event{
  background:linear-gradient(145deg,#26456d,#1e3755)!important;
  border-color:#4976b2!important;border-left-color:#70aaff!important;
  color:#eff5ff!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-event.v-confirmed{
  background:linear-gradient(130deg,#184a46,#1b363e)!important;
  border-left-color:#32cba4!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-event.v-arrived{
  background:linear-gradient(130deg,#453663,#273253)!important;
  border-left-color:#b79cff!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-event.v-cancelled{
  background:#493145!important;border-left-color:#ee8399!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-timeline-event.v-completed{
  background:#2b3c51!important;border-left-color:#a9b7c9!important;
}
body.vcore-enabled.vc-dark-content #view-calendar .v-time-block{
  background:repeating-linear-gradient(-45deg,#273c55,#273c55 8px,#304663 8px,#304663 16px)!important;
  color:#cad8e9!important;border-left-color:#7c98b5!important;
}
body.vcore-enabled.vc-dark-content #view-calendar :is(.v-timeline-event strong,.v-timeline-event small,.v-timeline-event em,.v-timeline-event i){
  color:#e8f3ff!important;
}
/* Month/day agenda, search, forms and appointment drawer. */
body.vcore-enabled.vc-dark-content .shell :is(.calendar-day,.calendar-day.today,.calendar-day.month,.calendar-day.week,.cal-day-row,.cal-empty){
  background:var(--vc16-surface)!important;border-color:var(--vc16-stroke)!important;
}
body.vcore-enabled.vc-dark-content .shell :is(.cal-event,.cal-event.cal-event-confirmed,.cal-event.cal-event-completed,.cal-entry){
  background:#2a4565!important;color:#e9f3ff!important;border-color:#416995!important;
}
body.vcore-enabled.vc-dark-content .shell :is(.cal-customer,.cal-time,.cal-service,.cal-doctor,.cal-day-head,.cal-detail-date,.cal-detail-row strong,.care-permission-copy,.panel strong,.stat strong,.sectionHead h2,.page-heading h1,.cal-summary-label h2){color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content .shell :is(.stat span,.stat small,.cal-end,.cal-detail-row span,.cal-day-head,.cal-service,.cal-doctor,.cal-detail-note,.panel p,.page-heading p,.care-person small,.appt-main small,.empty){color:var(--vc16-muted)!important;}
body.vcore-enabled.vc-dark-content .shell :is(.cal-status,.cal-day-head b,.care-tags span,.care-state,.status.SCHEDULED){background:#305277!important;color:#eaf4ff!important;}
body.vcore-enabled.vc-dark-content .shell :is(.care-permission,.channel-choice,.form label,.panel>label,.communication-hint,.care-permissions legend){color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content .shell :is(input:not([type=checkbox]),select,textarea,.date-tools button,.filters button,.btn-row button,.tablewrap button,.cal-detail-actions>button:not(.primary),.segmented,.segmented button:not(.selected),.notification-actions button,.notification-actions a){
  background:#243b58!important;color:#eff5ff!important;border-color:#496585!important;
}
body.vcore-enabled.vc-dark-content .shell :is(input,textarea)::placeholder{color:#a8c0df!important;opacity:1!important;}
body.vcore-enabled.vc-dark-content .shell :is(.primary,.segmented button.selected){background:#1764e9!important;color:white!important;border-color:#1764e9!important;}
body.vcore-enabled.vc-dark-content .shell :is(.cal-more,.info-soft,.url-box,.communication-hint,.care-account-preview,.channel-choice:has(input:checked)){background:#254367!important;color:#e3efff!important;border-color:#4b6c92!important;}
body.vcore-enabled.vc-dark-content .shell :is(.cal-detail-lines,.dialog-top,.cal-detail-actions,.dialog-footer){border-color:var(--vc16-stroke)!important;}
body.vcore-enabled.vc-dark-content .shell :is(.dialog-footer button:not(.primary),.dialog-top button){background:#274261!important;color:#e9f3ff!important;}
body.vcore-enabled.vc-dark-content .shell :is(.tablewrap th,.tableWrap th,.tablewrap td,.tableWrap td,td,th){border-color:var(--vc16-stroke)!important;color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content .shell :is(tr:hover td,.cal-day-row .cal-event:hover){background:#284564!important;}
body.vcore-enabled.vc-dark-content #appointment-detail{background:#1a2f4b!important;color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content #appointment-detail :is(.cal-detail-body,.cal-detail-lines){background:#203754!important;color:var(--vc16-text)!important;border-color:var(--vc16-stroke)!important;}
body.vcore-enabled.vc-dark-content #appointment-detail :is(h2,.cal-detail-row strong){color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content #appointment-detail .cal-detail-actions{background:linear-gradient(to top,#203754 80%,transparent)!important;}

/* Reception has a number of white-on-white nested widgets beyond its outer panels. */
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) :is(
 .capIcon,.appointmentCalendar .calendarDay,.calendarEntry,.appointmentCredentials,
 .peopleReport th,.peopleReport td,.peopleReport table,.uploadHead,.uploadActions,
 .suiteCode,.previewMock,.mockLeft,.mockRight,.mockService,.mockHelp,
 .shiftWeekdays,.shiftWeekdays label,.qrLinkHelp,.item,.switchRow,
 .ownerPermissionLine,.moduleGrid,.dangerBox,.uploadGrid .uploadItem
 ){
  background:var(--vc16-raised)!important;color:var(--vc16-text)!important;border-color:var(--vc16-stroke)!important;
}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) :is(
 .sectionHead h2,.stat strong,.item strong,.panel h3,.capability b,.coming h2,
 .cal-day-head b,.calendarDay>b,.uploadHead strong,.sidebarCaption
 ){color:var(--vc16-text)!important;}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) :is(
 .stat small,.stat span,.item small,.muted,.sectionHead p,.panel p,.coming p,
 .capability small,.empty,.footNote,.peopleReport th
 ){color:var(--vc16-muted)!important;}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) :is(input:not([type=checkbox]),select,textarea,.outline,.secondary,.suiteActions button,.signageControls button){
  background:#263f5e!important;border-color:#496685!important;color:#f0f6ff!important;
}
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) :is(.primary,.heroBtn){
  background:#1764e9!important;color:white!important;border-color:#1764e9!important;
}
/* Do not darken generated QR images: scanners need high contrast. */
body.vcore-enabled.vc-dark-content :is(#appShell,#appView) .appointmentCredentials img{
  background:#fff!important;border:8px solid #fff!important;
}
@media(prefers-reduced-motion:reduce){
 body.vcore-enabled .vu258-sidebar-toggle{transition:none!important;}
}
/* Reception uses a native grid (242px), whereas shared Operations sidebar is
 * 228px. Keep the tracks in sync to avoid a white vertical gutter. */
@media(min-width:821px){
 body.vcore-enabled.vcore-root-header > #appShell.appShell{
  grid-template-columns:var(--vu258-sidebar) minmax(0,1fr)!important;
  column-gap:0!important;
 }
 body.vcore-enabled.vcore-root-header > #appShell.appShell.vu258-compact{
  grid-template-columns:66px minmax(0,1fr)!important;
 }
}
