/* Agenda : réglage en trois blocs, puis calendrier hebdomadaire. */
#view-calendar .v91-agenda-head {
  margin-bottom: 14px;
  padding: 0;
}


#view-calendar .v91-agenda-head h1 {
  margin: 5px 0 8px;
}

#view-calendar .v91-agenda-head p {
  font-size: 17px;
}

#view-calendar .agenda-primary-grid,
#view-calendar .agenda-settings-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

#view-calendar .agenda-primary-grid > .panel,
#view-calendar .agenda-settings-grid > .panel {
  min-width: 0;
  margin: 0;
  padding: 18px;
}

#view-calendar .v91-section-head {
  flex-direction: row;
  margin-bottom: 12px;
  gap: 12px;
}

#view-calendar .v91-section-head > div {
  min-width: 0;
}

#view-calendar .v91-section-head h2,
#view-calendar .v91-reminder-settings h2 {
  margin: 3px 0 5px;
  font-size: 22px;
  line-height: 1.25;
}

#view-calendar .v91-section-head p,
#view-calendar .v91-reminder-settings p {
  margin: 0;
  font-size: 17px;
  line-height: 1.45;
}

#view-calendar .v91-section-head > .btn {
  flex-shrink: 0;
  padding: 10px 12px;
  font-size: 17px;
  min-height: 40px;
}

#view-calendar .v91-week-grid {
  gap: 5px;
  margin-bottom: 12px;
}

#view-calendar .v91-week-row {
  grid-template-columns: minmax(112px, 1fr) 108px 12px 108px;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 11px;
}

#view-calendar .v91-day-toggle {
  gap: 8px;
  min-height: 36px;
  font-size: 17px;
  cursor: pointer;
}

#view-calendar .v91-day-toggle input {
  flex-shrink: 0;
  margin: 0;
  accent-color: #7541a6;
}

#view-calendar .v91-week-row input[type="time"] {
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 6px;
  font-size: 17px;
  line-height: 1.3;
  color: var(--ink);
}

#view-calendar .v91-week-row > span {
  text-align: center;
  font-size: 17px;
}

#view-calendar .v91-week-row input:focus-visible,
#view-calendar .btn:focus-visible,
#view-calendar .filter:focus-visible {
  outline: 2px solid #7541a6;
  outline-offset: 2px;
}

#view-calendar #saveWeeklyAvailabilityBtn {
  min-height: 44px;
  padding: 11px 14px;
  font-size: 17px;
}

#view-calendar .v91-agenda-summary {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.8fr);
  gap: 8px;
  margin-bottom: 14px;
}

#view-calendar .v91-agenda-summary > div {
  min-width: 0;
  padding: 10px;
  border-radius: 12px;
  background: #fcf9fd;
}

#view-calendar .v91-agenda-summary > div:last-child {
  grid-column: auto;
}

#view-calendar .v91-agenda-summary strong {
  font-size: 24px;
  line-height: 1.2;
}

#view-calendar #agendaNextTime {
  font-size: 18px;
  line-height: 1.35;
}

#view-calendar #agendaNextTitle {
  overflow-wrap: anywhere;
}

#view-calendar .v91-reminder-list:empty {
  display: none;
}

#view-calendar .v91-reminder {
  padding: 10px;
}

#view-calendar .v91-agenda-filters {
  flex-wrap: wrap;
  overflow: visible;
  gap: 6px;
  padding: 0;
  margin-bottom: 12px;
}

#view-calendar .v91-agenda-filters .filter {
  min-height: 38px;
  padding: 8px 11px;
  font-size: 15px;
}

#view-calendar .v91-agenda-card {
  padding: 12px;
  gap: 10px;
}

#view-calendar .v91-agenda-card-main,
#view-calendar .v91-agenda-card .request-top > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

#view-calendar .v91-agenda-card .request-top {
  flex-wrap: wrap;
  gap: 8px;
}

#view-calendar .v91-agenda-card .activity-actions {
  flex-wrap: wrap;
}

#view-calendar .v91-block-form .two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

#view-calendar .v91-block-form .field {
  min-width: 0;
  margin: 6px 0 12px;
}

#view-calendar .v91-block-form input {
  min-width: 0;
  max-width: 100%;
  font-size: 17px;
}

#view-calendar .v91-reminder-settings .switch-row {
  margin-bottom: 0;
  line-height: 1.45;
}

#view-calendar .v91-reminder-settings .switch-row input {
  flex-shrink: 0;
}

#view-calendar .v98-agenda-smartbar {
  margin: 0;
}

