/* Shared Calendar / Jobs Calendar shell and contextual scheduling rails. */

.ironflow-calendar-page .calendar-shell.calendar-mode-month{
  grid-template-columns:minmax(0,1fr) 310px!important;
  gap:8px!important;
  align-items:stretch!important;
}

.ironflow-calendar-page .calendar-shell.calendar-mode-month>.calendar-board-panel,
.ironflow-calendar-page .calendar-shell.calendar-mode-month>.appointment-detail{
  margin-bottom:0!important;
}

.ironflow-calendar-page .calendar-shell .request-queue-panel,
.ironflow-production-calendar-page .production-calendar-rail>.request-queue-panel{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  min-height:0!important;
  max-height:calc(100vh - 184px)!important;
  overflow:hidden!important;
  background:#0B151F!important;
  border:1px solid #2A4054!important;
  box-shadow:none!important;
}

.premium-app .ironflow-calendar-page .request-queue-panel .request-queue-body{
  min-height:0!important;
  align-content:start!important;
  grid-auto-rows:max-content!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:#3B556B transparent!important;
}

.ironflow-calendar-page .request-queue-panel .request-actions{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

.premium-app .ironflow-calendar-page .job-schedule-queue-panel .request-actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}

.ironflow-calendar-page .request-queue-panel .request-card{
  align-self:start!important;
  height:auto!important;
}

.ironflow-production-calendar-page .production-calendar-layout{
  grid-template-columns:minmax(0,1fr) 310px!important;
  gap:8px!important;
}

.jobs-calendar-dedicated{
  min-width:0!important;
}

.premium-app:has(.jobs-calendar-dedicated) .topbar-page-title{
  width:max-content!important;
  max-width:100%!important;
  overflow:visible!important;
}

.premium-app:has(.jobs-calendar-dedicated) .topbar .app-back-btn{
  flex:0 0 auto!important;
}

.ironflow-production-calendar-page .production-calendar-rail{
  min-width:0!important;
}

.job-schedule-queue-card{
  border-left:4px solid #FF7A00!important;
}

.job-schedule-queue-card .request-card-avatar{
  color:#FF9A32!important;
  border-color:#FF7A00!important;
  background:#111A24!important;
}

.job-schedule-queue-card .request-card-head{
  align-items:flex-start!important;
}

.job-queue-status{
  color:#FF9A32!important;
  font-size:11px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

.job-schedule-queue-card .request-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px 8px!important;
}

.job-schedule-queue-card .request-meta span{
  color:#B9C7D5!important;
  font-size:11px!important;
}

.job-calendar-list-v7{
  display:grid;
  gap:7px;
  min-width:0;
  padding:2px;
}

.job-calendar-list-row-v7{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:stretch;
  overflow:hidden;
  border:1px solid #2A4054;
  border-left:4px solid #FF7A00;
  border-radius:7px;
  background:#0B151F;
}

.job-calendar-list-row-v7.status-scheduled{border-left-color:#16C66A;}
.job-calendar-list-row-v7.status-progress{border-left-color:#21A1FF;}
.job-calendar-list-row-v7.status-complete{border-left-color:#AEB6C2;}

.job-calendar-list-main-v7{
  display:grid;
  grid-template-columns:120px minmax(210px,1.3fr) minmax(170px,.8fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  padding:12px 14px;
  border:0;
  background:transparent;
  color:#F5F6F7;
  text-align:left;
}

.job-calendar-list-main-v7>span{
  display:grid;
  gap:4px;
  min-width:0;
}

.job-calendar-list-main-v7 strong,
.job-calendar-list-main-v7 small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-shadow:none;
}

.job-calendar-list-main-v7 strong{font-size:13px;color:#F5F6F7;}
.job-calendar-list-main-v7 small{font-size:11px;color:#AEB6C2;}
.job-calendar-list-date-v7 strong{color:#FF9A32;}

.job-calendar-list-edit-v7{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:72px;
  border:0;
  border-left:1px solid #2A4054;
  background:#0D1A26;
  color:#21A1FF;
  font-size:11px;
  font-weight:800;
}

.job-calendar-list-edit-v7 svg{width:16px;height:16px;}

@media(max-width:1150px){
  .ironflow-calendar-page .calendar-shell[class*="calendar-mode-"],
  .ironflow-production-calendar-page .production-calendar-layout{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .ironflow-calendar-page .calendar-shell>.calendar-board-panel,
  .ironflow-calendar-page .calendar-shell>.appointment-detail{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  .ironflow-calendar-page .calendar-shell>.appointment-detail{
    position:static!important;
  }
  .ironflow-calendar-page .calendar-shell .request-queue-panel,
  .ironflow-production-calendar-page .production-calendar-rail>.request-queue-panel{
    max-height:560px!important;
  }
}

@media(max-width:760px){
  .premium-app:has(.ironflow-calendar-page)>main>.content{
    padding-bottom:calc(118px + env(safe-area-inset-bottom, 0px))!important;
  }

  .ironflow-calendar-page:not(.ironflow-production-calendar-page)
    .calendar-shell>.request-queue-panel{
    position:static!important;
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .premium-app
    .ironflow-calendar-page:not(.ironflow-production-calendar-page)
    .calendar-shell
    .request-queue-body{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  .ironflow-production-calendar-page .production-calendar-rail>.request-queue-panel{
    max-height:none!important;
    overflow:visible!important;
  }

  .premium-app .ironflow-production-calendar-page
    .job-schedule-queue-panel
    .request-queue-body{
    overflow:visible!important;
  }

  .job-calendar-list-main-v7{
    grid-template-columns:92px minmax(0,1fr);
  }
  .job-calendar-list-main-v7>span:nth-child(3),
  .job-calendar-list-main-v7>span:nth-child(4){
    display:none;
  }
  .job-calendar-list-edit-v7{
    min-width:54px;
  }
  .job-calendar-list-edit-v7 span{display:none;}
}
