/*
 * Calendar queue density and equal control sizing.
 * Keeps the approved deep dashboard surface while giving the owner a much
 * tighter working list for callbacks and appointment requests.
 */

/* The Month / Week / Day / List controls read as one evenly sized set. */
.premium-app .ironflow-calendar-page .calendar-board-view-controls{
  display:grid!important;
  grid-template-columns:repeat(4,78px)!important;
  gap:4px!important;
  overflow:visible!important;
}

.premium-app .ironflow-calendar-page .calendar-board-view-controls .calendar-segment{
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 8px!important;
}

/* Weather Risk is an inline control, not an all-caps field label. */
.premium-app .ironflow-calendar-page .calendar-board-head-actions .calendar-weather-filter{
  display:grid!important;
  grid-template-columns:auto minmax(110px,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:184px!important;
  min-height:36px!important;
  height:36px!important;
  padding:0 8px!important;
  border:1px solid #2A4054!important;
  border-radius:6px!important;
  background:#0B151F!important;
  color:#D9E4EE!important;
  text-transform:none!important;
}

.premium-app .ironflow-calendar-page .calendar-weather-filter>span{
  color:#B8C7D5!important;
  font-size:11px!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap!important;
}

.premium-app .ironflow-calendar-page .calendar-weather-filter select{
  width:100%!important;
  min-width:0!important;
  height:30px!important;
  padding:0 24px 0 6px!important;
  border:0!important;
  border-left:1px solid #2A4054!important;
  border-radius:0!important;
  background:#0B151F!important;
  color:#F3F7FA!important;
  font-size:11px!important;
  font-weight:650!important;
  text-transform:none!important;
}

.premium-app .ironflow-calendar-page .calendar-board-head-actions :is(.calendar-nav-btn,.calendar-nav-today,.calendar-tool-btn){
  min-height:36px!important;
  height:36px!important;
}

.premium-app .ironflow-calendar-page .calendar-board-head-actions .calendar-filters{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(104px,1fr))!important;
  gap:5px!important;
}

.premium-app .ironflow-calendar-page .calendar-board-head-actions .calendar-tool-btn{
  width:100%!important;
  min-width:0!important;
}

