/* Final mobile layout for the expanded booking card. Loaded last on purpose. */
@media (max-width: 760px) {
  .admin-hour-row--booking {
    border-radius: 5px !important;
    overflow: hidden !important;
    box-shadow: 0 5px 18px rgba(35, 43, 53, .06) !important;
  }

  .admin-hour-row--booking summary {
    min-height: 78px !important;
    padding: 14px 40px 14px 16px !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
  }

  .admin-hour-row--booking summary > span {
    color: #566174 !important;
    font-size: 12px !important;
    white-space: nowrap;
  }

  .admin-hour-row--booking summary b {
    color: #172235 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  .admin-hour-phone {
    display: block !important;
    color: #1d293a !important;
    font-weight: 500 !important;
  }

  .admin-hour-details {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    padding: 22px 16px 12px !important;
    background: #fff !important;
  }

  .admin-hour-details > div {
    min-width: 0;
    margin: 0 !important;
  }

  .admin-hour-details small {
    display: none !important;
  }

  /* Client and payment state form the first row of the expanded card. */
  .admin-hour-client-detail {
    order: 1;
    display: flex !important;
    flex: 1 1 100%;
    align-items: center;
    gap: 13px;
    min-height: 30px;
  }

  .admin-hour-client-detail strong {
    color: #172235 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
  }

  .admin-hour-status {
    order: 6 !important;
    display: flex !important;
    flex: 1 1 64%;
    margin: 10px 0 0 !important;
    padding: 10px 0 !important;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: center !important;
    border-top: 1px solid #e8e5df;
    border-bottom: 1px solid #e8e5df;
  }

  .admin-hour-status .booking-status {
    padding: 4px 7px !important;
    border-radius: 5px !important;
    font-size: 10px !important;
    white-space: nowrap;
  }

  .admin-hour-status .booking-status.is-paid::before {
    content: "\2713 ";
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    border: 1px solid #5c9f66;
    border-radius: 50%;
    color: #43894d;
    font-size: 11px;
    font-weight: 800;
    vertical-align: -2px;
  }

  .admin-hour-status form {
    width: 100%;
    margin-top: 10px;
  }

  .admin-hour-status form .timeline-paid-button {
    width: 100%;
    min-height: 42px;
  }

  /* Contacts: one quiet row with visual service markers. */
  .admin-hour-details > div:nth-child(3) {
    order: 3;
    display: flex !important;
    flex: 1 1 100%;
    flex-wrap: wrap;
    gap: 8px 13px;
    margin: 14px 0 18px !important;
    padding: 10px 0 !important;
    border-top: 1px solid #edf0f2;
    border-bottom: 1px solid #edf0f2;
  }

  .admin-hour-details > div:nth-child(3) a {
    display: inline-flex !important;
    align-items: center;
    height: 25px;
    padding-right: 3px;
    color: #1f2d40 !important;
    font-size: 12px;
    text-decoration: underline !important;
    text-decoration-color: #cdd5dd;
    text-underline-offset: 3px;
    border-bottom: 0 !important;
    white-space: nowrap;
  }

  .admin-hour-details > div:nth-child(3) a:active {
    color: #926038 !important;
    text-decoration-color: #926038;
  }

  .admin-hour-details > div:nth-child(3) a::before {
    display: inline-grid;
    place-items: center;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
  }

  .admin-hour-details > div:nth-child(3) a[href^="tel:"]::before {
    display: none;
  }

  .admin-hour-details > div:nth-child(3) a[href*="t.me"]::before {
    content: "";
    background-image: url("/icons/telegram.svg");
  }

  .admin-hour-details > div:nth-child(3) a[href*="instagram"]::before {
    content: "";
    background-image: url("/icons/instagram.svg");
  }

  /* Hall is a separate, recognizable line. */
  .admin-hour-details > div:nth-child(2) {
    order: 4;
    display: flex !important;
    flex: 1 1 100%;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px !important;
    color: #172235;
  }

  .admin-hour-details > div:nth-child(2)::before {
    content: "";
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border-radius: 5px;
    background: #f0f1f2;
    background-image: url("/icons/studio.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px;
    color: #243247;
    font-size: 17px;
  }

  .admin-hour-details > div:nth-child(2) strong {
    font-size: 17px !important;
  }

  /* The comment intentionally looks like a message bubble. */
  .admin-hour-details > div:nth-child(4) {
    order: 5;
    flex: 1 1 100%;
    padding: 16px 18px !important;
    border-radius: 5px;
    background: #f1f8f2;
    color: #243247;
    font-size: 13px;
    line-height: 1.5;
    position: relative;
  }

  .admin-hour-details > div:nth-child(5) {
    order: 7;
    display: flex !important;
    flex: 0 0 auto;
    justify-content: flex-end;
    align-items: center;
    margin-top: 10px !important;
    padding: 10px 0 !important;
    border-top: 1px solid #e8e5df;
    border-bottom: 1px solid #e8e5df;
  }

  .admin-hour-details > div:nth-child(5)::before {
    display: none;
  }

  .admin-hour-details > div:nth-child(5) strong {
    color: #172235 !important;
    font-size: 17px !important;
  }

  .admin-hour-details > .admin-hour-actions {
    order: 7;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    flex: 1 1 100%;
    gap: 12px !important;
    padding: 12px 0 0;
  }

  .admin-hour-actions form {
    margin: 0 !important;
    width: 100%;
  }

  .admin-hour-actions a,
  .admin-hour-actions button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 8px !important;
    border: 1px solid #aeb7c2 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #364152 !important;
    font-size: 12px !important;
    font-weight: 600;
    text-decoration: none !important;
  }

  .admin-hour-actions a::before {
    content: "\270E ";
    margin-right: 8px;
  }

  .admin-hour-actions button.danger {
    border-color: #e06a62 !important;
    color: #c94037 !important;
  }

  .admin-hour-actions button.danger::before {
    content: "\232B ";
    margin-right: 8px;
  }

  .admin-hour-comment-empty {
    display: none !important;
  }

  @media (max-width: 460px) {
    .admin-hour-status:has(form) {
      flex: 1 1 64%;
      max-width: 64%;
    }

    .admin-hour-client-detail:has(+ .admin-hour-status form) {
      flex: 1 1 100%;
    }
  }
}