@media (min-width: 980px) {
  #view-calendar .agenda-primary-grid,
  #view-calendar .agenda-settings-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  #view-calendar .agenda-primary-grid > .panel,
  #view-calendar .agenda-settings-grid > .panel {
    padding: 14px;
  }

  #view-calendar .v91-week-row {
    grid-template-columns: minmax(0, 1fr) 16px minmax(0, 1fr);
    padding: 8px 10px;
  }

  #view-calendar .v91-day-toggle {
    grid-column: 1 / -1;
    min-height: 28px;
  }

  #view-calendar .v91-week-row input[type="time"] {
    min-height: 44px;
    font-size: 18px;
  }

  #view-calendar .v91-agenda-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #view-calendar .v91-agenda-summary > div:last-child {
    grid-column: 1 / -1;
  }

  #view-calendar .v91-block-form .two-col {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  #view-calendar .v91-block-form input {
    font-size: 18px;
  }
}

/* Tous les ajustements ci-dessous sont limités à la page agenda. */
#view-calendar [hidden] { display:none !important; }
#view-calendar { scroll-margin-top:170px; }
#view-calendar .a72-workspace { display:grid; grid-template-columns:minmax(0,1fr); gap:14px; align-items:start; }
#view-calendar .a72-workspace .panel { min-width:0; padding:16px; margin:0; }
#view-calendar .a72-side-settings { display:grid; gap:14px; min-width:0; }
#view-calendar .a72-step { display:inline-grid; place-items:center; width:29px; height:29px; margin-right:5px; border-radius:50%; background:#eee5f8; color:#7541a6; font-size:18px; vertical-align:middle; }
#view-calendar .a72-benefits { grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; background:#ffffffd9; border:1px solid #e6ddec; border-radius:15px; padding:12px 0; margin:0 0 16px; }
#view-calendar .a72-benefits>div { border:0; border-radius:0; background:transparent; padding:0 15px; gap:12px; }
#view-calendar .a72-benefits>div+div { border-left:1px solid #e6ddec; }
#view-calendar .a72-benefits svg { width:26px; height:26px; flex-shrink:0; fill:none; stroke:#7541a6; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#view-calendar .a72-benefits small { font-size:15px; }
#view-calendar .a72-status { font-size:17px; color:#66526f; padding:10px 12px; background:#f2eaf7; border-radius:10px; }
#view-calendar .v91-section-head h2 { font-size:22px; }
#view-calendar .v91-section-head h3 { font-size:18px; margin:10px 0 4px; }
#view-calendar .v91-availability-panel .eyebrow,
#view-calendar .v91-missions-panel .eyebrow,
#view-calendar .v91-block-panel .eyebrow { display:none; }
#view-calendar .a72-workspace .v91-week-row { grid-template-columns:minmax(91px,1fr) minmax(0,90px) 10px minmax(0,90px); gap:4px; padding:4px 6px; }
#view-calendar .a72-workspace .v91-day-toggle { font-size:17px; gap:6px; }
#view-calendar .a72-workspace .v91-week-row input[type=time] { padding:4px; font-size:17px; }
#view-calendar .v91-agenda-summary { grid-template-columns:1fr 1fr; gap:7px; }
#view-calendar .v91-agenda-summary>div:last-child { grid-column:1/-1; }
#view-calendar .v91-agenda-summary>div { padding:9px; }
#view-calendar .v91-reminder-settings h2 { font-size:20px; }
#view-calendar .v91-reminder-settings>.eyebrow { display:none; }
#view-calendar .v91-reminder-settings .switch-row { padding:10px; gap:10px; font-size:17px; }
#view-calendar .v91-reminder-settings .switch-row small { font-size:15px; }
#view-calendar .v91-block-panel .field input { padding:10px; border-radius:10px; }
#view-calendar .v91-block-panel .btn { font-size:17px; }
#view-calendar .v91-no-blocks { font-size:15px; }
#view-calendar .v91-block-item { flex-wrap:wrap; }
#view-calendar .v91-block-item div { min-width:0; overflow-wrap:anywhere; }
#view-calendar .a72-saved { background:#edf7f0; border:1px solid #c7e6d1; border-radius:10px; color:#286047; font-size:17px; font-weight:750; padding:10px; margin:0 0 12px; }
#view-calendar .a72-saved-days { display:grid; gap:7px; margin-bottom:14px; font-size:17px; }
#view-calendar .a72-saved-days>div { display:flex; justify-content:space-between; gap:10px; }
#view-calendar .a72-saved-days span { white-space:nowrap; }
#view-calendar #agendaCancelEdit { display:block; margin:8px auto 0; font-size:17px; }
#view-calendar[data-agenda-mode=planning] .v91-availability-panel .v91-section-head p { display:none; }
#view-calendar[data-agenda-mode=planning] .a72-step { display:none; }
#view-calendar[data-agenda-mode=planning] .v91-agenda-summary { grid-template-columns:1fr 1fr 1.6fr; }
#view-calendar[data-agenda-mode=planning] .v91-agenda-summary>div:last-child { grid-column:auto; }
#view-calendar[data-agenda-mode=planning] #agendaMissionList { margin-top:14px; }
#view-calendar .a72-week-nav { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:14px 0 10px; font-size:17px; }
#view-calendar .a72-week-nav>div { display:flex; gap:5px; align-items:center; }
#view-calendar .a72-icon-btn,#view-calendar .a72-today-btn { border:1px solid #e3d9eb; color:#634280; background:#fff; border-radius:8px; height:34px; padding:4px 9px; font:inherit; }
#view-calendar .a72-icon-btn { font-size:24px; width:34px; }
#view-calendar .a72-legend { display:flex; gap:12px; align-items:center; flex-wrap:wrap; font-size:15px; margin:0 0 10px; }
#view-calendar .a72-legend>span { display:flex; gap:5px; align-items:center; }
#view-calendar .a72-legend>span::before { content:''; width:9px; height:9px; border-radius:3px; background:#b9dfc9; }
#view-calendar .a72-legend>.mission::before { background:#7541a6; }
#view-calendar .a72-legend>.blocked::before { background:#da8392; }
#view-calendar .a72-legend small { color:#786a80; margin-left:auto; }
#view-calendar .a72-week-scroll { max-height:410px; overflow:auto; border:1px solid #e6ddec; border-radius:12px; scrollbar-width:thin; overscroll-behavior:contain; }
#view-calendar .a72-week-grid { display:grid; grid-template-columns:44px repeat(7,minmax(88px,1fr)); min-width:680px; padding-bottom:10px; background:#fff; }
#view-calendar .a72-day-head,#view-calendar .a72-axis-head { position:sticky; top:0; z-index:5; background:#faf7fd; border-bottom:1px solid #e6ddec; padding:9px 2px; }
#view-calendar .a72-day-head { display:grid; gap:3px; text-align:center; font-size:15px; border-left:1px solid #e6ddec; }
#view-calendar .a72-day-head span { color:#776184; font-size:15px; }
#view-calendar .a72-day-head.is-today { background:#eee2fa; color:#683f8b; }
#view-calendar .a72-time-axis { position:relative; color:#786a80; font-size:15px; }
#view-calendar .a72-time-axis>span { position:absolute; right:6px; transform:translateY(-50%); }
#view-calendar .a72-time-axis>span:first-child { transform:none; }
#view-calendar .a72-day { position:relative; border-left:1px solid #eee7f1; background:repeating-linear-gradient(to bottom,transparent 0,transparent 37px,#eee7f1 37px,#eee7f1 38px); }
#view-calendar .a72-slot { position:absolute; border-radius:5px; text-align:left; overflow:hidden; }
#view-calendar .a72-slot.available { left:2px; right:2px; background:#e2f2e8; border:1px solid #c5e1cf; color:#356b4b; padding:3px; font-size:15px; }
#view-calendar button.a72-slot { z-index:2; border:1px solid #6e3c9f; background:#7541a6; color:#fff; padding:3px 4px; min-height:20px; font:inherit; font-size:15px; line-height:1.2; }
#view-calendar button.a72-slot.blocked { background:#f7e0e4; border-color:#dca2ad; color:#863b4b; }
#view-calendar button.a72-slot.completed { background:#e9e0f0; border-color:#c9b3dc; color:#614a73; }
#view-calendar .a72-slot strong { display:block; font-size:15px; overflow:hidden; text-overflow:ellipsis; }
#view-calendar .a72-slot small { display:block; margin-top:3px; font-size:15px; }
#view-calendar .a72-week-note { font-size:15px; color:#786a80; margin:9px 0 0; }
#view-calendar button:focus-visible,#view-calendar .a72-week-scroll:focus-visible { outline:2px solid #7541a6; outline-offset:3px; }