/* Callback cards retain all four actions but take far less vertical space. */
.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-queue-body{
  gap:7px!important;
  padding:9px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-help{
  margin:0 0 1px!important;
  font-size:10.5px!important;
  line-height:1.32!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card{
  gap:5px!important;
  padding:7px!important;
  border-left-width:3px!important;
  border-radius:7px!important;
  background:#0B1722!important;
  box-shadow:none!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-person{
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:7px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-avatar{
  width:36px!important;
  height:36px!important;
  font-size:13px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-head{
  align-items:center!important;
  gap:5px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-head strong{
  font-size:12.5px!important;
  line-height:1.15!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card .dashboard-meta-badge{
  min-height:17px!important;
  padding:2px 5px!important;
  font-size:9px!important;
  line-height:1!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-meta{
  gap:3px 7px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-meta span{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#AEBFCD!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-actions{
  display:block!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%!important;
  margin:0!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action{
  min-height:30px!important;
  height:30px!important;
  padding:0 3px!important;
  border-radius:5px!important;
  font-size:9.5px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action svg{
  width:13px!important;
  height:13px!important;
}

/* Appointment requests use the same compact, dark queue language. */
.premium-app .calendar-requests-overlay{
  background:rgba(1,7,13,.82)!important;
}

.premium-app .calendar-requests-window{
  width:min(610px,calc(100vw - 32px))!important;
  max-height:min(720px,calc(100vh - 40px))!important;
  border-color:#2A4054!important;
  border-radius:9px!important;
  background:linear-gradient(180deg,#06131F,#020812)!important;
  box-shadow:0 28px 76px rgba(0,0,0,.58)!important;
}

.premium-app .calendar-requests-window>header{
  padding:14px 16px!important;
  border-color:#2A4054!important;
}

.premium-app .calendar-requests-window>header .eyebrow{
  color:#FF9A32!important;
  font-size:10px!important;
}

.premium-app .calendar-requests-window>header h2{
  font-size:18px!important;
  font-weight:720!important;
}

.premium-app .calendar-requests-window>header div>span{
  margin-top:3px!important;
  font-size:11px!important;
  color:#AEBFCD!important;
}

.premium-app .calendar-requests-window>header>button{
  width:34px!important;
  height:34px!important;
  flex-basis:34px!important;
  border-color:#2A4054!important;
  background:#0B1722!important;
}

.premium-app .calendar-requests-scroll{
  gap:7px!important;
  padding:10px!important;
  background:#040D17!important;
}

.premium-app .calendar-request-contact-card.calendar-queue-card{
  display:grid!important;
  gap:6px!important;
  padding:8px!important;
  border:1px solid #2A4054!important;
  border-left:3px solid #F58216!important;
  border-radius:7px!important;
  background:#0B1722!important;
  box-shadow:none!important;
}

.premium-app .calendar-request-contact-person{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
}

.premium-app .calendar-request-contact-avatar{
  display:grid!important;
  width:36px!important;
  height:36px!important;
  place-items:center!important;
  border:1px solid #F58216!important;
  border-radius:50%!important;
  background:#101F2D!important;
  color:#FF9A32!important;
  font-size:13px!important;
  font-weight:800!important;
}

.premium-app .calendar-request-contact-copy{min-width:0!important;}

.premium-app .calendar-request-contact-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:7px!important;
}

.premium-app .calendar-request-contact-head strong{
  min-width:0!important;
  overflow:hidden!important;
  color:#F4F7FA!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.premium-app .calendar-request-contact-head time{
  flex:0 0 auto!important;
  color:#FFB25B!important;
  font-size:9.5px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.premium-app .calendar-request-contact-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:3px 7px!important;
  margin-top:2px!important;
}

.premium-app .calendar-request-contact-meta span{
  color:#AEBFCD!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}

.premium-app .calendar-request-contact-summary{
  display:-webkit-box!important;
  margin:0!important;
  overflow:hidden!important;
  color:#C6D2DD!important;
  font-size:10.5px!important;
  line-height:1.3!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:1!important;
}

.premium-app .calendar-request-contact-actions,
.premium-app .calendar-request-contact-actions .calendar-request-actions{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
  width:100%!important;
  margin:0!important;
}

.premium-app .calendar-request-contact-actions .lead-icon-action{
  min-height:32px!important;
  height:32px!important;
  padding:0 4px!important;
  border-radius:5px!important;
  font-size:10px!important;
}

.premium-app .calendar-request-contact-actions .lead-icon-action svg{
  width:14px!important;
  height:14px!important;
}

@media(max-width:1240px){
  .premium-app .ironflow-calendar-page .calendar-board-head{flex-wrap:wrap!important;}
  .premium-app .ironflow-calendar-page .calendar-board-head-actions{
    width:100%!important;
    margin-left:0!important;
    justify-content:flex-start!important;
  }
}

@media(max-width:640px){
  .premium-app .ironflow-calendar-page .calendar-board-view-controls{
    grid-template-columns:repeat(4,72px)!important;
  }

  .premium-app .ironflow-calendar-page .calendar-board-head-actions .calendar-weather-filter{
    min-width:174px!important;
  }

  .premium-app .ironflow-calendar-page .calendar-board-head-actions .calendar-filters{
    grid-template-columns:repeat(2,minmax(94px,1fr))!important;
  }

  .premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-person{
    grid-template-columns:38px minmax(0,1fr)!important;
  }

  .premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .request-card-avatar{
    width:36px!important;
    height:36px!important;
  }

  .premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action{
    min-height:36px!important;
    height:36px!important;
  }

  .premium-app .calendar-requests-window{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }

  .premium-app .calendar-request-contact-actions,
  .premium-app .calendar-request-contact-actions .calendar-request-actions{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .premium-app .calendar-request-contact-actions .lead-icon-action{
    min-height:38px!important;
    height:38px!important;
  }
}

/* The Call Back Queue is a fast action rail: the icon, color, and hover title
   carry the meaning without repeating words below every control. */
.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions{
  grid-template-columns:repeat(4,38px)!important;
  justify-content:end!important;
  width:max-content!important;
  margin-left:auto!important;
  gap:7px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action{
  width:38px!important;
  min-height:38px!important;
  height:38px!important;
  padding:0!important;
  gap:0!important;
  border:0!important;
  background:transparent!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action svg{
  width:18px!important;
  height:18px!important;
  padding:8px!important;
  border-width:1px!important;
}

.premium-app .ironflow-calendar-page:not(.ironflow-production-calendar-page) .calendar-shell .request-queue-panel .calendar-request-actions .lead-icon-action > span{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}
