/* Your Quote Assistant™ — global workspace shell
   Primary navigation stays available on long pages without sacrificing screen height to the full scorecard dashboard. */

#appArea > nav.tabs{
  position:sticky;
  top:0;
  z-index:18;
  margin:0 0 12px;
  padding:10px 0;
  background:rgba(238,244,244,.96);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(203,213,225,.72);
  box-shadow:0 8px 18px rgba(11,29,58,.055);
}

#appArea > nav.tabs .tab{
  box-shadow:0 1px 2px rgba(11,29,58,.04);
}

#appArea > nav.tabs .tab.active{
  box-shadow:0 6px 14px rgba(21,101,219,.18);
}

#appArea > .panel{
  scroll-margin-top:78px;
}

/* Canonical opened-record spacing. The drawer owns its outer gutter, while the
   working Next Step card owns its own internal breathing room. */
#quoteDrawer{
  padding-left:24px!important;
  padding-right:24px!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
#quoteDrawer #drawerBody{
  min-width:0!important;
  max-width:100%!important;
}
#quoteDrawer #drawerBody .yqa-next-step-card{
  padding:16px 16px 15px!important;
}

@media(max-width:760px){
  #appArea > nav.tabs{
    top:0;
    margin-left:-10px;
    margin-right:-10px;
    padding:8px 10px;
    overflow-x:auto;
    flex-wrap:nowrap;
    scrollbar-width:none;
  }
  #appArea > nav.tabs::-webkit-scrollbar{display:none}
  #appArea > nav.tabs .tab{flex:0 0 auto;white-space:nowrap}
  #appArea > .panel{scroll-margin-top:70px}
  #quoteDrawer{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  #quoteDrawer #drawerBody .yqa-next-step-card{
    padding:14px 14px 13px!important;
  }
}

/* The public demo must always open with its logo, workspace identity, and scorecards
   above the menu. Keep the demo menu in normal document flow on every viewport;
   the signed-in product retains the sticky navigation behavior above. */
html.yqa-demo body #appArea > nav.tabs,
html.yqa-demo body #appArea > nav.tabs.yqa-demo-mobile-nav-fixed{
  position:relative!important;
  top:auto!important;
  right:auto!important;
  left:auto!important;
  width:auto!important;
  z-index:18!important;
  transform:none!important;
}

/* Canonical Today appointment presentation.
   This stylesheet is the visual owner. Use semantic classes only; do not style
   appointment columns by child position. */
#todayPanel #yqaTodayAppointments{
  margin:0 0 18px!important;
  padding:0!important;
  border:1px solid #9fc4eb!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(21,101,219,.13)!important;
  overflow:hidden!important;
}

#todayPanel .yqa-appointment-section-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:14px!important;
  min-height:68px!important;
  padding:15px 18px!important;
  background:linear-gradient(135deg,#1565db 0%,#0f55bd 100%)!important;
  border-bottom:0!important;
}

#todayPanel .yqa-appointment-head-main{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}

#todayPanel .yqa-appointment-head-icon{
  position:relative!important;
  display:block!important;
  width:38px!important;
  height:38px!important;
  flex:0 0 38px!important;
  border:2px solid rgba(255,255,255,.98)!important;
  border-radius:50%!important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.10)!important;
}

#todayPanel .yqa-appointment-head-icon::before{
  content:""!important;
  position:absolute!important;
  left:17px!important;
  top:8px!important;
  width:2px!important;
  height:11px!important;
  border-radius:2px!important;
  background:#fff!important;
}

#todayPanel .yqa-appointment-head-icon::after{
  content:""!important;
  position:absolute!important;
  left:17px!important;
  top:17px!important;
  width:10px!important;
  height:2px!important;
  border-radius:2px!important;
  background:#fff!important;
  transform:rotate(28deg)!important;
  transform-origin:left center!important;
}

#todayPanel .yqa-appointment-section-head .eyebrow{
  margin:0!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.12!important;
  font-weight:950!important;
  letter-spacing:.015em!important;
  text-transform:none!important;
}

/* Hide the retired subtitle if an older render ever injects it. */
#todayPanel .yqa-appointment-section-head h3{
  display:none!important;
}

#todayPanel .yqa-appointment-count{
  display:grid!important;
  place-items:center!important;
  min-width:40px!important;
  width:40px!important;
  height:40px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#1565db!important;
  font-size:18px!important;
  font-weight:950!important;
  box-shadow:0 5px 16px rgba(15,85,189,.22)!important;
}

#todayPanel #yqaTodayAppointmentList{
  padding:12px!important;
  background:#fff!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-card{
  display:grid!important;
  grid-template-columns:160px minmax(0,1fr) auto!important;
  align-items:stretch!important;
  gap:0!important;
  min-height:84px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #d2dde9!important;
  border-left:0!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 4px 14px rgba(12,44,79,.065)!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-time{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  padding:14px 16px!important;
  background:#0b4f9f!important;
  border-right:1px solid #0a468d!important;
  color:#fff!important;
  font-size:23px!important;
  font-weight:950!important;
  line-height:1!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
  white-space:nowrap!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-details{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
  padding:14px 20px!important;
  background:#fff!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-details h3{
  margin:0 0 5px!important;
  font-size:19px!important;
  line-height:1.15!important;
  color:#0b1d3a!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-details .meta{
  font-size:13px!important;
  line-height:1.4!important;
  color:#53677d!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-type{
  font-weight:900!important;
  color:#0b4f9f!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-card .quick-actions{
  grid-column:3!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px 16px 14px 8px!important;
  background:#fff!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-card .quick-actions .mini.action{
  min-width:76px!important;
  min-height:44px!important;
  background:#1565db!important;
  border-color:#1565db!important;
  color:#fff!important;
  font-weight:900!important;
  box-shadow:0 4px 12px rgba(21,101,219,.18)!important;
}

#todayPanel #yqaTodayAppointmentList .yqa-appointment-card .quick-actions .mini.action:hover{
  background:#0f55bd!important;
  border-color:#0f55bd!important;
}

@media(max-width:720px){
  #todayPanel .yqa-appointment-section-head{
    min-height:62px!important;
    padding:13px 14px!important;
  }
  #todayPanel .yqa-appointment-section-head .eyebrow{
    font-size:19px!important;
  }
  #todayPanel .yqa-appointment-head-icon{
    width:34px!important;
    height:34px!important;
    flex-basis:34px!important;
  }
  #todayPanel .yqa-appointment-head-icon::before{
    left:15px!important;
    top:7px!important;
    height:10px!important;
  }
  #todayPanel .yqa-appointment-head-icon::after{
    left:15px!important;
    top:15px!important;
    width:9px!important;
  }
  #todayPanel #yqaTodayAppointmentList{
    padding:10px!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-card{
    grid-template-columns:112px minmax(0,1fr)!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-time{
    grid-column:1!important;
    grid-row:1!important;
    font-size:20px!important;
    padding:12px 10px!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-details{
    grid-column:2!important;
    grid-row:1!important;
    padding:12px 14px!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-details h3{
    font-size:18px!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-card .quick-actions{
    grid-column:1/-1!important;
    grid-row:2!important;
    justify-content:flex-end!important;
    padding:0 12px 12px!important;
  }
  #todayPanel #yqaTodayAppointmentList .yqa-appointment-card .quick-actions .mini.action{
    min-width:96px!important;
  }
}
