/* PM24 V312 — regression polish for payment history, fully-paid state, duty logs and auth reset */

/* Keep the stay drawer fixed while payment history is reviewed. */
body.app-frontdesk #fd-stay-dialog{
  max-width:min(760px,100vw)!important;
  overflow-x:hidden!important;
  overscroll-behavior-x:none!important;
}
body.app-frontdesk #fd-stay-dialog .fd-payment-history{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
}
body.app-frontdesk #fd-stay-dialog .fd-payment-history .fd-v312-payment-table-wrap{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table{
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:560px!important;
}
body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td,
body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table th{
  white-space:nowrap;
}
body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table a{
  overflow-wrap:anywhere;
  word-break:break-word;
}

/* Fully-paid stays show one clear state instead of stale disabled fields. */
body.app-frontdesk .fd-v312-fully-paid{
  margin:0!important;
  min-height:76px;
  align-content:center;
  padding:15px 16px!important;
  border-radius:15px!important;
}
body.app-frontdesk .fd-v312-fully-paid b{font-size:16px}
body.app-frontdesk .fd-v312-fully-paid small{font-size:12px;line-height:1.45}

/* New-duty notes are always visually empty until staff types. */
body.app-staff-duty .staff-duty-start-form textarea::placeholder,
body.app-staff-duty .staff-duty-end-form textarea::placeholder{
  color:#8190a7!important;
  opacity:1!important;
  font-weight:500!important;
}
body.app-staff-duty .staff-duty-start-form textarea,
body.app-staff-duty .staff-duty-end-form textarea{
  min-height:92px!important;
  line-height:1.45!important;
}

/* Duty history must never widen the mobile page. */
body.app-staff-duty .staff-duty-history-wrap{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:760px){
  /* Payment history becomes compact cards; there is no sideways page movement. */
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table-wrap{
    overflow:visible!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border:0!important;
    background:transparent!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table thead{display:none!important}
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table tbody{
    display:grid!important;
    gap:9px!important;
    width:100%!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    border:1px solid #dfe8f4!important;
    border-radius:13px!important;
    background:#fff!important;
    box-shadow:0 5px 14px rgba(22,55,99,.05)!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td{
    display:grid!important;
    gap:3px!important;
    min-width:0!important;
    padding:9px 10px!important;
    border:0!important;
    border-bottom:1px solid #edf2f8!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    color:#17345f!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td:nth-child(odd){
    border-right:1px solid #edf2f8!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td:nth-last-child(-n+2){
    border-bottom:0!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td::before{
    content:attr(data-label);
    color:#71839d;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td[data-label="Receipt"]{
    grid-column:1/-1!important;
    border-right:0!important;
    border-top:1px solid #edf2f8!important;
  }

  /* Duty logs become one readable card per shift. */
  body.app-staff-duty .staff-duty-history-wrap{
    overflow:visible!important;
  }
  body.app-staff-duty .staff-duty-table{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border:0!important;
    background:transparent!important;
  }
  body.app-staff-duty .staff-duty-table thead{display:none!important}
  body.app-staff-duty .staff-duty-table tbody{
    display:grid!important;
    gap:12px!important;
    width:100%!important;
  }
  body.app-staff-duty .staff-duty-table tr{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    border:1px solid #dfe8f4!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(17,51,96,.06)!important;
  }
  body.app-staff-duty .staff-duty-table td{
    display:grid!important;
    align-content:start!important;
    gap:4px!important;
    min-width:0!important;
    padding:11px 12px!important;
    border:0!important;
    border-bottom:1px solid #edf2f8!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    color:#17345f!important;
  }
  body.app-staff-duty .staff-duty-table td:nth-child(odd){
    border-right:1px solid #edf2f8!important;
  }
  body.app-staff-duty .staff-duty-table td::before{
    content:attr(data-label);
    color:#71839d;
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  body.app-staff-duty .staff-duty-table td[data-label="Handover"],
  body.app-staff-duty .staff-duty-table td[data-label="Report"]{
    grid-column:1/-1!important;
    border-right:0!important;
  }
  body.app-staff-duty .staff-duty-table td[data-label="Report"]{
    border-bottom:0!important;
  }
  body.app-staff-duty .staff-duty-table td[data-label="Report"] .btn{
    width:100%!important;
    min-height:42px!important;
    justify-content:center!important;
  }
  body.app-staff-duty .staff-duty-table td small{display:block!important}
}

@media(max-width:390px){
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table tr,
  body.app-staff-duty .staff-duty-table tr{
    grid-template-columns:1fr!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td,
  body.app-staff-duty .staff-duty-table td{
    border-right:0!important;
  }
  body.app-frontdesk #fd-stay-dialog .fd-v312-payment-table td[data-label="Receipt"],
  body.app-staff-duty .staff-duty-table td[data-label="Handover"],
  body.app-staff-duty .staff-duty-table td[data-label="Report"]{
    grid-column:1!important;
  }
}