@media(min-width:1150px) {
  #app.ljo-shell>main:has(>#view-calendar.active) { padding-top:16px !important; }
  #view-calendar[data-agenda-mode=setup] .a72-workspace { grid-template-columns:minmax(330px,1.1fr) minmax(290px,1fr) minmax(290px,1fr); }
  #view-calendar[data-agenda-mode=planning] .a72-workspace { grid-template-columns:minmax(0,2.25fr) minmax(310px,1fr); grid-template-areas:'missions availability' 'missions settings'; }
  #view-calendar[data-agenda-mode=planning] .v91-missions-panel { grid-area:missions; }
  #view-calendar[data-agenda-mode=planning] .v91-availability-panel { grid-area:availability; }
  #view-calendar[data-agenda-mode=planning] .a72-side-settings { grid-area:settings; }
  #view-calendar .v91-agenda-head h1 { font-size:30px; }
  #view-calendar .a72-workspace .v91-block-form .two-col { grid-template-columns:minmax(0,1fr); gap:0; }
}
@media(min-width:900px) and (max-width:1149px) {
  #view-calendar[data-agenda-mode=setup] .a72-workspace { grid-template-columns:1fr 1fr; }
  #view-calendar .a72-side-settings { grid-column:1/-1; grid-template-columns:1fr 1fr; }
  #view-calendar[data-agenda-mode=planning] .v91-missions-panel { grid-row:1; }
}
@media(max-width:899px) {
  #view-calendar[data-agenda-mode=planning] .v91-missions-panel { grid-row:1; }
  #view-calendar .a72-benefits { grid-template-columns:1fr; gap:10px; }
  #view-calendar .a72-benefits>div+div { border-left:0; }
  #view-calendar .a72-week-scroll { max-height:410px; }
}
@media(max-width:600px) {
  #view-calendar .a72-workspace .v91-week-row { grid-template-columns:1fr 16px 1fr; padding:8px 10px; }
  #view-calendar .a72-workspace .v91-week-row input[type=time] { font-size:18px; min-height:44px; }
  #view-calendar .a72-workspace .v91-day-toggle { font-size:17px; grid-column:1/-1; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary { grid-template-columns:1fr 1fr; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary>div:last-child { grid-column:1/-1; }
}


