/* Customer engagement status for quotes/invoices. */
.customer-open-status{
  display:block;
  width:max-content;
  max-width:100%;
  margin-top:5px;
  padding:5px 8px;
  border-radius:999px;
  font-size:10px!important;
  font-weight:850!important;
  line-height:1.2;
}
.customer-open-status.is-viewed{
  background:#E8F4EC;
  color:#356347!important;
}
.customer-open-status.is-unviewed{
  background:#F1EEE8;
  color:#716B62!important;
}


/* Public invoice confirmation */
.public-confirmation-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(25,25,25,.36);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.public-confirmation-card{
  width:min(420px,100%);
  display:grid;
  gap:12px;
  text-align:center;
  padding:28px;
  border:1px solid rgba(25,25,25,.10);
  border-radius:24px;
  background:#FAF8F3;
  box-shadow:0 24px 70px rgba(25,25,25,.20);
}
.public-confirmation-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  margin:0 auto 2px;
  border-radius:50%;
  background:#191919;
  color:#fff;
  font-size:28px;
  font-weight:900;
}
.public-confirmation-card h2{
  margin:2px 0 0;
  font-size:26px;
  letter-spacing:-.04em;
}
.public-confirmation-card p{
  margin:0;
  color:#625D56;
  line-height:1.5;
}
.public-confirmation-card>strong{
  padding:11px 13px;
  border-radius:12px;
  background:#F1EEE8;
  font-size:13px;
  line-height:1.4;
}
.public-confirmation-card .primary-btn{
  width:100%;
  min-height:46px;
  margin-top:4px;
}

/* Quote/invoice documents do not need the booking-mode switch. */
body:has(#publicInvoiceView:not([hidden])) #publicRequestSwitch,
body:has(#publicQuoteReview:not([hidden])) #publicRequestSwitch{
  display:none!important;
}


/* 2026-09-29 — invoice status stack: no Viewed/payment overlap on phone/tablet */
@media(max-width:1100px){
  [data-page="invoices"] #invoicesTable .invoice-status-field{
    display:grid!important;
    grid-template-columns:minmax(70px,86px) minmax(0,1fr)!important;
    grid-auto-flow:row!important;
    align-items:start!important;
    justify-content:stretch!important;
    column-gap:10px!important;
    row-gap:6px!important;
    min-width:0!important;
    width:100%!important;
    overflow:visible!important;
  }

  [data-page="invoices"] #invoicesTable .invoice-status-field::before{
    grid-column:1!important;
    grid-row:1 / span 6!important;
    align-self:start!important;
    width:auto!important;
    max-width:100%!important;
    margin:2px 0 0!important;
  }

  [data-page="invoices"] #invoicesTable .invoice-status-field>.status,
  [data-page="invoices"] #invoicesTable .invoice-status-field>.invoice-next-action,
  [data-page="invoices"] #invoicesTable .invoice-status-field>.customer-open-status,
  [data-page="invoices"] #invoicesTable .invoice-status-field>.payment-choice-note,
  [data-page="invoices"] #invoicesTable .invoice-status-field>.dispute-alert{
    grid-column:2!important;
    min-width:0!important;
    max-width:100%!important;
    justify-self:start!important;
    align-self:start!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }

  [data-page="invoices"] #invoicesTable .invoice-status-field>.customer-open-status{
    display:inline-flex!important;
    width:fit-content!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    border-radius:12px!important;
    line-height:1.3!important;
    padding:5px 8px!important;
    margin-top:0!important;
  }

  [data-page="invoices"] #invoicesTable .invoice-status-field>.payment-choice-note{
    display:block!important;
    width:100%!important;
    padding-top:1px!important;
    margin-top:0!important;
    line-height:1.35!important;
  }
}

@media(max-width:680px){
  [data-page="invoices"] #invoicesTable .invoice-status-field{
    grid-template-columns:66px minmax(0,1fr)!important;
    row-gap:5px!important;
  }
  [data-page="invoices"] #invoicesTable .invoice-status-field>.customer-open-status{
    font-size:9px!important;
  }
}
