/*
 * Réservation mobile — composant spécifique canonique.
 * Couvre uniquement la géométrie spécifique des lignes de réservation
 * et leur action Supprimer mobile.
 *
 * L'identité, les informations de carte, le paiement et la provenance utilisent
 * exactement les composants transversaux communs à Pointage :
 * presence-identity-mobile.css, payment-badge-mobile.css et presence-origin-mobile.css.
 * Aucune présentation de ces éléments ne doit être redéfinie ici.
 * Le bureau conserve ses règles historiques séparément.
 */

@media (max-width:1050px){
  .app.course-mode-future .future-reservation-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px;
    align-items:center;
  }

  .action.mobile-reservation-delete{
    grid-column:2;
    justify-self:end;
    align-self:center;
    width:54px;
    height:54px;
    min-width:54px;
    min-height:54px;
    margin-right:0;
    border-radius:50%;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#f7dddd;
    border:1px solid #e8bcbc;
    color:#a53d3d;
  }

  .action.mobile-reservation-delete svg{
    display:block;
    width:27px;
    height:27px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.5;
    stroke-linecap:round;
  }
}

@media (min-width:900px) and (max-width:1050px){
  .app.course-mode-future .future-reservation-row{
    grid-template-columns:minmax(0,1fr) 108px;
  }
}

@media (max-width:700px){
  .app.course-mode-future .future-reservation-row{
    grid-template-columns:minmax(0,1fr) 78px;
  }
}

@media (max-width:480px){
  .app.course-mode-future .future-reservation-row{
    grid-template-columns:minmax(0,1fr) 65px;
  }
}

@media (max-width:430px){
  .action.mobile-reservation-delete{
    width:50px;
    height:50px;
    min-width:50px;
    min-height:50px;
  }

  .action.mobile-reservation-delete svg{
    width:25px;
    height:25px;
  }
}

@media (max-width:400px){
  .app.course-mode-future .future-reservation-row{
    grid-template-columns:minmax(0,1fr) 60px;
  }
}

/* Réservation mobile — résumé et surbooking spécifiques. */
@media (max-width:1050px){
  .app.course-mode-future .course-summary-row{transition:padding-bottom .15s ease;padding-top:9px;padding-bottom:0;}
  .app.course-mode-future .course-summary-row .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;padding:4px 6px 8px;align-items:stretch;}
  .app.course-mode-future .course-summary-row .stats .absence-square{display:contents;}
  .app.course-mode-future .course-summary-row .stats .stat,
  .app.course-mode-future .course-summary-row .stats .absence-line{min-width:0;min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid var(--line);padding:3px 5px;box-sizing:border-box;}
  .app.course-mode-future .course-summary-row .stats .absence-line:last-child{border-right:0;}
  .app.course-mode-future .counter-value-row,
  .app.course-mode-future .absence-value{display:flex;align-items:center;justify-content:center;gap:4px;}
  .app.course-mode-future .course-summary-row .stats .stat strong,
  .app.course-mode-future .course-summary-row .stats .absence-value strong{font-size:36px;line-height:1;font-weight:850;}
  .app.course-mode-future .course-summary-row .pointage-person-icon,
  .app.course-mode-future .course-summary-row .absence-line.excused .absence-icon,
  .app.course-mode-future .course-summary-row .absence-line.paid .absence-icon{display:block;width:41px;height:41px;flex:0 0 41px;}
  .app.course-mode-future .course-summary-row .pointage-person-icon svg,
  .app.course-mode-future .course-summary-row .absence-icon svg{display:block;width:100%;height:100%;fill:none;stroke:#222;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;}
  .app.course-mode-future .course-summary-row .stats .stat > span:last-child,
  .app.course-mode-future .course-summary-row .stats .absence-label{margin-top:2px;font-size:14px;line-height:1.1;font-weight:700;}
  .app.course-mode-future #statToPoint{position:relative;cursor:pointer;}
  .app.course-mode-future .course-summary-row.overbooking-open{padding-bottom:132px;}
  .app.course-mode-future .overbooking-popover{position:absolute;z-index:50;left:50%;top:calc(100% + 10px);transform:translateX(-50%);width:220px;min-width:0;box-sizing:border-box;padding:12px 14px 13px;border:1px solid #d9d0c6;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16);text-align:center;}
  .app.course-mode-future .overbooking-popover::before{content:"";position:absolute;left:50%;top:-7px;width:12px;height:12px;transform:translateX(-50%) rotate(45deg);background:#fff;border-left:1px solid #d9d0c6;border-top:1px solid #d9d0c6;}
  .app.course-mode-future .overbooking-popover-title{position:relative;font-size:14px;line-height:1.15;font-weight:800;margin:0 0 5px;}
  .app.course-mode-future .overbooking-popover-value{position:relative;font-size:34px;font-weight:900;line-height:1;margin:0 0 10px;}
  .app.course-mode-future .overbooking-popover-actions{position:relative;display:flex;justify-content:center;gap:14px;}
  .app.course-mode-future .overbooking-popover-actions button{width:42px;height:42px;border-radius:12px;border:1px solid #d9d0c6;background:#fff;font-size:27px;font-weight:850;line-height:1;padding:0;}
  .app.course-mode-future .overbooking-popover-actions button:active{transform:scale(.96);}
  .app.course-mode-future .overbooking-popover-actions button:disabled{opacity:.3;}
  .app.course-mode-future .course.overbooking-open{overflow:visible;position:relative;z-index:3;}
  .app.course-mode-future .course.overbooking-open .course-summary-row{position:relative;z-index:4;}
  .app.course-mode-future .course.overbooking-open .overbooking-popover{z-index:100;}
  .bottom.future-actions .bottom-inner{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:700px){
  .app.course-mode-future .course-summary-row .stats{padding:3px 4px 6px;}
  .app.course-mode-future .course-summary-row .stats .stat,
  .app.course-mode-future .course-summary-row .stats .absence-line{min-height:68px;padding:2px 3px;}
  .app.course-mode-future .course-summary-row .stats .stat strong,
  .app.course-mode-future .course-summary-row .stats .absence-value strong{font-size:31px;}
  .app.course-mode-future .course-summary-row .pointage-person-icon,
  .app.course-mode-future .course-summary-row .absence-line.excused .absence-icon,
  .app.course-mode-future .course-summary-row .absence-line.paid .absence-icon{width:35px;height:35px;flex-basis:35px;}
  .app.course-mode-future .course-summary-row .stats .stat > span:last-child,
  .app.course-mode-future .course-summary-row .stats .absence-label{font-size:12px;}
}
@media (max-width:600px){
  .app.course-mode-future .course-summary-row.overbooking-open{padding-bottom:126px;}
  .app.course-mode-future .overbooking-popover{width:190px;padding:10px 12px 11px;}
  .app.course-mode-future .overbooking-popover-title{font-size:13px;}
  .app.course-mode-future .overbooking-popover-value{font-size:30px;}
  .app.course-mode-future .overbooking-popover-actions button{width:38px;height:38px;font-size:24px;}
}