/* Même agenda, espaces ajustés à la hauteur disponible sur ordinateur. */
#view-calendar .a73-mission-details>summary { cursor:pointer; color:#694b80; font-size:17px; font-weight:700; padding:5px 0; }
#view-calendar[data-agenda-mode=setup] .a73-mission-details>summary { display:none; }
#view-calendar .a73-mission-details[open]>#agendaMissionList { margin-top:8px; }
@media(min-width:1150px) {
  #app.ljo-shell>main:has(>#view-calendar.active) { padding-top:8px!important; padding-bottom:12px!important; }
  #view-calendar .v91-agenda-head { display:grid; grid-template-columns:max-content minmax(0,1fr); column-gap:22px; row-gap:3px; align-items:center; margin-bottom:8px; }
  #view-calendar .v91-agenda-head>.eyebrow { grid-column:1; }
  #view-calendar .v91-agenda-head h1 { grid-column:1; margin:0; }
  #view-calendar .v91-agenda-head p { grid-column:2; grid-row:1/3; }
  #view-calendar .a72-benefits { padding:7px 0; margin-bottom:10px; }
  #view-calendar .a72-benefits>div { padding:0 12px; gap:9px; }
  #view-calendar .a72-workspace { gap:10px; }
  #view-calendar .a72-workspace .panel { padding:10px 12px; }
  #view-calendar .v91-section-head { margin-bottom:7px; gap:8px; }
  #view-calendar .v91-section-head h2 { margin-top:0; margin-bottom:3px; }
  #view-calendar .v91-section-head>.btn { min-height:34px; padding:7px 10px; }
  #view-calendar .v91-week-grid { gap:2px; margin-bottom:7px; }
  #view-calendar .a72-workspace .v91-week-row { padding:1px 6px; }
  #view-calendar .a72-workspace .v91-day-toggle { min-height:var(--a73-day-control,30px); }
  #view-calendar .a72-workspace .v91-week-row input[type=time] { height:var(--a73-day-control,30px); min-height:var(--a73-day-control,30px); padding:2px 4px; }
  #view-calendar #saveWeeklyAvailabilityBtn { min-height:38px; padding:8px 10px; }
  #view-calendar #agendaCancelEdit { margin:4px auto 0; }
  #view-calendar .a72-side-settings { gap:8px; align-content:start; }
  #view-calendar .a72-workspace .v91-block-form .two-col { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  #view-calendar .v91-block-form .field { margin:3px 0 7px; }
  #view-calendar .v91-block-form .field label { margin-bottom:4px; }
  #view-calendar .v91-block-panel .field input { padding:7px 6px; min-height:34px; font-size:17px; }
  #view-calendar .v91-block-panel .btn { min-height:34px; padding:7px 10px; }
  #view-calendar .v91-block-form { margin-bottom:6px; }
  #view-calendar .v91-section-head h3 { margin:5px 0 3px; }
  #view-calendar .v91-reminder-settings h2 { margin:0 0 4px; }
  #view-calendar .v91-reminder-settings .switch-row { margin:6px 0 0; padding:7px 9px; }
  #view-calendar .v91-reminder-settings .switch-row small { line-height:1.3; }
  #view-calendar .v91-agenda-summary { margin-bottom:8px; }
  #view-calendar .v91-agenda-summary>div { padding:6px 8px; gap:2px; }
  #view-calendar .v91-agenda-filters { gap:4px; margin-bottom:8px; }
  #view-calendar .v91-agenda-filters .filter { min-height:32px; padding:6px 9px; }
  #view-calendar .a72-saved { padding:7px 9px; margin-bottom:8px; }
  #view-calendar .a72-saved-days { gap:4px; margin-bottom:8px; }
  #view-calendar #agendaEditAvailability { min-height:34px; padding:7px 10px; font-size:17px; }
  #view-calendar[data-agenda-mode=planning] .a72-workspace { grid-template-rows:auto minmax(0,1fr); max-height:var(--a73-workspace-height,none); }
  #view-calendar[data-agenda-mode=planning] .v91-availability-panel { max-height:none; overflow:visible; }
  #view-calendar[data-agenda-mode=planning] .a72-saved { padding:4px 8px; margin-bottom:4px; }
  #view-calendar[data-agenda-mode=planning] .a72-saved-days { max-height:max(40px,calc(var(--a73-summary-height,240px) - 135px)); overflow:auto; scrollbar-width:thin; }
  #view-calendar[data-agenda-mode=planning] .a72-side-settings { min-height:0; max-height:var(--a73-settings-height,none); overflow:auto; scrollbar-width:thin; padding-right:2px; }
  #view-calendar[data-agenda-mode=setup] .a72-side-settings { max-height:var(--a73-workspace-height,none); overflow:auto; scrollbar-width:thin; padding-right:2px; }
  #view-calendar[data-agenda-mode=planning] .v91-missions-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:6px 10px; }
  #view-calendar[data-agenda-mode=planning] .v91-missions-panel>.v91-section-head { grid-column:1; grid-row:1; align-items:center; margin:0; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary { grid-column:2; grid-row:1; margin:0; gap:4px; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary>div { padding:4px; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary>div:not(:last-child) { display:grid; grid-template-columns:1fr; align-content:center; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary>div:not(:last-child)>span { display:none; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-summary strong { font-size:20px; }
  #view-calendar[data-agenda-mode=planning] #agendaNextTime { font-size:17px; }
  #view-calendar[data-agenda-mode=planning] #agendaNextTitle { font-size:15px; }
  #view-calendar[data-agenda-mode=planning] #agendaReminderList { grid-column:1/-1; grid-row:2; margin:0; max-height:90px; overflow:auto; }
  #view-calendar[data-agenda-mode=planning] .v91-agenda-filters { grid-column:1; grid-row:3; margin:0; align-self:center; }
  #view-calendar[data-agenda-mode=planning] #agendaWeekView:not([hidden]) { display:contents; }
  #view-calendar[data-agenda-mode=planning] .a72-week-nav { grid-column:2; grid-row:3; margin:0; gap:5px; font-size:15px; }
  #view-calendar[data-agenda-mode=planning] .a72-week-nav>div { gap:3px; }
  #view-calendar[data-agenda-mode=planning] .a72-today-btn { padding-inline:6px; }
  #view-calendar[data-agenda-mode=planning] .a72-legend { grid-column:1/-1; grid-row:4; margin:0; }
  #view-calendar[data-agenda-mode=planning] .a72-week-scroll { grid-column:1/-1; grid-row:5; max-height:var(--a73-calendar-height,410px); }
  #view-calendar[data-agenda-mode=planning] .a72-day { background-size:100% var(--a73-hour-px,38px); background-image:linear-gradient(to bottom,transparent calc(100% - 1px),#eee7f1 calc(100% - 1px)); }
  #view-calendar[data-agenda-mode=planning] .a72-week-note { grid-column:1/-1; grid-row:6; margin:0; }
  #view-calendar[data-agenda-mode=planning] .a73-mission-details { grid-column:1/-1; grid-row:7; }
  #view-calendar[data-agenda-mode=planning] .a73-mission-details[open]>#agendaMissionList { max-height:180px; overflow:auto; scrollbar-width:thin; }
  #view-calendar[data-agenda-mode=planning] #agendaMissionList { margin-top:6px; }
}
