:root{
  --navy:#062332;--teal:#1fb8bd;--teal2:#2bc7cb;--bg:#f4f8f8;--card:#fff;
  --line:#d7e3e5;--text:#17313b;--muted:#6b7e85;--danger:#a33a3a;
  --green:#16794a;--green-bg:#e7f7ee;--orange:#9a5a00;--orange-bg:#fff3df;
  --blue:#286b9f;--blue-bg:#e7f3ff
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit}
.dashboard-header{background:var(--navy);color:#fff;padding:calc(22px + env(safe-area-inset-top)) 18px 22px}
.dashboard-header>div{max-width:1280px;margin:auto}
.dashboard-header p{margin:0;color:#83e7e9;text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900}
.dashboard-header h1{margin:7px 0 5px;font-family:Georgia,serif;font-size:34px;line-height:1.05}
.dashboard-header span{color:#c9dade;font-size:14px}
.dashboard-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 14px;max-width:1280px;margin:auto}
.action{min-height:44px;border:0;border-radius:13px;padding:10px 12px;display:flex;justify-content:center;align-items:center;text-decoration:none;font-weight:900;text-align:center;line-height:1.2}
.action.small{min-height:38px;padding:8px 10px;font-size:13px}
.action.primary{background:linear-gradient(135deg,#0b969d,var(--teal2));color:#fff}
.action.neutral{background:#fff;color:var(--text);border:1px solid var(--line)}
.action.success{background:var(--green-bg);color:var(--green);border:1px solid #bfe5cf}
.action.warning{background:var(--orange-bg);color:var(--orange);border:1px solid #efd3a3}
.action.danger{background:#b33d3d;color:#fff}
.action.danger-soft{background:#fff0f0;color:var(--danger);border:1px solid #f0cdcd}
.action:disabled{opacity:.55;cursor:not-allowed}
.dashboard-shell{padding:0 14px 60px;max-width:1280px;margin:auto}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.metrics article{min-height:82px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 20px rgba(4,32,43,.05)}
.metrics span{color:var(--muted);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.03em}
.metrics strong{font-size:25px;line-height:1.05}
.toolbar{display:grid;grid-template-columns:1fr;gap:12px;margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}
.toolbar label,.field label,.form-label{font-weight:900;font-size:14px}
.toolbar input,.toolbar select,.field input,.field select,.field textarea,.form-control{
  width:100%;margin-top:7px;border:1px solid #c8d7da;border-radius:12px;padding:12px;background:#fff;color:var(--text)
}
textarea.form-control,.field textarea{min-height:110px;resize:vertical}
.booking-list{display:grid;gap:12px;margin-top:12px}
.booking-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:0 9px 22px rgba(4,32,43,.06)}
.booking-card-top{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.profile{width:66px;height:66px;border-radius:50%;object-fit:cover;border:3px solid #e6f3f4;background:#e9f1f2}
.booking-title h3{margin:7px 0 3px;font-size:21px}
.booking-title p,.booking-meta p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}
.booking-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:13px 0}
.mini-card{background:#f5f9f9;border-radius:12px;padding:10px;min-width:0}
.mini-card span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:4px}
.mini-card strong{font-size:16px;overflow-wrap:anywhere}
.mini-card.deposit strong{color:var(--green)}
.mini-card.balance strong{color:var(--orange)}
.card-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900;margin-right:5px}
.pending_review{background:#fff5dd;color:#9c6508}.approved{background:var(--blue-bg);color:var(--blue)}
.confirmed{background:var(--green-bg);color:var(--green)}.declined,.cancelled,.trash{background:#fff0f0;color:#a33a3a}
.state{margin-top:12px;padding:28px 16px;background:#fff;border:1px solid var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.state.error{color:var(--danger);background:#fff5f5}
.modal{position:fixed;inset:0;background:rgba(2,22,31,.68);z-index:100;display:flex;align-items:flex-end}
.modal[hidden]{display:none}
.modal-card{position:relative;width:100%;max-height:94vh;overflow:auto;background:#fff;border-radius:24px 24px 0 0;padding:27px 17px calc(28px + env(safe-area-inset-bottom))}
.modal-card h2{margin:0 42px 18px 0;font-family:Georgia,serif;font-size:27px}
.close{position:absolute;right:12px;top:7px;border:0;background:transparent;font-size:34px;color:var(--text)}
.detail-head{display:grid;grid-template-columns:auto 1fr;gap:13px;align-items:center;margin-bottom:15px}
.detail-head .profile{width:82px;height:82px}
.detail-head h2{margin:5px 0 3px}
.detail-head p{margin:0;color:var(--muted);line-height:1.5}
.section-card{border:1px solid var(--line);border-radius:16px;padding:14px;margin-top:12px;background:#fff}
.section-card h3{margin:0 0 12px;font-size:18px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.detail{padding:11px;background:#f4f8f8;border-radius:12px;overflow-wrap:anywhere}
.detail strong{display:block;font-size:11px;color:var(--muted);margin-bottom:4px;text-transform:uppercase}
.financial-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.financial-box{padding:12px;border-radius:13px;background:#f4f8f8}
.financial-box span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;margin-bottom:5px}
.financial-box strong{font-size:19px}
.financial-box.paid{background:var(--green-bg)}.financial-box.paid strong{color:var(--green)}
.financial-box.due{background:var(--orange-bg)}.financial-box.due strong{color:var(--orange)}
.addon-item,.history-item{border-top:1px solid var(--line);padding:12px 0}
.addon-item:first-child,.history-item:first-child{border-top:0;padding-top:0}
.addon-item:last-child,.history-item:last-child{padding-bottom:0}
.addon-item h4{margin:0 0 4px}.addon-item p,.history-item p{margin:3px 0;color:var(--muted);line-height:1.45;font-size:14px}
.addon-price{font-weight:900;color:var(--text)}.addon-price.free{color:var(--green)}
.notes{width:100%;min-height:105px;border:1px solid #cad9dc;border-radius:12px;padding:11px}
.manage-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.modal-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}
.form-grid{display:grid;grid-template-columns:1fr;gap:12px}
.field{display:block}
.help{font-size:12px;color:var(--muted);line-height:1.45;margin:5px 0 0}
.notice{padding:12px;border-radius:12px;background:#eef8f8;color:#245b61;line-height:1.5;margin-bottom:12px}
.notice.warning{background:var(--orange-bg);color:var(--orange)}
.addon-editor{border:1px solid var(--line);border-radius:14px;padding:12px;margin-top:10px;background:#f8fbfb}
.addon-editor-header{display:flex;justify-content:space-between;gap:10px;align-items:center}
.addon-editor-header strong{font-size:16px}
.inline-check{display:flex;gap:8px;align-items:center;font-weight:900;margin-top:10px}
.inline-check input{width:20px;height:20px}
.price-preview{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.price-preview div{background:#f4f8f8;padding:11px;border-radius:12px}
.price-preview span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.price-preview strong{font-size:18px}
.email-preview textarea{min-height:360px;font-family:Arial,Helvetica,sans-serif;line-height:1.5}
.toast{position:fixed;left:14px;right:14px;bottom:calc(18px + env(safe-area-inset-bottom));padding:15px;background:#062332;color:#fff;border-radius:15px;z-index:200;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.toast strong{display:block;color:#83e7e9;margin-bottom:4px}
.toast span{display:block}
.toast-actionable{cursor:pointer;padding-right:28px;border:2px solid rgba(131,231,233,.35);animation:toastArrival .22s ease-out}
.toast-actionable:active{transform:scale(.985)}
.toast-link{display:block;margin-top:9px;color:#fff;font-size:.9rem;letter-spacing:.02em}
@keyframes toastArrival{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(min-width:640px){
  .dashboard-actions{grid-template-columns:repeat(4,1fr)}
  .metrics{grid-template-columns:repeat(3,1fr)}
  .toolbar{grid-template-columns:1fr 240px}
  .booking-meta{grid-template-columns:repeat(4,1fr)}
  .card-actions{grid-template-columns:repeat(4,1fr)}
  .form-grid{grid-template-columns:1fr 1fr}.field.full{grid-column:1/-1}
  .manage-actions{grid-template-columns:repeat(3,1fr)}
  .modal-actions{grid-template-columns:1fr 1fr}
}
@media(min-width:920px){
  .metrics{grid-template-columns:repeat(6,1fr)}
  .booking-card{padding:18px}
  .modal{align-items:center;justify-content:center;padding:20px}
  .modal-card{max-width:760px;border-radius:22px;padding:28px}
  .modal-card.modal-large{max-width:980px}
  .detail-grid{grid-template-columns:repeat(4,1fr)}
  .financial-grid{grid-template-columns:repeat(4,1fr)}
  .manage-actions{grid-template-columns:repeat(4,1fr)}
}


/* Simplified owner dashboard */
.simple-metrics{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.simplified-booking-card{
  padding:20px;
}

.booking-card-simple-head,
.section-heading-row,
.simplified-detail-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}

.booking-card-simple-head h3{
  margin:8px 0 4px;
  font-size:1.25rem;
}

.booking-card-simple-head p{
  margin:0;
  color:var(--muted);
}

.booking-card-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:18px 0;
}

.booking-card-facts > div{
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafb;
}

.booking-card-facts span,
.booking-card-facts small{
  display:block;
  color:var(--muted);
}

.booking-card-facts strong{
  display:block;
  margin:4px 0;
}

.simplified-card-actions{
  justify-content:flex-start;
}

.risk-chip{
  display:inline-flex;
  padding:7px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:850;
  white-space:nowrap;
}

.risk-low{background:#e8f7ed;color:#24643e}
.risk-review{background:#fff4d9;color:#7b5710}
.risk-high{background:#fde7e7;color:#9b3030}

.next-step-card{
  border:2px solid #b9dbe4;
  background:linear-gradient(180deg,#effafd,#fff);
}

.next-step-card.complete{
  border-color:#b9ddc5;
  background:linear-gradient(180deg,#edf9f1,#fff);
}

.section-kicker{
  margin:0 0 5px;
  color:#197c98;
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.next-step-card h3{
  margin:0 0 7px;
  font-size:1.35rem;
}

.next-step-amount{
  margin:14px 0;
  padding:12px;
  border-radius:12px;
  background:#fff;
  border:1px solid #cce4ea;
}

.next-step-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.owner-large-action{
  min-width:230px;
  min-height:48px;
}

.detail-contact-buttons{
  display:flex;
  gap:8px;
}

.owner-priority-grid{
  margin-top:16px;
}

.owner-description-box{
  margin-top:14px;
  padding:15px;
  border-radius:14px;
  background:#f6f8f9;
  border:1px solid var(--line);
}

.owner-description-box p{
  margin:7px 0 0;
  white-space:pre-wrap;
}

.review-answers{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.review-answers span{
  padding:7px 9px;
  border-radius:999px;
  background:#eef3f5;
  font-size:.83rem;
}

.owner-financial-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.owner-two-column{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.owner-id-photo{
  display:block;
  width:100%;
  max-height:430px;
  object-fit:contain;
  border-radius:14px;
  background:#f4f7f8;
  border:1px solid var(--line);
}

.full-action{
  width:100%;
  margin-top:9px;
}

.simplified-manage-actions{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.more-options{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.more-options summary,
.owner-history summary{
  cursor:pointer;
  font-weight:850;
}

.more-options .manage-actions{
  margin-top:12px;
}

.owner-history .history-list{
  margin-top:14px;
}

.denial-reasons{
  display:grid;
  gap:8px;
  margin:16px 0;
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
}

.denial-reasons legend{
  padding:0 6px;
  font-weight:850;
}

.denial-reasons label{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  align-items:start;
  gap:9px;
  padding:8px;
  border-radius:9px;
  background:#f8fafb;
}

.denial-reasons input{
  width:19px;
  height:19px;
  margin:0;
}

.email-review-box{
  margin-top:16px;
  padding:15px;
  border:1px solid #cbdfe5;
  border-radius:14px;
  background:#f5fafb;
}

.email-review-box h3{
  margin-top:0;
}

@media(max-width:850px){
  .simple-metrics,
  .booking-card-facts,
  .owner-financial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .owner-two-column{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .simple-metrics,
  .booking-card-facts,
  .owner-financial-grid,
  .simplified-manage-actions{
    grid-template-columns:1fr;
  }

  .booking-card-simple-head,
  .section-heading-row,
  .simplified-detail-head{
    flex-direction:column;
  }

  .risk-chip{
    align-self:flex-start;
  }

  .detail-contact-buttons,
  .next-step-actions{
    width:100%;
  }

  .detail-contact-buttons .action,
  .next-step-actions .action{
    flex:1;
  }

  .owner-large-action{
    min-width:0;
  }
}

/* V13.10 — one-screen Owner booking control */
.owner-more-booking-details{
  width:min(calc(100% - 22px),780px);
  margin:0 auto 28px;
  border:1px solid #d3e1e5;
  border-radius:20px;
  background:#f7fafb;
  overflow:hidden;
}

/* V13.12 — quick booking editor */
.quick-edit-notice{margin-bottom:12px}
.quick-edit-fold,.quick-edit-section-fold{grid-column:1/-1;border:1px solid #d5e2e6;border-radius:15px;background:#f6f9fa;overflow:hidden}
.quick-edit-fold>summary,.quick-edit-section-fold>summary{min-height:50px;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;color:#31515c;font-weight:900}
.quick-edit-fold>summary::-webkit-details-marker,.quick-edit-section-fold>summary::-webkit-details-marker{display:none}
.quick-edit-fold>summary span,.quick-edit-section-fold>summary span{transition:transform .18s ease}
.quick-edit-fold[open]>summary span,.quick-edit-section-fold[open]>summary span{transform:rotate(180deg)}
.quick-edit-fold>.form-grid,.quick-edit-section-body{padding:0 12px 12px}
.quick-edit-section-fold{margin:12px 0}
.quick-edit-section-fold .form-grid{margin-top:0}
@media(max-width:560px){
  .quick-edit-fold>summary,.quick-edit-section-fold>summary{min-height:54px}
}
.owner-more-booking-details>summary{
  min-height:66px;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  list-style:none;
  color:#17313b;
}
.owner-more-booking-details>summary::-webkit-details-marker{display:none}
.owner-more-booking-details>summary>span{display:flex;flex-direction:column;gap:3px}
.owner-more-booking-details>summary small{color:#71858d;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.owner-more-booking-details>summary strong{font-size:1rem}
.owner-more-booking-details>summary>i{font-style:normal;font-size:1.3rem;transition:transform .18s ease}
.owner-more-booking-details[open]>summary>i{transform:rotate(180deg)}
.owner-more-booking-details-body{padding:0 8px 10px}
.owner-more-booking-details-body>.section-card{width:100%;margin:8px 0!important;box-shadow:none!important}
.owner-more-booking-details-body>.detail-accordion>summary{min-height:58px}
@media(max-width:560px){
  .owner-more-booking-details{width:calc(100% - 16px);border-radius:18px}
  .owner-more-booking-details-body{padding:0 5px 7px}
}


/* Easy-mode owner dashboard */
.simple-metrics article{
  cursor:pointer;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.simple-metrics article:hover,
.simple-metrics article:focus{
  transform:translateY(-2px);
  border-color:#91cbd2;
  box-shadow:0 12px 28px rgba(4,32,43,.1);
  outline:none;
}

.coming-soon-panel{
  margin-top:12px;
  padding:16px;
  border-radius:18px;
  border:1px solid #b8dce4;
  background:linear-gradient(135deg,#eefafd,#fff);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.coming-soon-panel[hidden]{display:none}
.coming-soon-panel span{
  display:block;
  color:#197c98;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.coming-soon-panel strong{
  display:block;
  margin:5px 0;
  font-size:1.05rem;
}
.coming-soon-panel p{
  margin:0;
  color:var(--muted);
}

.open-reservation-button{
  width:100%;
  min-height:48px;
  font-size:1rem;
}

.owner-action-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.owner-action{
  min-height:58px;
  justify-content:flex-start;
  gap:10px;
  padding:12px 14px;
  text-align:left;
}
.owner-action > span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:rgba(255,255,255,.24);
  font-size:1.05rem;
  flex:0 0 auto;
}
.edit-action{background:#e7f1ff;color:#19548b;border:1px solid #b9d5f3}
.payment-action{background:#dff5e8;color:#236440;border:1px solid #b6e0c7}
.reschedule-action{background:#f0e7fb;color:#64418b;border:1px solid #d8c2ee}
.contact-action{background:#dff6f6;color:#17666b;border:1px solid #b5e3e4}
.refund-action{background:#fff0d9;color:#80510e;border:1px solid #efd0a0}
.cancel-action{background:#fde6e6;color:#9a3434;border:1px solid #efbcbc}
.trash-action{background:#9d3030;color:#fff;border:1px solid #862525}

.action-help{
  margin-top:-4px;
  margin-bottom:12px;
}

.photo-id-details{
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.photo-id-details summary{
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px;
  background:#f6f9fa;
  list-style:none;
}
.photo-id-details summary::-webkit-details-marker{display:none}
.photo-id-details summary small{
  display:block;
  color:#197c98;
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.photo-id-details summary strong{
  display:block;
  margin-top:3px;
}
.summary-arrow{
  font-size:1.8rem;
  transition:transform .15s ease;
}
.photo-id-details[open] .summary-arrow{transform:rotate(90deg)}
.photo-id-content{padding:12px}

.payment-overview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.payment-overview div{
  padding:12px;
  border-radius:12px;
  background:#f4f8f8;
}
.payment-overview span{
  display:block;
  color:var(--muted);
  font-size:.7rem;
  font-weight:900;
  text-transform:uppercase;
}
.payment-overview strong{
  display:block;
  margin-top:4px;
  font-size:1.05rem;
}
.payment-choice-buttons{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:12px 0 16px;
}
.payment-choice{
  border:1px solid #c8dadd;
  border-radius:12px;
  padding:11px;
  background:#fff;
  color:var(--text);
  font-weight:800;
  cursor:pointer;
}
.payment-choice.selected{
  border-color:#25845a;
  background:#e6f7ed;
  color:#235f3d;
  box-shadow:0 0 0 2px rgba(37,132,90,.12);
}
.customer-contact-shortcuts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:12px;
}
.contact-call{background:#dff5e8;color:#236440;border:1px solid #b6e0c7}
.contact-text{background:#dff6f6;color:#17666b;border:1px solid #b5e3e4}

@media(max-width:640px){
  .coming-soon-panel{
    align-items:stretch;
    flex-direction:column;
  }
  .coming-soon-panel .action{width:100%}
  .owner-action-grid{
    grid-template-columns:1fr;
  }
  .payment-overview,
  .payment-choice-buttons{
    grid-template-columns:1fr;
  }
}


/* Automatic payment/refund totals and regular time */
.expanded-financial-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.financial-box.refunded{
  background:#fff3e3;
  border-color:#efd0a0;
}
.financial-box.refunded strong{
  color:#9a5b08;
}
.deposit-shortfall-notice{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #efc978;
  background:#fff6dd;
  color:#76500a;
}
.refund-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.refund-preview > div{
  padding:12px;
  border-radius:12px;
  border:1px solid #efd0a0;
  background:#fff8ed;
}
.refund-preview span{
  display:block;
  color:#7c6848;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
}
.refund-preview strong{
  display:block;
  margin-top:5px;
  color:#80510e;
  font-size:1.05rem;
}

@media(max-width:760px){
  .expanded-financial-grid,
  .refund-preview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:520px){
  .expanded-financial-grid,
  .refund-preview{
    grid-template-columns:1fr;
  }
}


.refund-history-notice{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  border:1px solid #efc68c;
  background:#fff6e8;
  color:#744d17;
  line-height:1.45;
}


.inline-edit-button{
  display:block;
  margin-top:7px;
  padding:5px 10px;
  border:1px solid #9fcbd3;
  border-radius:999px;
  background:#fff;
  color:#176b7a;
  font-weight:800;
  font-size:.78rem;
}
.next-step-actions .edit-action{
  background:#fff7df;
  color:#795500;
  border-color:#efd48b;
}


/* Mobile next-step action layout fix */
.next-step-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}

.next-step-actions .action{
  width:100%;
  min-width:0;
  min-height:58px;
  padding:12px 10px;
  font-size:.95rem;
  line-height:1.15;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  text-align:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.next-step-actions .owner-large-action{
  grid-column:1 / -1;
}

@media (max-width:560px){
  .next-step-actions{
    grid-template-columns:1fr;
  }

  .next-step-actions .owner-large-action{
    grid-column:auto;
  }

  .next-step-actions .action{
    min-height:52px;
    padding:11px 14px;
    font-size:.92rem;
  }
}

@media (min-width:561px) and (max-width:900px){
  .next-step-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


/* Keep modal close button visible while the form scrolls */
.modal{
  overflow:hidden;
}

.modal-card{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

.modal-card > .close{
  position:sticky;
  top:0;
  right:0;
  float:right;
  z-index:30;
  width:46px;
  height:46px;
  margin:-10px -4px 4px 10px;
  border:1px solid #d3dfe2;
  border-radius:50%;
  background:rgba(255,255,255,.96);
  box-shadow:0 3px 12px rgba(2,22,31,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  font-size:32px;
  color:var(--text);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.modal-card > .close:active{
  transform:scale(.96);
}

#actionModal .modal-card h2,
#detailsModal .modal-card h2{
  padding-top:2px;
}

body:has(.modal:not([hidden])){
  overflow:hidden;
}


/* Owner command center, weather, priorities, and calendar */
.owner-command-center{
  display:grid;
  grid-template-columns:minmax(230px,.75fr) minmax(0,1.6fr);
  gap:14px;
  margin-bottom:16px;
}
.clock-card,
.weather-card{
  border:1px solid var(--line);
  border-radius:22px;
  background:linear-gradient(145deg,#ffffff,#f4fbfc);
  box-shadow:var(--shadow);
  padding:18px;
}
.panel-label{
  display:block;
  color:var(--muted);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.clock-card strong{
  display:block;
  margin-top:8px;
  font-size:clamp(2rem,5vw,3.2rem);
  line-height:1;
  color:#0d4b58;
}
.clock-card p,
.weather-card p{
  margin:8px 0 0;
  color:var(--muted);
}
.weather-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.weather-heading strong{
  display:block;
  margin-top:7px;
  font-size:1.35rem;
  color:#123f4a;
}
.small-icon-button{
  width:40px;
  height:40px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  font-size:1.25rem;
  font-weight:900;
}
.weather-alert{
  margin-top:12px;
  border:1px solid #e8b9a9;
  border-radius:14px;
  background:#fff2ed;
  color:#7a2718;
  padding:11px 13px;
  font-weight:750;
}
.owner-priorities,
.calendar-panel,
.weekly-weather{
  margin-bottom:16px;
}
.section-heading-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.section-heading-row.compact{
  margin-bottom:10px;
}
.section-heading-row h2,
.section-heading-row h3{
  margin:4px 0 0;
}
.priority-list{
  display:grid;
  gap:9px;
}
.priority-item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  padding:11px 12px;
}
.priority-icon{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eaf8fa;
  font-weight:900;
}
.priority-item strong,
.priority-item span{
  display:block;
}
.priority-item span{
  color:var(--muted);
  margin-top:2px;
  font-size:.88rem;
}
.priority-empty{
  border:1px dashed var(--line);
  border-radius:15px;
  padding:18px;
  color:var(--muted);
  text-align:center;
}
.calendar-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:12px;
}
.calendar-toolbar h2{
  margin:4px 0 0;
}
.calendar-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
.calendar-actions .action{
  min-width:44px;
}
.calendar-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin:0 0 12px;
  color:var(--muted);
  font-size:.78rem;
  font-weight:750;
}
.calendar-legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.legend-dot{
  width:9px;
  height:9px;
  border-radius:50%;
}
.legend-dot.pending,.calendar-event.pending{background:#f1a43b}
.legend-dot.approved,.calendar-event.approved{background:#5b8def}
.legend-dot.balance,.calendar-event.balance{background:#8c62d8}
.legend-dot.paid,.calendar-event.paid{background:#2ba66a}
.legend-dot.closed,.calendar-event.closed{background:#9aa7ad}
.calendar-weekdays,
.booking-calendar{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}
.calendar-weekdays{
  border:1px solid var(--line);
  border-bottom:0;
  border-radius:14px 14px 0 0;
  overflow:hidden;
  background:#eef7f8;
}
.calendar-weekdays span{
  padding:9px 4px;
  text-align:center;
  color:#49666d;
  font-size:.76rem;
  font-weight:900;
}
.booking-calendar{
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.calendar-day{
  min-height:112px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  padding:7px;
  text-align:left;
  overflow:hidden;
  cursor:pointer;
}
.calendar-day.other-month{
  background:#f5f7f8;
  color:#9aa7ad;
}
.calendar-day.today{
  box-shadow:inset 0 0 0 2px #27a6b3;
}
.calendar-day.selected{
  background:#ebf9fb;
  box-shadow:inset 0 0 0 2px #0c7d8a;
}
.calendar-date-number{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:4px;
  font-size:.83rem;
  font-weight:900;
}
.calendar-weather-icon{
  font-size:.9rem;
}
.calendar-events{
  display:grid;
  gap:4px;
  margin-top:6px;
}
.calendar-event{
  width:100%;
  border:0;
  border-radius:7px;
  padding:4px 5px;
  color:#fff;
  font-size:.67rem;
  font-weight:800;
  text-align:left;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-more{
  color:var(--muted);
  font-size:.68rem;
  font-weight:800;
}
.calendar-selected-day{
  margin-top:16px;
  border-top:1px solid var(--line);
  padding-top:15px;
}
.selected-day-bookings{
  display:grid;
  gap:9px;
}
.selected-booking{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:11px 12px;
}
.selected-booking strong,
.selected-booking span{
  display:block;
}
.selected-booking span{
  margin-top:3px;
  color:var(--muted);
  font-size:.84rem;
}
.weekly-forecast{
  display:grid;
  grid-template-columns:repeat(7,minmax(110px,1fr));
  gap:9px;
  overflow-x:auto;
  padding-bottom:4px;
}
.forecast-day{
  min-width:110px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
  padding:11px;
}
.forecast-day.reservation-day{
  border-color:#33a7b3;
  box-shadow:inset 0 0 0 1px #33a7b3;
}
.forecast-day strong,
.forecast-day span{
  display:block;
}
.forecast-day .forecast-icon{
  font-size:1.55rem;
  margin:7px 0;
}
.forecast-day .forecast-temp{
  font-size:1.05rem;
  font-weight:900;
}
.forecast-day .forecast-summary{
  margin-top:5px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.25;
}
.forecast-day .forecast-rain{
  margin-top:7px;
  font-size:.75rem;
  font-weight:850;
  color:#286b8a;
}
.add-booking-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-bottom:13px;
}
.add-booking-tabs button{
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  padding:10px;
  font-weight:850;
}
.add-booking-tabs button.active{
  background:#e7f8fa;
  border-color:#55b9c2;
  color:#075f69;
}
.form-section-title{
  grid-column:1/-1;
  margin:8px 0 0;
  padding-top:10px;
  border-top:1px solid var(--line);
  color:#155966;
  font-size:.9rem;
}
.addon-entry-row{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1.3fr .7fr 1.6fr auto;
  gap:7px;
  align-items:end;
  border:1px solid var(--line);
  border-radius:13px;
  padding:9px;
}
.addon-entry-row .field{
  margin:0;
}
.remove-addon-button{
  height:43px;
  border:1px solid #e0b4b0;
  border-radius:10px;
  background:#fff2f0;
  color:#8a2921;
  font-weight:900;
}
@media(max-width:760px){
  .owner-command-center{
    grid-template-columns:1fr;
  }
  .calendar-toolbar,
  .section-heading-row{
    align-items:stretch;
    flex-direction:column;
  }
  .calendar-actions{
    justify-content:flex-start;
  }
  .calendar-weekdays span{
    font-size:.66rem;
  }
  .calendar-day{
    min-height:78px;
    padding:4px;
  }
  .calendar-event{
    font-size:0;
    width:9px;
    height:9px;
    padding:0;
    border-radius:50%;
    display:inline-block;
    margin-right:2px;
  }
  .calendar-events{
    display:block;
  }
  .calendar-more{
    display:block;
    font-size:.61rem;
  }
  .addon-entry-row{
    grid-template-columns:1fr;
  }
}


/* Compact collapsible dashboard */
.dashboard-accordion{
  margin:9px 0;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 16px rgba(4,32,43,.04);
  overflow:hidden;
}
.dashboard-accordion > summary,
.detail-accordion > summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.dashboard-accordion > summary::-webkit-details-marker,
.detail-accordion > summary::-webkit-details-marker{
  display:none;
}
.dashboard-accordion > summary{
  min-height:60px;
  padding:10px 13px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  background:linear-gradient(180deg,#fff,#f7fbfb);
}
.dashboard-accordion > summary small,
.detail-accordion > summary small{
  display:block;
  color:var(--muted);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.dashboard-accordion > summary strong,
.detail-accordion > summary strong{
  display:block;
  margin-top:2px;
  color:var(--text);
  font-size:1rem;
}
.accordion-summary-right,
.detail-summary-side{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.accordion-summary-right b{
  min-width:29px;
  padding:4px 8px;
  border-radius:999px;
  background:#e7f6f7;
  color:#176b75;
  text-align:center;
  font-size:.76rem;
}
.accordion-summary-right i,
.detail-summary-side i{
  display:inline-block;
  font-style:normal;
  transition:transform .2s ease;
}
.dashboard-accordion[open] > summary i,
.detail-accordion[open] > summary i{
  transform:rotate(180deg);
}
.dashboard-accordion-body{
  padding:11px;
  border-top:1px solid var(--line);
}
.accordion-help{
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}
.reservations-panel .simple-metrics{
  margin-top:0;
}
.dashboard-accordion .toolbar,
.dashboard-accordion .booking-list,
.dashboard-accordion .state{
  margin-top:9px;
}

/* Reservation modal accordions */
.detail-accordion{
  padding:0;
  overflow:hidden;
}
.detail-accordion > summary{
  min-height:55px;
  padding:9px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  background:linear-gradient(180deg,#fff,#f8fafb);
}
.detail-accordion-body{
  padding:11px;
  border-top:1px solid var(--line);
}
.detail-summary-side b{
  color:var(--muted);
  font-size:.76rem;
  white-space:nowrap;
}
.detail-accordion .owner-priority-grid{
  margin-top:0;
}
.detail-accordion.owner-history .history-list{
  padding-top:11px;
}
@media(max-width:600px){
  .dashboard-shell{padding-left:8px;padding-right:8px}
  .owner-command-center{gap:8px;margin-bottom:8px}
  .clock-card,.weather-card{padding:12px;border-radius:15px}
  .dashboard-accordion{margin:7px 0;border-radius:14px}
  .dashboard-accordion > summary{min-height:54px;padding:9px 11px}
  .dashboard-accordion-body{padding:9px}
  .simple-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .metrics article{min-height:66px;padding:9px}
  .toolbar{padding:9px}
  .simplified-booking-card{padding:11px}
  .booking-card-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0}
  .booking-card-facts > div{padding:8px}
  .detail-accordion > summary{min-height:52px;padding:9px 10px}
  .detail-accordion-body{padding:9px}
}


/* Manual booking money and dashboard revenue */
.money-metric strong{
  color:#174f5a;
}
.refund-metric strong{
  color:#9b3f35;
}
.net-metric{
  background:linear-gradient(145deg,#effbf4,#ffffff);
  border-color:#a7dabc !important;
}
.net-metric strong{
  color:#187044;
}
.manual-money-preview{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f7fbfb;
  padding:9px;
}
.manual-money-preview div{
  border-radius:11px;
  background:#fff;
  padding:9px;
}
.manual-money-preview span,
.manual-money-preview strong{
  display:block;
}
.manual-money-preview span{
  color:var(--muted);
  font-size:.75rem;
  font-weight:800;
}
.manual-money-preview strong{
  margin-top:4px;
  color:#174f5a;
}
.payment-summary-actions{
  margin-top:11px;
}
.payment-summary-actions .action{
  width:100%;
}
@media(max-width:520px){
  .manual-money-preview{
    grid-template-columns:1fr;
  }
}


/* Cypress AI Assistant */
.ai-assistant-panel > summary{
  background:linear-gradient(135deg,#f4fbff,#f6f2ff);
}
.ai-assistant-panel .accordion-summary-right b{
  background:#eee8ff;
  color:#5d3d96;
}
.ai-safety-note{
  border:1px solid #d9cfef;
  border-radius:14px;
  background:#f8f5ff;
  color:#4d3d68;
  padding:11px 12px;
  font-size:.84rem;
  line-height:1.45;
}
.ai-conversation{
  display:grid;
  gap:9px;
  max-height:360px;
  overflow-y:auto;
  margin-top:12px;
  padding:3px;
}
.ai-message{
  max-width:92%;
  border-radius:15px;
  padding:10px 12px;
}
.ai-message strong,
.ai-message p{
  display:block;
}
.ai-message p{
  margin:4px 0 0;
  white-space:pre-wrap;
  line-height:1.45;
}
.ai-message.assistant{
  justify-self:start;
  background:#eff9fa;
  border:1px solid #cce7ea;
}
.ai-message.user{
  justify-self:end;
  background:#f2edff;
  border:1px solid #dbd0f4;
}
.ai-quick-prompts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:12px;
}
.ai-quick-prompts button{
  border:1px solid #cfc4e8;
  border-radius:999px;
  background:#fff;
  color:#533d7a;
  padding:7px 10px;
  font-size:.76rem;
  font-weight:800;
}
.ai-question-field{
  margin-top:12px;
}
.ai-question-field textarea{
  min-height:105px;
}
.ai-actions{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:8px;
  margin-top:9px;
}
.ai-setup-help{
  margin-top:10px;
  border-radius:12px;
  background:#fff4db;
  padding:10px;
  color:#765300;
}
@media(max-width:560px){
  .ai-actions{
    grid-template-columns:1fr;
  }
  .ai-message{
    max-width:96%;
  }
}


.ai-model-note{
  margin-top:10px;
  color:#5a6f76;
  font-size:.76rem;
}


/* AI-confirmed booking creation */
.ai-booking-action{
  margin-top:12px;
  border:2px solid #b9ddd9;
  border-radius:18px;
  background:#f7fcfb;
  padding:14px;
}
.ai-action-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.ai-action-heading small,
.ai-action-heading strong{
  display:block;
}
.ai-action-heading small{
  color:#60777c;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ai-action-heading strong{
  margin-top:3px;
  font-size:1.05rem;
}
.ai-action-heading span{
  border-radius:999px;
  background:#fff0cf;
  color:#775400;
  padding:6px 9px;
  font-size:.7rem;
  font-weight:800;
}
.ai-booking-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.ai-booking-description{
  grid-column:1/-1;
}
.ai-booking-missing{
  margin-top:10px;
  border-radius:12px;
  background:#fff0ef;
  color:#8a3029;
  padding:10px;
  font-weight:750;
  font-size:.82rem;
}
@media(max-width:620px){
  .ai-booking-fields{
    grid-template-columns:1fr;
  }
  .ai-booking-description{
    grid-column:auto;
  }
  .ai-action-heading{
    display:grid;
  }
  .ai-action-heading span{
    justify-self:start;
  }
}


/* Larger, bolder Cypress Assistant conversation */
.ai-assistant-panel > summary{
  min-height:86px;
  padding:18px 20px;
}
.ai-assistant-panel > summary small{
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.09em;
}
.ai-assistant-panel > summary strong{
  font-size:1.42rem;
  font-weight:950;
  line-height:1.15;
}
.ai-assistant-panel .accordion-summary-right b{
  min-width:58px;
  min-height:58px;
  display:grid;
  place-items:center;
  font-size:1.2rem;
  font-weight:950;
  border-radius:50%;
}
.ai-assistant-panel .dashboard-accordion-body{
  padding:18px;
}
.ai-safety-note{
  font-size:1rem;
  font-weight:700;
  line-height:1.55;
  padding:16px;
}
.ai-conversation{
  gap:14px;
  max-height:520px;
  margin-top:16px;
  padding:5px;
}
.ai-message{
  max-width:96%;
  border-radius:20px;
  padding:16px 18px;
  box-shadow:0 5px 16px rgba(32,55,63,.08);
}
.ai-message strong{
  font-size:1.17rem;
  font-weight:950;
  line-height:1.2;
}
.ai-message p{
  margin-top:8px;
  font-size:1.14rem;
  font-weight:700;
  line-height:1.55;
}
.ai-message.assistant{
  border-width:2px;
}
.ai-message.user{
  border-width:2px;
}
.ai-quick-prompts{
  gap:9px;
  margin-top:16px;
}
.ai-quick-prompts button{
  min-height:46px;
  padding:10px 14px;
  font-size:.9rem;
  font-weight:900;
}
.ai-question-field{
  margin-top:16px;
  font-size:1rem;
  font-weight:900;
}
.ai-question-field textarea{
  min-height:140px;
  font-size:1.05rem;
  font-weight:650;
  line-height:1.5;
  padding:14px;
}
.ai-actions{
  gap:10px;
  margin-top:12px;
}
.ai-actions .action{
  min-height:58px;
  font-size:1rem;
  font-weight:950;
}
.ai-booking-action{
  padding:18px;
}
.ai-action-heading strong{
  font-size:1.2rem;
  font-weight:950;
}
.ai-booking-fields .field{
  font-size:.94rem;
  font-weight:900;
}
.ai-booking-fields input,
.ai-booking-fields textarea{
  font-size:1rem;
  font-weight:650;
}
.ai-booking-missing{
  font-size:.95rem;
  font-weight:900;
}
@media(max-width:560px){
  .ai-assistant-panel > summary{
    min-height:78px;
    padding:15px 16px;
  }
  .ai-assistant-panel > summary strong{
    font-size:1.28rem;
  }
  .ai-assistant-panel .accordion-summary-right b{
    min-width:52px;
    min-height:52px;
    font-size:1.08rem;
  }
  .ai-assistant-panel .dashboard-accordion-body{
    padding:14px;
  }
  .ai-message{
    max-width:100%;
    padding:14px 15px;
  }
  .ai-message strong{
    font-size:1.08rem;
  }
  .ai-message p{
    font-size:1.06rem;
  }
}


/* Booking source categories */
.source-badge{display:inline-flex;margin-top:7px;border-radius:999px;padding:6px 10px;font-size:.76rem;font-weight:900;background:#edf4f5;color:#24464d}
.source-swimply{background:#e8f7ff;color:#075985}
.source-peerspace{background:#f3edff;color:#60379a}
.source-giggster{background:#fff1e7;color:#93420d}
.source-google{background:#eef8ea;color:#286317}
.source-website{background:#e9f7f5;color:#12625d}
.external-platform-card{border-color:#c8dff0;background:#f5fbff}
.toolbar{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:760px){.toolbar{grid-template-columns:1fr}}


/* Edit booking source after creation */
.source-edit-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:7px;
  margin-left:7px;
  border:1px solid #b8cdd1;
  border-radius:999px;
  background:#fff;
  color:#24464d;
  padding:6px 10px;
  font-size:.76rem;
  font-weight:900;
}
.source-edit-button:active{
  transform:translateY(1px);
}


/* Reservation refresh recovery */
#errorState{
  display:grid;
  gap:8px;
  justify-items:center;
  text-align:center;
}
#errorState strong{
  font-size:1.05rem;
}
#errorState span{
  color:#6d4a47;
  font-size:.9rem;
}
#errorState .action{
  margin-top:4px;
  min-width:140px;
}


/* Easy Owner Dashboard layout */
.easy-reservations > summary{
  min-height:74px;
}
.easy-today-strip{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  border:1px solid #cfe3e5;
  border-radius:18px;
  background:#f4fbfb;
  padding:16px;
  margin-bottom:14px;
}
.easy-today-strip strong{
  display:block;
  margin-top:4px;
  font-size:1.16rem;
}
.easy-today-strip p{
  margin:4px 0 0;
  color:#61757b;
}
.easy-today-actions{
  display:flex;
  gap:8px;
}
.booking-view-tabs{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-bottom:12px;
}
.booking-view-tab{
  min-height:58px;
  border:1px solid #cbdcdf;
  border-radius:15px;
  background:#fff;
  color:#29444b;
  font-size:.94rem;
  font-weight:900;
}
.booking-view-tab span{
  display:inline-grid;
  place-items:center;
  min-width:26px;
  height:26px;
  margin-left:5px;
  border-radius:999px;
  background:#edf5f6;
  font-size:.78rem;
}
.booking-view-tab.active{
  background:#0f8790;
  color:#fff;
  border-color:#0f8790;
}
.booking-view-tab.active span{
  background:rgba(255,255,255,.22);
}
.easy-filter-panel,
.easy-financial-panel{
  border:1px solid #d7e3e5;
  border-radius:15px;
  background:#fff;
  margin-bottom:12px;
  overflow:hidden;
}
.easy-filter-panel > summary,
.easy-financial-panel > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
  padding:0 15px;
  cursor:pointer;
  font-weight:900;
}
.easy-filter-panel[open] > summary,
.easy-financial-panel[open] > summary{
  border-bottom:1px solid #e2eaec;
}
.easy-toolbar{
  grid-template-columns:1fr;
  padding:14px;
  margin:0;
  border:0;
}
.easy-financial-panel .simple-metrics{
  padding:14px;
  margin:0;
}
.compact-booking-list{
  display:grid;
  gap:9px;
}
.compact-booking-row{
  border:1px solid #d6e2e4;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}
.compact-booking-row.external{
  border-left:5px solid #80c7e8;
}
.compact-booking-row.direct{
  border-left:5px solid #34b5ad;
}
.compact-booking-open{
  width:100%;
  display:grid;
  grid-template-columns:72px 1fr auto;
  gap:13px;
  align-items:center;
  border:0;
  background:transparent;
  padding:13px;
  text-align:left;
  color:#17343c;
}
.compact-date-block{
  display:grid;
  place-items:center;
  min-height:58px;
  border-radius:12px;
  background:#f0f7f8;
}
.compact-date-block b{
  font-size:.94rem;
}
.compact-date-block small{
  color:#61767c;
  font-weight:800;
}
.compact-booking-main{
  min-width:0;
  display:grid;
  gap:4px;
}
.compact-booking-main > strong{
  font-size:1.08rem;
  line-height:1.2;
}
.compact-booking-main > span{
  color:#60747a;
  line-height:1.35;
}
.compact-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.compact-meta em{
  font-style:normal;
  font-size:.76rem;
  font-weight:800;
}
.compact-meta .source-badge{
  margin:0;
}
.compact-money{
  color:#9b4c21;
}
.compact-open-label{
  white-space:nowrap;
  font-weight:900;
  color:#087d86;
}
@media(max-width:620px){
  .easy-today-strip{
    grid-template-columns:1fr;
  }
  .easy-today-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .booking-view-tabs{
    gap:6px;
  }
  .booking-view-tab{
    min-height:52px;
    font-size:.84rem;
  }
  .compact-booking-open{
    grid-template-columns:62px 1fr;
  }
  .compact-open-label{
    grid-column:2;
    justify-self:start;
  }
}


/* Hide the reservation error area when it is empty */
#errorState:empty{
  display:none !important;
}
#errorState[hidden]{
  display:none !important;
}


/* Final easy-layout upgrade */
.booking-view-tabs.four-tabs{
  grid-template-columns:repeat(4,1fr);
}
.compact-booking-open{
  grid-template-columns:1fr auto;
  padding:15px 16px;
  cursor:pointer;
}
.compact-booking-main{
  gap:5px;
}
.compact-title-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.compact-title-line strong{
  font-size:1.15rem;
}
.relative-day-badge{
  border-radius:999px;
  background:#fff0c9;
  color:#755000;
  padding:4px 8px;
  font-size:.68rem;
  letter-spacing:.04em;
}
.compact-schedule{
  color:#526b72 !important;
  font-weight:800;
}
.compact-source-line{
  color:#3c656b !important;
  font-weight:800;
}
.compact-status-line{
  color:#8d4c24 !important;
  font-weight:900;
}
.conflict-warning{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border-radius:9px;
  background:#fff0ef;
  color:#a3312b !important;
  padding:6px 8px;
  font-size:.78rem;
  font-weight:950;
}
.compact-open-label{
  display:inline-grid;
  place-items:center;
  min-height:44px;
  border-radius:12px;
  background:#eef8f8;
  padding:0 13px;
  color:#087d86;
}
.platform-metric{
  border-color:#b9dff1 !important;
}
.platform-value-metric{
  border-color:#d7c8ef !important;
}
@media(max-width:700px){
  .booking-view-tabs.four-tabs{
    grid-template-columns:repeat(2,1fr);
  }
  .compact-booking-open{
    grid-template-columns:1fr;
  }
  .compact-open-label{
    justify-self:start;
  }
}


/* =========================================================
   CYPRESS RIVER OASIS — MOBILE OWNER APP
   ========================================================= */
:root{
  --app-navy:#062b47;
  --app-navy-deep:#031e34;
  --app-teal:#11a8aa;
  --app-teal-bright:#28c4c5;
  --app-page:#f5f8fa;
  --app-card:#ffffff;
  --app-text:#102f3b;
  --app-muted:#71858d;
  --app-line:#dce7ea;
}
body{
  background:var(--app-page);
  padding-bottom:96px;
}
.mobile-app-header,
.mobile-summary-grid,
.mobile-primary-actions,
.mobile-bottom-nav,
.floating-ai-button,
.mobile-more-sheet{
  display:none;
}
@media(max-width:820px){
  body{
    min-width:0;
    overflow-x:hidden;
    background:linear-gradient(180deg,var(--app-navy-deep) 0 250px,var(--app-page) 250px);
  }
  .dashboard-header,
  .dashboard-actions{
    display:none !important;
  }
  .mobile-app-header{
    display:block;
    color:#fff;
    padding:calc(18px + env(safe-area-inset-top)) 18px 16px;
  }
  .mobile-brand-row{
    display:grid;
    grid-template-columns:52px 1fr auto;
    gap:12px;
    align-items:center;
  }
  .mobile-brand-mark{
    width:52px;height:52px;border-radius:17px;
    display:grid;place-items:center;
    background:rgba(34,199,201,.14);
    font-size:28px;
  }
  .mobile-brand-row strong{
    display:block;
    font-family:Georgia,serif;
    font-size:1.35rem;
    letter-spacing:.02em;
  }
  .mobile-brand-row span{
    display:block;
    color:#54d7d7;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.72rem;
    margin-top:3px;
  }
  .mobile-header-actions{
    display:flex;gap:8px;
  }
  .mobile-header-actions button{
    width:42px;height:42px;border-radius:50%;
    border:1px solid rgba(255,255,255,.25);
    background:rgba(255,255,255,.08);
    color:#fff;font-weight:900;font-size:1rem;
  }
  .mobile-welcome-card{
    margin-top:16px;
    border-radius:22px;
    padding:18px;
    background:linear-gradient(135deg,#178d9d,#2dc0bd);
    display:flex;justify-content:space-between;align-items:flex-end;
    box-shadow:0 12px 28px rgba(1,31,51,.24);
  }
  .mobile-welcome-card small{
    display:block;
    font-weight:900;
    letter-spacing:.12em;
    opacity:.8;
  }
  .mobile-welcome-card strong{
    display:block;font-size:1.3rem;margin-top:5px;
  }
  .mobile-welcome-card span{
    display:block;margin-top:5px;color:#eaffff;
  }
  .mobile-system-status{
    white-space:nowrap;font-size:.78rem;font-weight:900;
    background:rgba(255,255,255,.16);
    border-radius:999px;padding:7px 10px;
  }
  .mobile-system-status i{
    display:inline-block;width:8px;height:8px;border-radius:50%;
    background:#4ef07c;margin-right:5px;
  }
  .mobile-summary-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:-2px 14px 12px;
  }
  .mobile-summary-card{
    min-height:132px;
    display:grid;
    grid-template-columns:44px 1fr;
    grid-template-rows:auto auto auto;
    column-gap:10px;
    border:1px solid var(--app-line);
    border-radius:19px;
    background:#fff;
    padding:14px;
    text-align:left;
    box-shadow:0 6px 18px rgba(16,47,59,.07);
    color:var(--app-text);
  }
  .mobile-summary-icon{
    grid-row:1/4;width:42px;height:42px;border-radius:14px;
    display:grid;place-items:center;font-weight:950;font-size:1.15rem;
  }
  .mobile-summary-card.review .mobile-summary-icon{background:#def6f3;color:#07867e}
  .mobile-summary-card.deposit .mobile-summary-icon{background:#fff0d8;color:#c47805}
  .mobile-summary-card.upcoming .mobile-summary-icon{background:#e5f1ff;color:#176bd8}
  .mobile-summary-card.balance .mobile-summary-icon{background:#e7f8e9;color:#16953d}
  .mobile-summary-card small{font-weight:900;align-self:end}
  .mobile-summary-card strong{font-size:1.65rem;line-height:1.1}
  .mobile-summary-card em{font-style:normal;color:#06979b;font-size:.75rem;font-weight:900}
  .mobile-primary-actions{
    display:block;
    margin:0 14px 14px;
  }
  .mobile-primary-button{
    width:100%;min-height:56px;border:0;border-radius:16px;
    background:linear-gradient(135deg,#078b98,#26c5c1);
    color:white;font-size:1.05rem;font-weight:950;
    box-shadow:0 8px 18px rgba(4,147,153,.22);
  }
  .dashboard-shell{
    width:auto;
    max-width:none;
    margin:0;
    padding:0 14px 30px;
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .owner-command-center{order:3;display:grid;grid-template-columns:1fr;gap:10px}
  .clock-card{display:none}
  .weather-card{border-radius:18px;padding:16px}
  .owner-priorities{order:1}
  .reservations-panel{order:2}
  .calendar-panel{order:4}
  .weekly-weather{order:5}
  .ai-assistant-panel{order:6}
  .dashboard-accordion{
    border-radius:19px;
    border:1px solid var(--app-line);
    background:#fff;
    box-shadow:0 5px 16px rgba(16,47,59,.055);
    overflow:hidden;
  }
  .dashboard-accordion > summary{
    min-height:70px;
    padding:14px 16px;
    background:#fff;
  }
  .dashboard-accordion > summary strong{
    font-size:1.1rem;
  }
  .dashboard-accordion-body{
    padding:14px;
  }
  .easy-today-strip{
    border-radius:17px;
    padding:15px;
    background:linear-gradient(135deg,#f0fbfb,#fff);
  }
  .booking-view-tabs.four-tabs{
    grid-template-columns:repeat(2,1fr);
  }
  .booking-view-tab{
    border-radius:14px;
  }
  .compact-booking-row{
    border-radius:17px;
    box-shadow:0 4px 13px rgba(16,47,59,.055);
  }
  .compact-booking-open{
    padding:15px;
  }
  .compact-open-label{
    width:100%;
    min-height:45px;
    background:linear-gradient(135deg,#078d97,#22bbb8);
    color:#fff;
  }
  .ai-assistant-panel{
    margin-bottom:20px;
  }
  .floating-ai-button{
    display:grid;
    position:fixed;
    right:18px;
    bottom:84px;
    width:60px;height:60px;
    place-items:center;
    border:0;border-radius:50%;
    color:#fff;
    background:linear-gradient(135deg,#0a8fa0,#25c5c0);
    box-shadow:0 10px 26px rgba(2,89,99,.34);
    z-index:80;
  }
  .floating-ai-button span{
    font-weight:950;font-size:1rem;
  }
  .mobile-bottom-nav{
    display:grid;
    position:fixed;
    left:0;right:0;bottom:0;
    grid-template-columns:repeat(5,1fr);
    padding:8px 8px calc(7px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.97);
    border-top:1px solid #dce7ea;
    box-shadow:0 -5px 18px rgba(16,47,59,.08);
    z-index:70;
  }
  .mobile-bottom-nav button{
    border:0;background:transparent;color:#657a82;
    min-height:54px;display:grid;place-items:center;
    gap:2px;font-size:.68rem;font-weight:850;
  }
  .mobile-bottom-nav button span{
    font-size:1.25rem;line-height:1;
  }
  .mobile-bottom-nav button.active{
    color:#07979b;
  }
  .mobile-more-sheet{
    display:grid;
    position:fixed;inset:0;
    background:rgba(2,24,39,.55);
    place-items:end center;
    z-index:100;
  }
  .mobile-more-sheet[hidden]{display:none}
  .mobile-more-card{
    width:100%;
    border-radius:24px 24px 0 0;
    background:#fff;
    padding:18px 18px calc(20px + env(safe-area-inset-bottom));
    box-shadow:0 -14px 35px rgba(0,0,0,.18);
  }
  .mobile-more-head{
    display:flex;justify-content:space-between;align-items:center;
    margin-bottom:12px;
  }
  .mobile-more-head strong{font-size:1.2rem}
  .mobile-more-head button{
    width:38px;height:38px;border:0;border-radius:50%;font-size:1.5rem;
  }
  .mobile-more-card > button,
  .mobile-more-card > a{
    width:100%;min-height:52px;margin-top:8px;
    border:1px solid var(--app-line);border-radius:14px;
    background:#fff;color:var(--app-text);
    display:flex;align-items:center;justify-content:center;
    text-decoration:none;font-weight:900;
  }
  .mobile-more-card .danger{color:#a33a3a;background:#fff3f3}
  .modal{
    align-items:flex-end;
  }
  .modal-card{
    width:100%;
    max-height:92vh;
    border-radius:24px 24px 0 0;
    margin:0;
  }
}


/* Mobile Owner App V2 — closer to approved mockup */
@media(max-width:820px){
  body{
    background:linear-gradient(180deg,#031f38 0 205px,#f7fafc 205px);
  }
  .mobile-app-header{
    padding-left:24px;
    padding-right:24px;
  }
  .mobile-brand-row{
    grid-template-columns:58px 1fr auto;
  }
  .mobile-brand-mark{
    width:58px;height:58px;
    background:transparent;
    font-size:35px;
  }
  .mobile-brand-row strong{
    color:#12b9c2;
    font-family:Arial,Helvetica,sans-serif;
    font-size:1.45rem;
    font-weight:950;
    text-transform:uppercase;
    line-height:1.05;
  }
  .mobile-brand-row span{
    color:#fff;
    font-size:.78rem;
  }
  .mobile-welcome-card{
    display:none;
  }
  .mobile-summary-grid{
    margin:18px 18px 12px;
    gap:12px;
  }
  .mobile-summary-card{
    min-height:142px;
    border-radius:20px;
    padding:15px;
  }
  .mobile-primary-actions{
    margin:0 18px 14px;
  }
  .dashboard-shell{
    padding-left:18px;
    padding-right:18px;
  }
  .owner-command-center{
    order:1;
  }
  .weather-card{
    min-height:118px;
    background:#fff;
  }
  .owner-priorities{
    display:none;
  }
  .reservations-panel{
    order:2;
  }
  .calendar-panel{
    order:3;
  }
  .weekly-weather{
    display:none;
  }
  .ai-assistant-panel{
    order:4;
  }
  .easy-today-strip{
    display:none;
  }
  .booking-view-tabs.four-tabs{
    display:flex;
    overflow-x:auto;
    grid-template-columns:none;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .booking-view-tab{
    flex:0 0 auto;
    min-width:112px;
    min-height:44px;
    border-radius:999px;
  }
  .compact-booking-list{
    gap:10px;
  }
  .compact-booking-row{
    border-left:0 !important;
    border-radius:18px;
  }
  .compact-booking-open{
    grid-template-columns:1fr auto;
    gap:10px;
    padding:16px;
  }
  .compact-booking-main > strong,
  .compact-title-line strong{
    font-size:1.1rem;
  }
  .compact-open-label{
    width:auto;
    min-width:80px;
    padding:0 13px;
    background:#fff;
    color:#078d97;
    border:1px solid #0da2aa;
  }
  .detail-head{
    padding-top:6px;
  }
  .detail-contact-buttons{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .detail-contact-buttons .action:first-child{
    grid-column:1/-1;
    min-height:58px;
    font-size:1.05rem;
  }
  .detail-grid{
    grid-template-columns:1fr 1fr;
  }
  .financial-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   MOBILE OWNER SHELL — TRUE REBUILD
   ========================================================= */
.cro-mobile-app{display:none}
@media(max-width:820px){
  body > .mobile-app-header,
  body > .mobile-summary-grid,
  body > .mobile-primary-actions,
  body > .dashboard-header,
  body > .dashboard-actions,
  body > .dashboard-shell,
  body > .mobile-bottom-nav,
  body > .floating-ai-button,
  body > .mobile-more-sheet{
    display:none !important;
  }
  body{
    margin:0;
    background:#f5f8fa !important;
    color:#14323d;
    padding:0 0 calc(82px + env(safe-area-inset-bottom));
    overflow-x:hidden;
  }
  .cro-mobile-app{
    display:block !important;
    min-height:100vh;
  }
  .cro-mobile-app[hidden]{display:none !important}
  .cro-mobile-top{
    background:#03213a;
    padding:calc(18px + env(safe-area-inset-top)) 18px 20px;
  }
  .cro-mobile-brand{
    display:grid;
    grid-template-columns:56px 1fr 46px;
    gap:12px;
    align-items:center;
  }
  .cro-mobile-logo{
    width:56px;height:56px;border-radius:18px;
    display:grid;place-items:center;
    background:rgba(25,186,194,.12);
    font-size:32px;
  }
  .cro-mobile-brand strong{
    display:block;color:#14bcc5;
    font-size:1.35rem;font-weight:950;
    text-transform:uppercase;line-height:1.05;
  }
  .cro-mobile-brand span{
    display:block;color:#fff;
    font-size:.75rem;font-weight:900;
    text-transform:uppercase;letter-spacing:.1em;margin-top:4px;
  }
  .cro-icon-button{
    position:relative;width:46px;height:46px;
    border:1px solid rgba(255,255,255,.22);border-radius:50%;
    background:rgba(255,255,255,.08);color:#fff;font-size:1.15rem;
  }
  .cro-icon-button b{
    position:absolute;right:-2px;top:-3px;
    min-width:21px;height:21px;border-radius:999px;
    display:grid;place-items:center;background:#ef4444;color:#fff;
    font-size:.68rem;
  }
  .cro-mobile-main{padding:14px 16px 24px}
  .cro-mobile-screen{display:none}
  .cro-mobile-screen.active{display:block}
  .cro-stat-grid{
    display:grid;grid-template-columns:1fr 1fr;gap:10px;
  }
  .cro-stat-card{
    min-height:135px;border:1px solid #dce7ea;border-radius:20px;
    background:#fff;padding:15px;text-align:left;
    box-shadow:0 7px 20px rgba(15,49,61,.07);
  }
  .cro-stat-card span,.cro-stat-card small{display:block}
  .cro-stat-card span{font-size:.82rem;font-weight:900}
  .cro-stat-card strong{display:block;margin:8px 0;font-size:1.65rem}
  .cro-stat-card small{font-size:.74rem;font-weight:850}
  .cro-stat-card.teal strong,.cro-stat-card.teal small{color:#078f98}
  .cro-stat-card.blue strong,.cro-stat-card.blue small{color:#2563eb}
  .cro-stat-card.green strong,.cro-stat-card.green small{color:#16803c}
  .cro-stat-card.purple strong,.cro-stat-card.purple small{color:#7c3aed}
  .cro-add-booking{
    width:100%;min-height:56px;margin:12px 0;
    border:0;border-radius:17px;
    background:linear-gradient(135deg,#078b98,#27c4bf);
    color:#fff;font-size:1.05rem;font-weight:950;
  }
  .cro-home-card{
    margin-top:12px;border:1px solid #dce7ea;border-radius:20px;
    background:#fff;padding:16px;
    box-shadow:0 6px 18px rgba(15,49,61,.06);
  }
  .cro-card-title{
    display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  }
  .cro-card-title span,.cro-card-title small{display:block;color:#71858c}
  .cro-card-title span{font-size:.72rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
  .cro-card-title strong{display:block;margin-top:5px;font-size:1.2rem}
  .cro-card-title small{margin-top:5px;line-height:1.4}
  .cro-round-button,.cro-link-button,.cro-round-add{
    border:1px solid #d6e4e7;background:#fff;color:#078e97;font-weight:950;
  }
  .cro-round-button,.cro-round-add{width:44px;height:44px;border-radius:14px}
  .cro-link-button{min-height:40px;padding:0 12px;border-radius:12px}
  .cro-primary-button,.cro-secondary-button{
    width:100%;min-height:49px;margin-top:14px;border-radius:14px;font-weight:950;
  }
  .cro-primary-button{border:0;background:linear-gradient(135deg,#078b98,#27c4bf);color:#fff}
  .cro-primary-button:disabled{opacity:.45}
  .cro-secondary-button{border:1px solid #cde0e3;background:#f8fcfc;color:#078b94}
  .cro-pill{
    border-radius:999px;background:#e6f8e9;color:#23833d;
    padding:7px 10px;font-size:.72rem;white-space:nowrap;
  }
  .cro-weather-warning{
    margin-top:12px;padding:11px;border-radius:12px;
    background:#fff0ef;color:#9d302c;font-weight:850;
  }
  .cro-weather-preview{
    display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;
  }
  .cro-weather-preview article{
    border-radius:13px;background:#f5fafb;padding:10px;text-align:center;
  }
  .cro-weather-preview strong,.cro-weather-preview span{display:block}
  .cro-weather-preview span{margin-top:4px;color:#71858c;font-size:.72rem}
  .cro-mini-calendar,.cro-full-calendar{
    display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:14px;
  }
  .cro-mini-calendar span,.cro-mini-calendar button,
  .cro-full-calendar span,.cro-full-calendar button{
    min-height:36px;border:0;background:transparent;
    display:grid;place-items:center;color:#35525a;font-weight:800;
  }
  .cro-mini-calendar .weekday,.cro-full-calendar .weekday{color:#8b9a9f;font-size:.68rem}
  .cro-mini-calendar button.today,.cro-full-calendar button.today{
    border-radius:50%;background:#0da2a8;color:#fff;
  }
  .cro-mini-calendar button.has-booking,.cro-full-calendar button.has-booking{position:relative}
  .cro-mini-calendar button.has-booking::after,.cro-full-calendar button.has-booking::after{
    content:"";position:absolute;bottom:2px;width:4px;height:4px;border-radius:50%;background:#0da2a8;
  }
  .cro-full-calendar button.selected{outline:2px solid #0da2a8;border-radius:50%}
  .cro-screen-heading{
    display:flex;justify-content:space-between;align-items:center;margin:4px 0 14px;
  }
  .cro-screen-heading span{display:block;color:#75888f;font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}
  .cro-screen-heading h1{margin:4px 0 0;font-family:Georgia,serif;font-size:2rem}
  .cro-search-box{
    min-height:52px;border:1px solid #d7e4e7;border-radius:15px;background:#fff;
    display:grid;grid-template-columns:36px 1fr;align-items:center;padding:0 12px;
  }
  .cro-search-box input{border:0;outline:0;background:transparent;font-size:1rem;width:100%}
  .cro-chip-row{display:flex;gap:8px;overflow-x:auto;padding:12px 0;scrollbar-width:none}
  .cro-chip-row button{
    flex:0 0 auto;min-height:39px;padding:0 14px;border:1px solid #d8e4e7;
    border-radius:999px;background:#fff;color:#425d65;font-weight:900;
  }
  .cro-chip-row button.active{background:#078f98;color:#fff;border-color:#078f98}
  .cro-booking-list,.cro-selected-bookings,.cro-alert-list,.cro-weather-days{display:grid;gap:10px}
  .cro-booking-card{
    border:1px solid #dce7ea;border-radius:18px;background:#fff;padding:14px;
    box-shadow:0 5px 15px rgba(15,49,61,.055);
  }
  .cro-booking-card-top{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center}
  .cro-date-badge{
    min-height:68px;border-radius:14px;background:#eaf8f8;
    display:grid;place-items:center;text-align:center;color:#078f98;font-weight:950;
  }
  .cro-date-badge span{display:block;font-size:.7rem}
  .cro-booking-card h3{margin:0;font-size:1.08rem}
  .cro-booking-card p{margin:4px 0;color:#687c83;line-height:1.35}
  .cro-source-line{font-size:.78rem;font-weight:900;color:#47666e}
  .cro-status-pill{border-radius:999px;padding:6px 9px;font-size:.7rem;font-weight:950;white-space:nowrap}
  .cro-status-pill.paid{background:#e7f8e9;color:#23823c}
  .cro-status-pill.due{background:#fff0d7;color:#9a5a00}
  .cro-status-pill.review{background:#fff0ef;color:#a1332c}
  .cro-open-booking{
    width:100%;min-height:45px;margin-top:12px;border:1px solid #0da2aa;border-radius:13px;background:#fff;color:#078d96;font-weight:950;
  }
  .cro-empty{text-align:center;padding:40px 15px;color:#75878d}
  .cro-calendar-controls{display:grid;grid-template-columns:44px 1fr 44px;gap:8px;align-items:center;text-align:center}
  .cro-calendar-controls button{width:44px;height:44px;border:1px solid #d7e4e7;border-radius:13px;background:#fff}
  .cro-payment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .cro-payment-grid article{border:1px solid #dce7ea;border-radius:17px;background:#fff;padding:15px}
  .cro-payment-grid span{display:block;color:#71858c;font-size:.74rem;font-weight:900}
  .cro-payment-grid strong{display:block;margin-top:7px;font-size:1.35rem}
  .cro-weather-day{
    border:1px solid #dce7ea;border-radius:18px;background:#fff;padding:15px;
  }
  .cro-weather-day-head{display:flex;justify-content:space-between;align-items:center}
  .cro-weather-day p{margin:8px 0 0;color:#687c83;line-height:1.4}
  .cro-alert-card{border:1px solid #dce7ea;border-radius:17px;background:#fff;padding:15px}
  .cro-alert-card.urgent{border-left:5px solid #ef4444}
  .cro-alert-card.warning{border-left:5px solid #f59e0b}
  .cro-alert-card.info{border-left:5px solid #0ea5e9}
  .cro-alert-card strong{display:block}
  .cro-alert-card p{margin:6px 0 0;color:#667b82}
  .cro-ai-button{
    position:fixed;right:17px;bottom:84px;width:58px;height:58px;border:0;border-radius:50%;
    background:linear-gradient(135deg,#078b98,#27c4bf);color:#fff;font-weight:950;
    box-shadow:0 10px 26px rgba(3,105,111,.3);z-index:90;
  }
  .cro-bottom-nav{
    position:fixed;left:0;right:0;bottom:0;z-index:80;
    display:grid;grid-template-columns:repeat(5,1fr);
    padding:8px 5px calc(7px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);border-top:1px solid #dce7ea;
    box-shadow:0 -5px 18px rgba(15,49,61,.08);
  }
  .cro-bottom-nav button{
    border:0;background:transparent;color:#667b82;min-height:54px;
    display:grid;place-items:center;gap:2px;font-size:.66rem;font-weight:900;
  }
  .cro-bottom-nav button span{font-size:1.25rem}
  .cro-bottom-nav button.active{color:#078f98}
}


/* More screen and AI repair */
@media(max-width:820px){
  .cro-more-list{
    display:grid;
    gap:10px;
  }
  .cro-more-list > button,
  .cro-more-list > a{
    width:100%;
    min-height:76px;
    display:grid;
    grid-template-columns:48px 1fr 24px;
    gap:12px;
    align-items:center;
    border:1px solid #dce7ea;
    border-radius:18px;
    background:#fff;
    padding:12px 14px;
    color:#14323d;
    text-align:left;
    text-decoration:none;
    box-shadow:0 5px 15px rgba(15,49,61,.055);
  }
  .cro-more-list > button > span,
  .cro-more-list > a > span{
    width:44px;height:44px;border-radius:14px;
    display:grid;place-items:center;
    background:#eef8f8;
    color:#078d96;
    font-weight:950;
    font-size:1.05rem;
  }
  .cro-more-list strong{
    display:block;
    font-size:1rem;
  }
  .cro-more-list small{
    display:block;
    margin-top:4px;
    color:#6c8087;
    line-height:1.35;
  }
  .cro-more-list > button > b,
  .cro-more-list > a > b{
    justify-self:end;
    color:#6d8087;
    font-size:1.3rem;
  }
  .cro-more-list .danger{
    color:#9f2f2f;
  }
  .cro-more-list .danger > span{
    background:#fff0ef;
    color:#a1342d;
  }

  .cro-ai-overlay{
    position:fixed;
    inset:0;
    z-index:150;
    background:rgba(1,22,36,.58);
    display:grid;
    place-items:end center;
  }
  .cro-ai-overlay[hidden]{
    display:none !important;
  }
  .cro-ai-sheet{
    width:100%;
    max-height:92vh;
    overflow:auto;
    border-radius:24px 24px 0 0;
    background:#fff;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom));
    box-shadow:0 -18px 45px rgba(0,0,0,.22);
  }
  .cro-ai-sheet-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:14px;
  }
  .cro-ai-sheet-head span{
    display:block;
    color:#7b8c92;
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.1em;
  }
  .cro-ai-sheet-head strong{
    display:block;
    margin-top:3px;
    font-size:1.25rem;
  }
  .cro-ai-sheet-head button{
    width:42px;height:42px;border:0;border-radius:50%;
    background:#eef4f5;color:#17343d;font-size:1.5rem;
  }
  .cro-ai-conversation{
    max-height:42vh;
    overflow:auto;
    display:grid;
    gap:10px;
    padding:4px 0 10px;
  }
  .cro-ai-conversation article{
    max-width:88%;
    border-radius:17px;
    padding:12px 14px;
  }
  .cro-ai-conversation article.assistant{
    justify-self:start;
    background:#eef9fa;
    border:1px solid #cce8eb;
  }
  .cro-ai-conversation article.user{
    justify-self:end;
    background:#f1eaff;
    border:1px solid #ddcff5;
  }
  .cro-ai-conversation strong{
    display:block;
    margin-bottom:5px;
  }
  .cro-ai-conversation p{
    margin:0;
    line-height:1.45;
  }
  .cro-ai-prompts{
    display:flex;
    gap:8px;
    overflow-x:auto;
    margin:8px 0 10px;
    scrollbar-width:none;
  }
  .cro-ai-prompts button{
    flex:0 0 auto;
    min-height:38px;
    padding:0 12px;
    border:1px solid #d8cff1;
    border-radius:999px;
    background:#fff;
    color:#684799;
    font-weight:850;
  }
  .cro-ai-input textarea{
    width:100%;
    min-height:110px;
    border:1px solid #d6e4e7;
    border-radius:15px;
    padding:12px;
    resize:vertical;
    font:inherit;
  }
}


/* =========================================================
   CLEAN MOBILE OWNER APP REVAMP
   Fixes malformed layout and isolates the new shell.
   ========================================================= */
@media(max-width:820px){
  .cro-mobile-app,
  .cro-mobile-app *{
    box-sizing:border-box !important;
  }

  .cro-mobile-app button,
  .cro-mobile-app input,
  .cro-mobile-app textarea,
  .cro-mobile-app select{
    font:inherit !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }

  .cro-mobile-main{
    padding:18px 16px 28px !important;
  }

  .cro-screen-heading{
    margin:2px 0 18px !important;
  }

  .cro-screen-heading h1{
    margin:4px 0 0 !important;
    font-size:2rem !important;
    line-height:1 !important;
    color:#14323d !important;
  }

  .cro-more-group{
    display:grid !important;
    gap:10px !important;
    margin-bottom:16px !important;
  }

  .cro-more-section{
    margin:0 0 14px;
    border:1px solid rgba(15, 79, 91, .16);
    border-radius:24px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 10px 24px rgba(13, 57, 68, .06);
  }
  .cro-more-section > summary{
    position:relative;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:18px 58px 18px 22px;
    cursor:pointer;
    list-style:none;
    color:#113743;
  }
  .cro-more-section > summary::-webkit-details-marker{display:none}
  .cro-more-section > summary span{font-size:18px;font-weight:800}
  .cro-more-section > summary small{font-size:14px;color:#71838a}
  .cro-more-section > summary::after{
    content:"+";
    position:absolute;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    font-size:28px;
    font-weight:400;
    color:#159daa;
  }
  .cro-more-section[open] > summary::after{content:"−"}
  .cro-more-section[open] > summary{border-bottom:1px solid rgba(15, 79, 91, .12)}
  .cro-more-section .cro-more-group{
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  body.cro-dark .cro-more-section{background:#0d2d37;border-color:rgba(133,220,227,.22)}
  body.cro-dark .cro-more-section > summary{color:#eefcfd}
  body.cro-dark .cro-more-section > summary small{color:#a8c0c5}

  .cro-more-item{
    width:100% !important;
    min-height:78px !important;
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) 22px !important;
    align-items:center !important;
    gap:12px !important;
    margin:0 !important;
    padding:13px 14px !important;
    border:1px solid #dce7ea !important;
    border-radius:18px !important;
    background:#ffffff !important;
    color:#14323d !important;
    text-align:left !important;
    text-decoration:none !important;
    box-shadow:0 6px 18px rgba(15,49,61,.06) !important;
  }

  .cro-more-item:active{
    transform:scale(.99);
    background:#f7fbfc !important;
  }

  .cro-more-icon{
    width:44px !important;
    height:44px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:14px !important;
    background:#edf8f8 !important;
    color:#078d96 !important;
    font-size:1.05rem !important;
    font-weight:950 !important;
  }

  .cro-more-ai{
    font-size:.9rem !important;
    letter-spacing:.02em !important;
  }

  .cro-more-copy{
    min-width:0 !important;
    display:block !important;
  }

  .cro-more-copy strong{
    display:block !important;
    margin:0 !important;
    color:#14323d !important;
    font-size:1rem !important;
    line-height:1.2 !important;
    font-weight:950 !important;
  }

  .cro-more-copy small{
    display:block !important;
    margin:5px 0 0 !important;
    color:#6e8289 !important;
    font-size:.78rem !important;
    line-height:1.35 !important;
    white-space:normal !important;
  }

  .cro-more-arrow{
    justify-self:end !important;
    color:#71858c !important;
    font-size:1.35rem !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .cro-more-danger .cro-more-icon{
    background:#fff0ef !important;
    color:#a2332d !important;
  }

  .cro-more-danger .cro-more-copy strong{
    color:#9f302b !important;
  }

  .cro-ai-button{
    display:none !important;
  }

  .cro-ai-overlay{
    display:grid !important;
    position:fixed !important;
    inset:0 !important;
    z-index:9999 !important;
    background:rgba(1,22,36,.62) !important;
    place-items:end center !important;
  }

  .cro-ai-overlay[hidden]{
    display:none !important;
  }

  .cro-ai-sheet{
    width:100% !important;
    max-height:92vh !important;
    overflow:auto !important;
    border-radius:24px 24px 0 0 !important;
    background:#fff !important;
    padding:18px 16px calc(18px + env(safe-area-inset-bottom)) !important;
  }

  .cro-ai-sheet-head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }

  .cro-ai-sheet-head button{
    width:42px !important;
    height:42px !important;
    border:0 !important;
    border-radius:50% !important;
    background:#eef4f5 !important;
    color:#14323d !important;
    font-size:1.5rem !important;
  }

  .cro-ai-conversation{
    display:grid !important;
    gap:10px !important;
    max-height:42vh !important;
    overflow:auto !important;
    margin-top:14px !important;
  }

  .cro-ai-prompts{
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    margin:12px 0 !important;
  }

  .cro-ai-input{
    display:block !important;
  }

  .cro-ai-input textarea{
    width:100% !important;
    min-height:110px !important;
    border:1px solid #d6e4e7 !important;
    border-radius:15px !important;
    background:#fff !important;
    padding:12px !important;
    color:#14323d !important;
  }

  #croAskAi{
    width:100% !important;
    min-height:52px !important;
    border:0 !important;
    border-radius:15px !important;
    background:linear-gradient(135deg,#078b98,#27c4bf) !important;
    color:#fff !important;
    font-weight:950 !important;
  }
}


/* Payment Center navigation */
@media(max-width:820px){
  .cro-payment-center-link .cro-more-icon{
    background:#e8f3ff !important;
    color:#1766b1 !important;
  }
}
.payment-center-shortcut{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  border-radius:12px;
  background:#eaf8f8;
  color:#087f87;
  font-weight:900;
  text-decoration:none;
}


@media(max-width:820px){
  .cro-booking-page-link .cro-more-icon{
    background:#e8f8f8 !important;
    color:#087f87 !important;
  }
  .cro-business-website-link .cro-more-icon{
    background:#eef2ff !important;
    color:#3855a6 !important;
  }
}


/* Booking-level customer payment links */
.booking-payment-link-panel{
  margin-top:16px;
  padding:16px;
  border:1px solid #cfe3e6;
  border-radius:17px;
  background:linear-gradient(135deg,#f5fbfc,#edf8f9);
}
.booking-payment-link-head{
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:start;
}
.booking-payment-link-head small{
  display:block;
  color:#078a93;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.1em;
}
.booking-payment-link-head strong{
  display:block;
  margin-top:5px;
  color:#15343e;
  font-size:1.05rem;
}
.booking-payment-link-head p{
  margin:6px 0 0;
  color:#687e85;
  line-height:1.45;
}
.booking-payment-link-head>span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff;
  border:1px solid #d4e5e8;
  font-size:1.2rem;
}
.booking-payment-link-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.booking-payment-link-actions .action{
  min-height:45px;
  margin:0;
}
@media(max-width:720px){
  .booking-payment-link-actions{
    grid-template-columns:1fr 1fr;
  }
}


/* Alerts empty-state upgrade */
.cro-alerts-empty{
  width:min(520px,100%);
  margin:54px auto 0;
  padding:30px 24px;
  border:1px solid #d9e6e9;
  border-radius:22px;
  background:#fff;
  text-align:center;
  box-shadow:0 12px 30px rgba(15,50,61,.06);
}
.cro-alerts-empty-icon{
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#e8f8f4;
  color:#168060;
  font-size:1.75rem;
  font-weight:950;
}
.cro-alerts-empty strong{
  display:block;
  color:#15343e;
  font-size:1.35rem;
}
.cro-alerts-empty p{
  margin:8px 0 0;
  color:#758a91;
  line-height:1.5;
}
#croAlertsBackHome{
  min-height:46px;
  margin-top:20px;
  padding:0 22px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#0799a2,#22b9b7);
  color:#fff;
  font-weight:900;
}

/* Booking contact and notes upgrade */
.missing-contact-button{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  margin-top:5px;
  padding:0 11px;
  border:1px dashed #8ebfc4;
  border-radius:10px;
  background:#f1fafb;
  color:#087f87;
  font-weight:900;
}
.booking-edit-contact-section{
  margin-bottom:14px;
  padding:14px;
  border:1px solid #cfe3e6;
  border-radius:15px;
  background:#eff9fa;
}
.booking-edit-contact-section strong{
  display:block;
  color:#15343e;
}
.booking-edit-contact-section p{
  margin:5px 0 0;
  color:#687e85;
  line-height:1.45;
}
.payment-layout-notice{
  margin-top:14px;
}


/* Complete booking editor */
.complete-editor-notice{
  margin-bottom:15px;
  border-left:5px solid #0799a2;
}
.complete-editor-section{
  margin-top:14px;
  padding:16px;
  border:1px solid #d6e5e8;
  border-radius:17px;
  background:#fbfdfd;
}
.complete-editor-section h4{
  margin:0 0 13px;
  color:#15343e;
  font-size:1rem;
}
.complete-editor-section .notes{
  min-height:105px;
}
.payment-ledger-warning{
  margin-top:13px;
  background:#fff8e8;
  border-color:#f0d79d;
}
@media(max-width:700px){
  .complete-editor-section{
    padding:14px;
  }
}


/* Guest tier and event type selectors */
.complete-editor-section select{
  width:100%;
}
#customEventTypeField[hidden],
#customGuestTierField[hidden]{
  display:none !important;
}


/* Clickable calendar improvements */
@media(max-width:820px){
  .cro-mini-calendar button,
  .cro-full-calendar button{
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .cro-mini-calendar button.has-booking{
    font-weight:950;
  }
  .cro-mini-calendar button:active,
  .cro-full-calendar button:active{
    transform:scale(.92);
  }
  #croSelectedBookings{
    scroll-margin-top:22px;
  }
  .cro-calendar-empty-day{
    display:grid;
    gap:5px;
    padding:22px;
    text-align:center;
  }
  .cro-calendar-empty-day strong{
    color:#15343e;
  }
  .cro-calendar-empty-day span{
    color:#75888f;
  }

  /* Dark mode switch */
  .cro-more-switch{
    width:48px;
    height:28px;
    border-radius:999px;
    padding:3px;
    background:#ccdadd;
    transition:.2s ease;
  }
  .cro-more-switch i{
    display:block;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 7px rgba(0,0,0,.18);
    transition:.2s ease;
  }
  #croDarkModeToggle[aria-pressed="true"] .cro-more-switch{
    background:#20b4b7;
  }
  #croDarkModeToggle[aria-pressed="true"] .cro-more-switch i{
    transform:translateX(20px);
  }

  /* Owner App dark mode */
  body.cro-dark{
    background:#07131b !important;
    color:#e9f4f6 !important;
  }
  body.cro-dark .cro-mobile-app{
    background:#07131b !important;
    color:#e9f4f6;
  }
  body.cro-dark .cro-mobile-header{
    background:#051d2d !important;
    border-bottom-color:#173847 !important;
  }
  body.cro-dark .cro-mobile-screen{
    background:#07131b !important;
  }
  body.cro-dark .cro-home-card,
  body.cro-dark .cro-booking-card,
  body.cro-dark .cro-more-item,
  body.cro-dark .cro-weather-day,
  body.cro-dark .cro-alert-card,
  body.cro-dark .cro-alerts-empty,
  body.cro-dark .cro-payment-grid article{
    background:#10232d !important;
    border-color:#24414c !important;
    color:#edf8fa !important;
    box-shadow:none !important;
  }
  body.cro-dark .cro-screen-heading h1,
  body.cro-dark .cro-home-card strong,
  body.cro-dark .cro-booking-card h3,
  body.cro-dark .cro-more-copy strong,
  body.cro-dark .cro-calendar-empty-day strong{
    color:#edf8fa !important;
  }
  body.cro-dark .cro-screen-heading span,
  body.cro-dark .cro-booking-card p,
  body.cro-dark .cro-more-copy small,
  body.cro-dark .cro-home-card p,
  body.cro-dark .cro-calendar-empty-day span,
  body.cro-dark .cro-empty{
    color:#9fb5bd !important;
  }
  body.cro-dark .cro-mini-calendar button,
  body.cro-dark .cro-full-calendar button,
  body.cro-dark .cro-mini-calendar span,
  body.cro-dark .cro-full-calendar span{
    color:#dcebed !important;
  }
  body.cro-dark .cro-mini-calendar .weekday,
  body.cro-dark .cro-full-calendar .weekday{
    color:#77929c !important;
  }
  body.cro-dark .cro-mini-calendar button.today,
  body.cro-dark .cro-full-calendar button.today{
    background:#189da5 !important;
    color:#fff !important;
  }
  body.cro-dark .cro-full-calendar button.selected{
    outline-color:#61d4d5 !important;
    background:#15323d !important;
  }
  body.cro-dark .cro-bottom-nav{
    background:#0b1c25 !important;
    border-top-color:#24414c !important;
  }
  body.cro-dark .cro-bottom-nav button{
    color:#8ea6ae !important;
  }
  body.cro-dark .cro-bottom-nav button.active{
    color:#42c9cb !important;
  }
  body.cro-dark input,
  body.cro-dark select,
  body.cro-dark textarea{
    background:#10232d !important;
    border-color:#35505a !important;
    color:#edf8fa !important;
  }
  body.cro-dark .cro-link-button,
  body.cro-dark .cro-round-button,
  body.cro-dark .cro-round-add{
    background:#10232d !important;
    border-color:#35505a !important;
    color:#68d6d8 !important;
  }
}


/* =========================================================
   PREMIUM OWNER APP ICONS + BUTTONS
   ========================================================= */
.cro-icon-sprite{
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.cro-svg-icon{
  width:1.35em;
  height:1.35em;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cro-icon-button .cro-svg-icon,
.cro-round-button .cro-svg-icon,
.cro-round-add .cro-svg-icon{
  width:24px;
  height:24px;
}
.cro-add-booking{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.cro-add-booking .cro-svg-icon{
  width:20px;
  height:20px;
}
.cro-more-icon{
  display:grid !important;
  place-items:center;
}
.cro-more-icon .cro-svg-icon{
  width:25px;
  height:25px;
}
.cro-more-arrow .cro-svg-icon{
  width:20px;
  height:20px;
}
.cro-bottom-nav button span{
  display:grid;
  place-items:center;
  min-height:27px;
}
.cro-bottom-nav .cro-svg-icon{
  width:24px;
  height:24px;
}
.cro-open-calendar-button{
  display:inline-flex !important;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:0 16px !important;
  border-radius:14px !important;
  font-weight:900 !important;
}
.cro-open-calendar-button .cro-svg-icon{
  width:21px;
  height:21px;
}
.cro-primary-button,
.cro-secondary-button,
.cro-open-booking,
.cro-link-button,
.cro-round-button,
.cro-round-add,
.cro-more-item{
  transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,border-color .16s ease;
}
.cro-primary-button:active,
.cro-secondary-button:active,
.cro-open-booking:active,
.cro-link-button:active,
.cro-round-button:active,
.cro-round-add:active,
.cro-more-item:active{
  transform:scale(.98);
}
.cro-primary-button,
.cro-open-booking{
  box-shadow:0 10px 22px rgba(10,143,151,.19);
}
.cro-round-button,
.cro-round-add,
.cro-icon-button{
  display:grid !important;
  place-items:center;
}
.cro-round-add{
  background:linear-gradient(135deg,#0799a2,#29c2c0) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:0 9px 22px rgba(8,143,151,.22);
}

/* =========================================================
   DARK MODE LEGIBILITY
   ========================================================= */
@media(max-width:820px){
  body.cro-dark,
  body.cro-dark .cro-mobile-app,
  body.cro-dark .cro-mobile-screen{
    color:#f4fbfc !important;
  }
  body.cro-dark h1,
  body.cro-dark h2,
  body.cro-dark h3,
  body.cro-dark h4,
  body.cro-dark strong,
  body.cro-dark label,
  body.cro-dark .cro-screen-heading h1,
  body.cro-dark .cro-card-title,
  body.cro-dark .cro-selected-date{
    color:#f7fcfd !important;
  }
  body.cro-dark p,
  body.cro-dark small,
  body.cro-dark .cro-muted,
  body.cro-dark .cro-screen-heading span,
  body.cro-dark .cro-booking-card p,
  body.cro-dark .cro-more-copy small,
  body.cro-dark .cro-home-card p,
  body.cro-dark .cro-stat-card small,
  body.cro-dark .cro-weather-copy{
    color:#b9cbd1 !important;
  }
  body.cro-dark .cro-home-card,
  body.cro-dark .cro-booking-card,
  body.cro-dark .cro-more-item,
  body.cro-dark .cro-weather-card,
  body.cro-dark .cro-calendar-card,
  body.cro-dark .cro-next-booking,
  body.cro-dark .cro-stat-card,
  body.cro-dark .cro-alerts-empty{
    background:#10252f !important;
    border-color:#2c4a56 !important;
  }
  body.cro-dark .cro-more-item:hover,
  body.cro-dark .cro-more-item:active{
    background:#17313c !important;
  }
  body.cro-dark .cro-more-icon{
    background:#173741 !important;
    color:#71d8da !important;
    border:1px solid #31515d;
  }
  body.cro-dark .cro-more-danger .cro-more-icon{
    background:#412326 !important;
    color:#ff9b9b !important;
    border-color:#66383d;
  }
  body.cro-dark .cro-link-button,
  body.cro-dark .cro-open-calendar-button,
  body.cro-dark .cro-secondary-button{
    background:#132d37 !important;
    border-color:#3d6470 !important;
    color:#7ce0e1 !important;
  }
  body.cro-dark .cro-primary-button,
  body.cro-dark .cro-open-booking,
  body.cro-dark .cro-round-add{
    color:#fff !important;
    background:linear-gradient(135deg,#0c9098,#27bab9) !important;
  }
  body.cro-dark input::placeholder,
  body.cro-dark textarea::placeholder{
    color:#8099a3 !important;
    opacity:1;
  }
  body.cro-dark .cro-booking-filters button{
    background:#10252f !important;
    color:#c5d6db !important;
    border-color:#34525d !important;
  }
  body.cro-dark .cro-booking-filters button.active{
    background:#159ca4 !important;
    color:#fff !important;
    border-color:#159ca4 !important;
  }
  body.cro-dark .cro-bottom-nav{
    background:#0b1d26 !important;
    border-top:1px solid #29434e !important;
    box-shadow:0 -8px 25px rgba(0,0,0,.25);
  }
  body.cro-dark .cro-bottom-nav button{
    color:#9db3ba !important;
  }
  body.cro-dark .cro-bottom-nav button.active{
    color:#56d0d2 !important;
  }
  body.cro-dark .cro-bottom-nav button.active .cro-svg-icon{
    filter:drop-shadow(0 0 6px rgba(86,208,210,.28));
  }
  body.cro-dark .cro-more-switch{
    background:#415962 !important;
  }
}

/* Better touch target and spacing for small-screen buttons */
@media(max-width:520px){
  .cro-link-button,
  .cro-primary-button,
  .cro-secondary-button,
  .cro-open-booking{
    min-height:52px;
  }
  .cro-more-item{
    min-height:88px;
  }
}


/* =========================================================
   CYPRESS RIVER OASIS LOGO + SEARCH BAR POLISH
   ========================================================= */
.cro-mobile-logo{
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 22px rgba(0,0,0,.18);
}
.cro-mobile-logo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:18px;
}
.cro-search-box{
  min-height:56px;
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#fbfefe);
  border:1px solid #d5e5e8;
  display:grid;
  grid-template-columns:42px 1fr;
  align-items:center;
  gap:8px;
  padding:0 14px;
  box-shadow:0 10px 20px rgba(7,35,50,.06), inset 0 1px 0 rgba(255,255,255,.9);
}
.cro-search-icon{
  display:grid;
  place-items:center;
  color:#7b939b;
}
.cro-search-icon .cro-svg-icon{
  width:20px;
  height:20px;
}
.cro-search-box input{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#16323c;
  font-size:1rem;
  width:100%;
  box-shadow:none !important;
}
.cro-search-box input::placeholder{
  color:#7b939b;
}
.cro-chip-row{padding-top:14px}

/* =========================================================
   DARK MODE HIGH-CONTRAST FIXES
   ========================================================= */
@media(max-width:820px){
  body.cro-dark .cro-mobile-top{
    background:linear-gradient(180deg,#06233a,#082b46) !important;
    border-bottom:1px solid rgba(109,188,205,.12);
  }
  body.cro-dark .cro-mobile-brand strong,
  body.cro-dark .cro-mobile-brand span{
    color:#ffffff !important;
  }
  body.cro-dark .cro-mobile-brand strong{
    text-shadow:0 1px 0 rgba(0,0,0,.12);
  }
  body.cro-dark .cro-screen-heading h1,
  body.cro-dark .cro-card-title strong,
  body.cro-dark .cro-booking-card h3,
  body.cro-dark .cro-more-copy strong,
  body.cro-dark .cro-selected-date,
  body.cro-dark .cro-home-card h3,
  body.cro-dark .detail-head h2,
  body.cro-dark .section-card h3,
  body.cro-dark .detail-accordion > summary strong,
  body.cro-dark .booking-payment-link-head strong,
  body.cro-dark .financial-box strong,
  body.cro-dark .detail strong,
  body.cro-dark .history-item strong,
  body.cro-dark .owner-description-box strong,
  body.cro-dark .cro-alerts-empty strong{
    color:#f8fcfd !important;
  }
  body.cro-dark .cro-card-title span,
  body.cro-dark .cro-card-title small,
  body.cro-dark .cro-screen-heading span,
  body.cro-dark .cro-booking-card p,
  body.cro-dark .cro-source-line,
  body.cro-dark .cro-empty,
  body.cro-dark .detail-head p,
  body.cro-dark .detail-accordion > summary small,
  body.cro-dark .detail-summary-side b,
  body.cro-dark .detail,
  body.cro-dark .detail a,
  body.cro-dark .review-answers span,
  body.cro-dark .owner-description-box p,
  body.cro-dark .addon-item p,
  body.cro-dark .history-item p,
  body.cro-dark .booking-payment-link-head p,
  body.cro-dark .cro-alerts-empty p,
  body.cro-dark .help,
  body.cro-dark .notice,
  body.cro-dark .financial-box span,
  body.cro-dark .source-edit-button,
  body.cro-dark .missing-contact-button{
    color:#cfe0e5 !important;
  }
  body.cro-dark .cro-search-box{
    background:linear-gradient(180deg,#143040,#0f2635) !important;
    border-color:#335464 !important;
    box-shadow:0 10px 18px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.03);
  }
  body.cro-dark .cro-search-icon{
    color:#88a7b2 !important;
  }
  body.cro-dark .cro-search-box input{
    background:transparent !important;
    color:#f5fbfd !important;
  }
  body.cro-dark .cro-search-box input::placeholder{
    color:#88a7b2 !important;
  }
  body.cro-dark .cro-chip-row button{
    background:#112939 !important;
    color:#dce9ed !important;
    border-color:#3a5967 !important;
    box-shadow:none !important;
  }
  body.cro-dark .cro-chip-row button.active{
    background:#1aadb1 !important;
    color:#fff !important;
    border-color:#1aadb1 !important;
  }
  body.cro-dark .cro-booking-card,
  body.cro-dark .cro-home-card,
  body.cro-dark .cro-alerts-empty,
  body.cro-dark .cro-weather-preview article,
  body.cro-dark .modal-card,
  body.cro-dark .section-card,
  body.cro-dark .detail,
  body.cro-dark .owner-description-box,
  body.cro-dark .financial-box,
  body.cro-dark .booking-payment-link-panel,
  body.cro-dark .photo-id-details,
  body.cro-dark .notice,
  body.cro-dark .next-step-amount,
  body.cro-dark .cro-payment-grid article{
    background:#102535 !important;
    border-color:#31505e !important;
    color:#e7f3f6 !important;
    box-shadow:none !important;
  }
  body.cro-dark .modal{
    background:rgba(2,12,18,.82) !important;
  }
  body.cro-dark .modal-card{
    background:#0b1d29 !important;
  }
  body.cro-dark .detail-accordion > summary,
  body.cro-dark .dashboard-accordion > summary{
    background:linear-gradient(180deg,#132b3b,#0f2432) !important;
    border-bottom-color:#284553 !important;
  }
  body.cro-dark .detail-accordion-body,
  body.cro-dark .dashboard-accordion-body{
    border-top-color:#284553 !important;
  }
  body.cro-dark .review-answers span{
    background:#173241 !important;
    border:1px solid #31515f;
  }
  body.cro-dark .source-badge{
    background:#183342 !important;
    color:#aee5ef !important;
  }
  body.cro-dark .source-swimply{background:#163447 !important;color:#87d8ff !important}
  body.cro-dark .source-google{background:#1f3624 !important;color:#9be0a6 !important}
  body.cro-dark .source-website{background:#133943 !important;color:#8be4d8 !important}
  body.cro-dark .source-edit-button,
  body.cro-dark .missing-contact-button{
    background:#15303f !important;
    border-color:#3a5a67 !important;
  }
  body.cro-dark .financial-box.paid{background:#143326 !important;border:1px solid #2d5b44 !important}
  body.cro-dark .financial-box.due{background:#352813 !important;border:1px solid #6a5130 !important}
  body.cro-dark .financial-box.refunded{background:#32191b !important;border:1px solid #6b3438 !important}
  body.cro-dark .notice.warning{background:#352813 !important;color:#f0d4a4 !important;border:1px solid #6a5130 !important}
  body.cro-dark .action.neutral{
    background:#143040 !important;
    color:#e9f5f7 !important;
    border-color:#3a5a67 !important;
  }
  body.cro-dark .close{
    color:#f4fbfd !important;
  }
  body.cro-dark .cro-status-pill.paid{background:#153626 !important;color:#a7edb8 !important}
  body.cro-dark .cro-status-pill.due{background:#3a2c14 !important;color:#ffd28a !important}
  body.cro-dark .cro-status-pill.review{background:#402122 !important;color:#ffb1b1 !important}
}


/* =========================================================
   HEADER BLEND + DARK MODE SWITCH ALIGNMENT
   ========================================================= */
@media(max-width:820px){
  /* Light mode header now blends with the light app background */
  .cro-mobile-top{
    background:linear-gradient(180deg,#eef8f9 0%,#e8f4f6 100%) !important;
    border-bottom:1px solid #d5e5e8;
  }
  .cro-mobile-brand strong{
    color:#0a7d87 !important;
  }
  .cro-mobile-brand span{
    color:#38535c !important;
  }
  .cro-icon-button{
    background:#ffffff !important;
    border-color:#cadde1 !important;
    color:#17313b !important;
    box-shadow:0 8px 18px rgba(12,47,60,.08);
  }
  .cro-mobile-logo{
    background:#ffffff !important;
    border-color:#d4e4e7 !important;
    box-shadow:0 8px 18px rgba(12,47,60,.08) !important;
  }

  /* Dark mode header blends into the dark app background */
  body.cro-dark .cro-mobile-top{
    background:linear-gradient(180deg,#071923 0%,#0b202b 100%) !important;
    border-bottom-color:#203b46 !important;
  }
  body.cro-dark .cro-mobile-brand strong,
  body.cro-dark .cro-mobile-brand span{
    color:#f7fbfc !important;
  }
  body.cro-dark .cro-icon-button{
    background:#102734 !important;
    border-color:#35505b !important;
    color:#eef8fa !important;
    box-shadow:none !important;
  }
  body.cro-dark .cro-mobile-logo{
    background:#102734 !important;
    border-color:#35505b !important;
    box-shadow:none !important;
  }

  /* Keep the switch inside the card instead of touching the edge */
  #croDarkModeToggle,
  #croSimpleModeToggle{
    grid-template-columns:64px minmax(0,1fr) auto !important;
    padding-right:22px !important;
  }
  #croDarkModeToggle .cro-more-switch,
  #croSimpleModeToggle .cro-more-switch{
    justify-self:end;
    margin-right:2px;
    flex:none;
  }

  #croSimpleModeToggle[aria-pressed="true"] .cro-more-switch{
    background:#20b4b7;
  }
  #croSimpleModeToggle[aria-pressed="true"] .cro-more-switch i{
    transform:translateX(20px);
  }
}

@media(max-width:420px){
  #croDarkModeToggle,
  #croSimpleModeToggle{
    padding-right:18px !important;
  }
  #croDarkModeToggle .cro-more-switch,
  #croSimpleModeToggle .cro-more-switch{
    margin-right:0;
  }
}


/* =========================================================
   DARK MODE — MODALS, EDIT FORMS, LABELS, AND INPUTS
   ========================================================= */
@media(max-width:820px){
  body.cro-dark .modal{
    background:rgba(0,10,16,.86) !important;
    backdrop-filter:blur(5px);
  }

  body.cro-dark .modal-card{
    background:#0b1e2a !important;
    color:#eef8fa !important;
    border:1px solid #2f4e5b !important;
    box-shadow:0 28px 70px rgba(0,0,0,.5) !important;
  }

  body.cro-dark .modal-card h2,
  body.cro-dark .modal-card h3,
  body.cro-dark .modal-card h4,
  body.cro-dark .modal-card strong,
  body.cro-dark .modal-card label,
  body.cro-dark .complete-editor-section h4,
  body.cro-dark .booking-edit-contact-section strong{
    color:#f7fbfc !important;
  }

  body.cro-dark .modal-card p,
  body.cro-dark .modal-card small,
  body.cro-dark .modal-card .help,
  body.cro-dark .modal-card .field,
  body.cro-dark .modal-card .form-label,
  body.cro-dark .booking-edit-contact-section p{
    color:#c8dbe0 !important;
  }

  body.cro-dark .modal-card .close{
    background:#16303d !important;
    border:1px solid #42616d !important;
    color:#ffffff !important;
    box-shadow:0 8px 20px rgba(0,0,0,.28) !important;
  }

  body.cro-dark .complete-editor-section,
  body.cro-dark .booking-edit-contact-section{
    background:#102735 !important;
    border-color:#355564 !important;
  }

  body.cro-dark .notice,
  body.cro-dark .complete-editor-notice,
  body.cro-dark .payment-layout-notice{
    background:#14313f !important;
    border-color:#3a5b68 !important;
    color:#d9e8ec !important;
  }

  body.cro-dark .notice.warning,
  body.cro-dark .payment-ledger-warning{
    background:#3a2d18 !important;
    border-color:#70562f !important;
    color:#f5dbad !important;
  }

  body.cro-dark .field input,
  body.cro-dark .field select,
  body.cro-dark .field textarea,
  body.cro-dark .form-control,
  body.cro-dark input,
  body.cro-dark select,
  body.cro-dark textarea{
    background:#102a38 !important;
    color:#f4fafc !important;
    border:1px solid #416271 !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025) !important;
  }

  body.cro-dark .field input:focus,
  body.cro-dark .field select:focus,
  body.cro-dark .field textarea:focus,
  body.cro-dark input:focus,
  body.cro-dark select:focus,
  body.cro-dark textarea:focus{
    outline:3px solid rgba(42,196,194,.22) !important;
    border-color:#4fc8ca !important;
  }

  body.cro-dark input::placeholder,
  body.cro-dark textarea::placeholder{
    color:#8fa9b2 !important;
    opacity:1 !important;
  }

  body.cro-dark select option{
    background:#102a38 !important;
    color:#f4fafc !important;
  }

  body.cro-dark input[type="date"],
  body.cro-dark input[type="time"]{
    color-scheme:dark;
  }

  body.cro-dark .action.neutral,
  body.cro-dark #cancelAction{
    background:#183442 !important;
    border-color:#416271 !important;
    color:#eef8fa !important;
  }

  body.cro-dark .action.primary,
  body.cro-dark #submitAction{
    background:linear-gradient(135deg,#0799a2,#27c4bf) !important;
    color:#ffffff !important;
    border:0 !important;
  }

  body.cro-dark .modal-actions{
    background:#0b1e2a !important;
  }

  /* Booking-detail modal */
  body.cro-dark #detailsModal .modal-card,
  body.cro-dark #actionModal .modal-card{
    background:#0b1e2a !important;
  }

  body.cro-dark .detail-head h2,
  body.cro-dark .detail-head p,
  body.cro-dark .detail-accordion > summary strong,
  body.cro-dark .detail-accordion > summary small,
  body.cro-dark .detail-summary-side b,
  body.cro-dark .detail,
  body.cro-dark .detail strong,
  body.cro-dark .detail a,
  body.cro-dark .owner-description-box strong,
  body.cro-dark .owner-description-box p,
  body.cro-dark .review-answers span,
  body.cro-dark .financial-box span,
  body.cro-dark .financial-box strong,
  body.cro-dark .history-item strong,
  body.cro-dark .history-item p,
  body.cro-dark .booking-payment-link-head small,
  body.cro-dark .booking-payment-link-head strong,
  body.cro-dark .booking-payment-link-head p{
    color:#eef8fa !important;
  }

  body.cro-dark .detail-head p,
  body.cro-dark .detail-accordion > summary small,
  body.cro-dark .detail-summary-side b,
  body.cro-dark .owner-description-box p,
  body.cro-dark .history-item p,
  body.cro-dark .booking-payment-link-head p,
  body.cro-dark .financial-box span{
    color:#b8cdd3 !important;
  }

  body.cro-dark .section-card,
  body.cro-dark .detail-accordion,
  body.cro-dark .detail,
  body.cro-dark .owner-description-box,
  body.cro-dark .financial-box,
  body.cro-dark .booking-payment-link-panel,
  body.cro-dark .history-item{
    background:#102735 !important;
    border-color:#355564 !important;
  }

  body.cro-dark .detail-accordion > summary{
    background:linear-gradient(180deg,#15313f,#102735) !important;
  }

  body.cro-dark .detail-accordion-body{
    border-top-color:#355564 !important;
  }

  body.cro-dark .review-answers span{
    background:#183542 !important;
    border:1px solid #3b5b68 !important;
  }

  body.cro-dark .financial-box.paid{
    background:#173629 !important;
    border-color:#356348 !important;
  }

  body.cro-dark .financial-box.due{
    background:#3a2c18 !important;
    border-color:#72562f !important;
  }

  body.cro-dark .financial-box.refunded{
    background:#3a2023 !important;
    border-color:#754147 !important;
  }

  body.cro-dark .source-edit-button,
  body.cro-dark .missing-contact-button{
    background:#173441 !important;
    border-color:#40616e !important;
    color:#8ce5e4 !important;
  }

  body.cro-dark .source-badge{
    background:#183542 !important;
    color:#b8edf2 !important;
  }

  /* Keep external-platform adjustment modal readable */
  body.cro-dark .platform-adjustment-form,
  body.cro-dark .platform-adjustment-form .field,
  body.cro-dark .platform-adjustment-form label{
    color:#eef8fa !important;
  }
}

/* Prevent white editor section backgrounds from reappearing in dark mode */
body.cro-dark .complete-editor-section *,
body.cro-dark .modal-card *{
  text-shadow:none !important;
}


/* =========================================================
   PREMIUM BOOKING SEARCH BAR
   ========================================================= */
@media(max-width:820px){
  .cro-search-box{
    min-height:68px !important;
    display:grid !important;
    grid-template-columns:46px minmax(0,1fr) 38px !important;
    align-items:center !important;
    gap:10px !important;
    padding:9px 12px 9px 14px !important;
    border-radius:20px !important;
    background:linear-gradient(180deg,#ffffff,#f8fcfd) !important;
    border:1px solid #d4e5e8 !important;
    box-shadow:0 12px 26px rgba(12,47,60,.08) !important;
  }

  .cro-search-icon{
    width:42px;
    height:42px;
    display:grid !important;
    place-items:center !important;
    border-radius:14px;
    background:#eaf7f8;
    color:#078f98 !important;
  }

  .cro-search-icon .cro-svg-icon{
    width:21px;
    height:21px;
  }

  .cro-search-copy{
    min-width:0;
    display:block;
  }

  .cro-search-copy small{
    display:block;
    margin-bottom:3px;
    color:#627a82;
    font-size:.68rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
  }

  .cro-search-box input{
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    outline:0 !important;
    background:transparent !important;
    color:#18343e !important;
    font-size:1rem !important;
    font-weight:700;
    line-height:1.25;
    box-shadow:none !important;
  }

  .cro-search-box input::placeholder{
    color:#8aa0a7 !important;
    font-weight:500;
  }

  .cro-search-clear{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border:0;
    border-radius:50%;
    background:#edf4f5;
    color:#5e767e;
    font-size:1.25rem;
    line-height:1;
    font-weight:700;
  }

  .cro-search-clear[hidden]{
    display:none !important;
  }

  .cro-search-box:focus-within{
    border-color:#35bfc1 !important;
    box-shadow:0 0 0 4px rgba(53,191,193,.14),0 12px 26px rgba(12,47,60,.08) !important;
  }

  body.cro-dark .cro-search-box{
    background:linear-gradient(180deg,#153140,#102735) !important;
    border-color:#355665 !important;
    box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
  }

  body.cro-dark .cro-search-icon{
    background:#183b49 !important;
    color:#68d8da !important;
  }

  body.cro-dark .cro-search-copy small{
    color:#9eb5bd !important;
  }

  body.cro-dark .cro-search-box input{
    color:#f6fbfc !important;
    background:transparent !important;
  }

  body.cro-dark .cro-search-box input::placeholder{
    color:#829ba4 !important;
  }

  body.cro-dark .cro-search-clear{
    background:#203d49 !important;
    color:#c5d9de !important;
  }

  body.cro-dark .cro-search-box:focus-within{
    border-color:#55d4d5 !important;
    box-shadow:0 0 0 4px rgba(85,212,213,.14),0 12px 28px rgba(0,0,0,.24) !important;
  }
}


/* =========================================================
   OWNER NOTIFICATION CENTER
   ========================================================= */
@media(max-width:820px){
  .cro-alert-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;
    margin-bottom:12px;
  }
  .cro-alert-summary article{
    padding:13px 10px;
    border:1px solid #d9e6e9;
    border-radius:16px;
    background:#fff;
    text-align:center;
  }
  .cro-alert-summary span{
    display:block;
    color:#71858c;
    font-size:.68rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
  .cro-alert-summary strong{
    display:block;
    margin-top:5px;
    font-size:1.45rem;
    color:#17313b;
  }
  .cro-alert-filter-row{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding:4px 0 10px;
    scrollbar-width:none;
  }
  .cro-alert-filter-row button{
    flex:0 0 auto;
    min-height:40px;
    padding:0 15px;
    border:1px solid #d7e4e7;
    border-radius:999px;
    background:#fff;
    color:#425d65;
    font-weight:900;
  }
  .cro-alert-filter-row button.active{
    background:#078f98;
    color:#fff;
    border-color:#078f98;
  }
  .cro-alert-toolbar{
    min-height:46px;
    display:flex;
    justify-content:flex-end;
    margin-bottom:8px;
  }
  .cro-alert-list{display:grid;gap:10px}
  .cro-alert-card{
    overflow:hidden;
    border:1px solid #d9e6e9;
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 18px rgba(15,49,61,.05);
  }
  .cro-alert-card.unread{border-left:5px solid #16a7ad}
  .cro-alert-card.seen{opacity:.76}
  .cro-alert-open{
    width:100%;
    min-height:92px;
    display:grid;
    grid-template-columns:52px minmax(0,1fr) 16px;
    gap:12px;
    align-items:center;
    padding:14px;
    border:0;
    background:transparent;
    text-align:left;
    color:#17313b;
  }
  .cro-alert-type-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:#eaf8f8;
    color:#078f98;
  }
  .cro-alert-type-icon .cro-svg-icon{width:24px;height:24px}
  .cro-alert-copy small{
    display:block;
    color:#6f838a;
    font-size:.65rem;
    font-weight:950;
    letter-spacing:.08em;
  }
  .cro-alert-copy strong{
    display:block;
    margin-top:4px;
    color:#17313b;
    font-size:1rem;
  }
  .cro-alert-copy p{
    margin:5px 0 0;
    color:#6b7e85;
    line-height:1.4;
  }
  .cro-unread-dot{
    width:9px;
    height:9px;
    border-radius:50%;
    background:#11a9af;
  }

  body.cro-dark .cro-alert-summary article,
  body.cro-dark .cro-alert-card{
    background:#102735 !important;
    border-color:#355564 !important;
    box-shadow:none !important;
  }
  body.cro-dark .cro-alert-summary span,
  body.cro-dark .cro-alert-copy small,
  body.cro-dark .cro-alert-copy p{color:#a9bec5 !important}
  body.cro-dark .cro-alert-summary strong,
  body.cro-dark .cro-alert-copy strong{color:#f5fbfc !important}
  body.cro-dark .cro-alert-filter-row button{
    background:#102735 !important;
    border-color:#355564 !important;
    color:#d7e6ea !important;
  }
  body.cro-dark .cro-alert-filter-row button.active{
    background:#1aa6ac !important;
    color:#fff !important;
    border-color:#1aa6ac !important;
  }
  body.cro-dark .cro-alert-type-icon{
    background:#173b48 !important;
    color:#6bd9db !important;
  }
}


/* =========================================================
   CUSTOMER MESSAGE CENTER
   ========================================================= */
.message-action{
  background:#e8f7ff;
  color:#17628c;
  border:1px solid #c7e2f2;
}
.customer-message-preview{
  margin-top:14px;
  padding:13px;
  border:1px solid #d7e4e7;
  border-radius:14px;
  background:#f7fbfc;
}
.customer-message-preview strong,
.customer-message-preview span{
  display:block;
}
.customer-message-preview span{
  margin-top:5px;
  color:#687e85;
}
.customer-message-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
  margin-top:14px;
}
@media(min-width:640px){
  .customer-message-actions{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:820px){
  body.cro-dark .message-action{
    background:#163447 !important;
    color:#9fddff !important;
    border-color:#345d73 !important;
  }
  body.cro-dark .customer-message-preview{
    background:#102735 !important;
    border-color:#355564 !important;
  }
  body.cro-dark .customer-message-preview strong{
    color:#f5fbfc !important;
  }
  body.cro-dark .customer-message-preview span{
    color:#b5cbd1 !important;
  }
}


/* =========================================================
   BOOKING ACTION BUTTON POLISH
   ========================================================= */
.detail-contact-buttons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  margin-top:16px;
  align-items:stretch;
}

.uniform-action{
  min-height:74px;
  justify-content:flex-start;
  align-items:center;
  text-align:left;
  padding:14px 16px;
  border-radius:18px;
  gap:12px;
}

.uniform-action.full-span{
  grid-column:1 / -1;
}

.action-icon{
  width:38px;
  height:38px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 38px;
  font-size:18px;
  font-weight:900;
  background:rgba(255,255,255,.16);
}

.action-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:4px;
  min-width:0;
}

.action-copy strong{
  font-size:1rem;
  line-height:1.1;
}

.action-copy small{
  display:block;
  font-size:.79rem;
  line-height:1.25;
  opacity:.88;
}

.detail-contact-buttons .action,
.detail-contact-buttons a.action{
  text-decoration:none;
}

.detail-contact-buttons .action.neutral .action-icon{
  background:rgba(6,35,50,.08);
}

.detail-contact-buttons .action.success .action-icon{
  background:rgba(22,121,74,.14);
}

.message-action{
  background:#e7f7fb;
  color:#165f7d;
  border:1px solid #bfe2ef;
}

.message-action .action-icon{
  background:rgba(22,95,125,.10);
}

/* =========================================================
   CUSTOMER MESSAGE CENTER POLISH
   ========================================================= */
.customer-message-layout{
  display:grid;
  gap:14px;
}

.message-template-wrap{
  display:grid;
  gap:8px;
}

.message-template-select{
  width:100%;
  margin-top:7px;
  border:1px solid #3d6878;
  border-radius:14px;
  padding:14px 48px 14px 14px;
  background:#0f2b3a;
  color:#f4fbfd;
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#7fe2e5 50%),
    linear-gradient(135deg,#7fe2e5 50%,transparent 50%);
  background-position:
    calc(100% - 22px) calc(50% - 3px),
    calc(100% - 16px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}

.message-template-select:focus{
  outline:none;
  border-color:#6bd7da;
  box-shadow:0 0 0 3px rgba(43,199,203,.16);
}

.customer-message-preview{
  margin-top:2px;
  padding:14px;
  border:1px solid #355564;
  border-radius:16px;
  background:#102735;
}

.customer-message-preview strong{
  display:block;
  color:#f3fbfc;
  margin-bottom:10px;
}

.customer-message-target{
  display:grid;
  gap:8px;
}

.customer-message-target-line{
  display:flex;
  align-items:center;
  gap:10px;
  color:#d4e6ea;
}

.customer-message-target-line i{
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#173748;
  color:#8fe0e4;
  font-style:normal;
  font-size:12px;
}

.customer-message-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:2px;
}

.customer-message-actions .action{
  min-height:64px;
}

.customer-message-actions .full-span{
  grid-column:1 / -1;
}

/* =========================================================
   DARK MODE READABILITY FIX
   ========================================================= */
body.cro-dark .field label,
body.cro-dark .form-label,
body.cro-dark .section-card h3,
body.cro-dark .detail strong,
body.cro-dark .help,
body.cro-dark .notice{
  color:#eaf6f8 !important;
}

body.cro-dark .field input,
body.cro-dark .field select,
body.cro-dark .field textarea,
body.cro-dark .form-control,
body.cro-dark .notes{
  background:#0d2a39 !important;
  border-color:#355564 !important;
  color:#f4fbfd !important;
}

body.cro-dark .field input::placeholder,
body.cro-dark .field textarea::placeholder,
body.cro-dark .notes::placeholder{
  color:#9db7bf !important;
}

body.cro-dark .message-template-select{
  background-color:#0d2a39 !important;
  color:#f4fbfd !important;
  border-color:#355564 !important;
}

body.cro-dark .customer-message-preview{
  background:#102735 !important;
  border-color:#355564 !important;
}

body.cro-dark .customer-message-target-line{
  color:#d6e7eb !important;
}

body.cro-dark .detail-contact-buttons .action-icon{
  background:rgba(255,255,255,.10);
}

body.cro-dark .detail-contact-buttons .action-copy small{
  color:#b8d0d7;
}

body.cro-dark .message-action{
  background:#143547 !important;
  color:#d8f3ff !important;
  border-color:#2d5a70 !important;
}

/* =========================================================
   MOBILE STACKING
   ========================================================= */
@media(max-width:640px){
  .detail-contact-buttons,
  .customer-message-actions{
    grid-template-columns:1fr;
  }

  .uniform-action.full-span,
  .customer-message-actions .full-span{
    grid-column:auto;
  }
}


/* =========================================================
   BOOKING TIMELINE
   ========================================================= */
.booking-timeline{
  display:grid;
  gap:0;
}

.booking-timeline-step{
  position:relative;
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:12px;
  min-height:76px;
}

.booking-timeline-step:not(:last-child)::before{
  content:"";
  position:absolute;
  left:20px;
  top:42px;
  bottom:-2px;
  width:2px;
  background:#d7e4e7;
}

.booking-timeline-marker{
  position:relative;
  z-index:1;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid #c8d8dc;
  background:#fff;
  color:#6f858d;
  font-weight:950;
}

.booking-timeline-step.done .booking-timeline-marker{
  border-color:#38ad78;
  background:#e7f7ee;
  color:#16794a;
}

.booking-timeline-step.current .booking-timeline-marker{
  border-color:#1fb8bd;
  background:#e5f9fa;
  color:#087f87;
  box-shadow:0 0 0 5px rgba(31,184,189,.12);
}

.booking-timeline-step.done:not(:last-child)::before{
  background:#83d2aa;
}

.booking-timeline-copy{
  padding:3px 0 18px;
}

.booking-timeline-copy strong{
  display:block;
  color:#17313b;
  font-size:1rem;
}

.booking-timeline-copy p{
  margin:5px 0 0;
  color:#6b7e85;
  line-height:1.45;
}

.booking-timeline-step.future{
  opacity:.68;
}

.booking-timeline-panel .detail-summary-side b{
  min-width:42px;
  padding:5px 9px;
  border-radius:999px;
  background:#e8f7f8;
  color:#087f87;
  text-align:center;
}

@media(max-width:820px){
  body.cro-dark .booking-timeline-step:not(:last-child)::before{
    background:#35515d;
  }

  body.cro-dark .booking-timeline-step.done:not(:last-child)::before{
    background:#377f5d;
  }

  body.cro-dark .booking-timeline-marker{
    background:#102735;
    border-color:#476570;
    color:#a9bec5;
  }

  body.cro-dark .booking-timeline-step.done .booking-timeline-marker{
    background:#173629;
    border-color:#3e8a63;
    color:#a7edb8;
  }

  body.cro-dark .booking-timeline-step.current .booking-timeline-marker{
    background:#173b48;
    border-color:#54ced0;
    color:#8ee6e7;
    box-shadow:0 0 0 5px rgba(84,206,208,.12);
  }

  body.cro-dark .booking-timeline-copy strong{
    color:#f5fbfc !important;
  }

  body.cro-dark .booking-timeline-copy p{
    color:#b5cbd1 !important;
  }

  body.cro-dark .booking-timeline-panel .detail-summary-side b{
    background:#173b48 !important;
    color:#8ee6e7 !important;
  }
}


/* =========================================================
   OWNER APP STABILITY CLEANUP
   One controlled layer for actions, summaries, dark mode,
   and mobile overflow.
   ========================================================= */

/* ---------- Safe page width ---------- */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

.cro-mobile-app,
.cro-mobile-main,
.cro-mobile-screen,
.dashboard-shell,
.modal-card,
.detail-accordion-body,
.section-card{
  min-width:0;
  max-width:100%;
}

/* ---------- Compact centered booking actions ---------- */
.detail-contact-buttons,
.customer-message-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  width:100%;
  margin-top:12px;
}

.detail-contact-buttons .uniform-action,
.customer-message-actions .uniform-action{
  min-width:0;
  min-height:54px;
  width:100%;
  padding:9px 10px;
  border-radius:13px;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:7px;
  overflow:hidden;
}

.detail-contact-buttons .full-span,
.customer-message-actions .full-span{
  grid-column:1 / -1;
}

.detail-contact-buttons .action-icon,
.customer-message-actions .action-icon{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-size:14px;
}

.detail-contact-buttons .action-copy,
.customer-message-actions .action-copy{
  min-width:0;
  align-items:center;
  text-align:center;
  gap:2px;
}

.detail-contact-buttons .action-copy strong,
.customer-message-actions .action-copy strong{
  width:100%;
  font-size:.88rem;
  line-height:1.12;
  text-align:center;
  overflow-wrap:anywhere;
}

.detail-contact-buttons .action-copy small,
.customer-message-actions .action-copy small{
  width:100%;
  font-size:.68rem;
  line-height:1.2;
  text-align:center;
  overflow-wrap:anywhere;
}

/* ---------- Compact reservation summary bubbles ---------- */
.owner-priority-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px !important;
}

.owner-priority-grid .detail{
  min-width:0;
  min-height:62px;
  padding:10px 11px;
  border:1px solid #d8e5e8;
  border-radius:12px;
  background:#f8fbfc;
  box-shadow:none;
  overflow-wrap:anywhere;
}

.owner-priority-grid .detail strong{
  display:block;
  margin-bottom:4px;
  font-size:.68rem;
  letter-spacing:.03em;
  color:#647981;
}

.owner-priority-grid .detail a,
.owner-priority-grid .detail button{
  max-width:100%;
  overflow-wrap:anywhere;
}

/* ---------- Compact payment summary bubbles ---------- */
.owner-financial-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px !important;
}

.owner-financial-grid .financial-box{
  min-width:0;
  min-height:72px;
  padding:10px 11px !important;
  border:1px solid #d8e5e8 !important;
  border-radius:12px !important;
  background:#f8fbfc !important;
  box-shadow:none !important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
}

.owner-financial-grid .financial-box span{
  margin:0;
  font-size:.66rem;
  letter-spacing:.025em;
  color:#647981;
}

.owner-financial-grid .financial-box strong{
  font-size:1rem;
  line-height:1.1;
  overflow-wrap:anywhere;
}

.owner-financial-grid .financial-box.paid{
  background:#eaf7ef !important;
  border-color:#c2dfcd !important;
}

.owner-financial-grid .financial-box.refunded{
  background:#fff0f0 !important;
  border-color:#eccaca !important;
}

.owner-financial-grid .financial-box.due{
  background:#fff5e5 !important;
  border-color:#ead4a9 !important;
}

.owner-financial-grid .inline-edit-button{
  margin-top:2px;
  align-self:center;
  min-height:28px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.72rem;
}

/* ---------- Keep chips and pills inside their containers ---------- */
.cro-chip-row,
.cro-alert-filter-row{
  display:flex;
  gap:7px;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 5px;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

.cro-chip-row::-webkit-scrollbar,
.cro-alert-filter-row::-webkit-scrollbar{
  display:none;
}

.cro-chip-row button,
.cro-alert-filter-row button,
.pill,
.risk-chip,
.source-badge,
.review-answers span{
  flex:0 0 auto;
  max-width:100%;
}

.review-answers{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}

.review-answers span{
  padding:6px 8px;
  border-radius:999px;
  font-size:.74rem;
}

/* ---------- Modal stability ---------- */
.modal-card{
  width:min(100%,760px);
  max-width:100%;
  overflow-x:hidden;
  overscroll-behavior:contain;
}

.modal-card *,
.section-card *,
.detail-accordion-body *{
  min-width:0;
}

.action-copy,
.detail,
.financial-box,
.customer-message-target-line,
.owner-description-box{
  overflow-wrap:anywhere;
}

/* ---------- Controlled dark mode ---------- */
@media(max-width:820px){
  body.cro-dark,
  body.cro-dark .cro-mobile-app,
  body.cro-dark .cro-mobile-main,
  body.cro-dark .cro-mobile-screen,
  body.cro-dark .dashboard-shell,
  body.cro-dark .modal-card,
  body.cro-dark .detail-accordion-body{
    background:#071923 !important;
    color:#eef8fa !important;
  }

  body.cro-dark .section-card,
  body.cro-dark .detail-accordion,
  body.cro-dark .dashboard-accordion,
  body.cro-dark .complete-editor-section,
  body.cro-dark .booking-edit-contact-section,
  body.cro-dark .booking-payment-link-panel,
  body.cro-dark .customer-message-preview,
  body.cro-dark .owner-description-box,
  body.cro-dark .photo-id-details,
  body.cro-dark .email-review-box{
    background:#102735 !important;
    border-color:#355564 !important;
    color:#eef8fa !important;
  }

  body.cro-dark .detail-accordion > summary,
  body.cro-dark .dashboard-accordion > summary,
  body.cro-dark .section-card > summary,
  body.cro-dark .photo-id-details > summary{
    background:#132c3a !important;
    border-color:#355564 !important;
    color:#f5fbfc !important;
  }

  body.cro-dark input,
  body.cro-dark select,
  body.cro-dark textarea,
  body.cro-dark .form-control,
  body.cro-dark .notes,
  body.cro-dark .message-template-select{
    background:#0d2a39 !important;
    border-color:#416271 !important;
    color:#f6fbfc !important;
    box-shadow:none !important;
  }

  body.cro-dark input::placeholder,
  body.cro-dark textarea::placeholder{
    color:#90aab3 !important;
    opacity:1;
  }

  body.cro-dark h1,
  body.cro-dark h2,
  body.cro-dark h3,
  body.cro-dark h4,
  body.cro-dark strong,
  body.cro-dark label{
    color:#f5fbfc !important;
  }

  body.cro-dark p,
  body.cro-dark small,
  body.cro-dark .help,
  body.cro-dark .muted,
  body.cro-dark .action-copy small{
    color:#b9ced4 !important;
  }

  body.cro-dark .owner-priority-grid .detail,
  body.cro-dark .review-answers span{
    background:#132c3a !important;
    border-color:#355564 !important;
    color:#eef8fa !important;
  }

  body.cro-dark .owner-priority-grid .detail strong{
    color:#a9c1c8 !important;
  }

  body.cro-dark .owner-financial-grid .financial-box{
    background:#132c3a !important;
    border-color:#355564 !important;
  }

  body.cro-dark .owner-financial-grid .financial-box span{
    color:#a9c1c8 !important;
  }

  body.cro-dark .owner-financial-grid .financial-box strong{
    color:#f5fbfc !important;
  }

  body.cro-dark .owner-financial-grid .financial-box.paid{
    background:#173629 !important;
    border-color:#327858 !important;
  }

  body.cro-dark .owner-financial-grid .financial-box.refunded{
    background:#3a2323 !important;
    border-color:#744141 !important;
  }

  body.cro-dark .owner-financial-grid .financial-box.due{
    background:#3b2d18 !important;
    border-color:#755f33 !important;
  }

  body.cro-dark .notice{
    background:#15313f !important;
    border:1px solid #3c5d6a !important;
    color:#dcebed !important;
  }
}

/* ---------- Small phone layout ---------- */
@media(max-width:560px){
  .detail-contact-buttons,
  .customer-message-actions,
  .owner-priority-grid,
  .owner-financial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .detail-contact-buttons .full-span,
  .customer-message-actions .full-span{
    grid-column:1 / -1 !important;
  }

  .detail-contact-buttons .uniform-action,
  .customer-message-actions .uniform-action{
    min-height:58px;
    padding:8px;
    flex-direction:column;
    gap:4px;
  }

  .owner-priority-grid .detail,
  .owner-financial-grid .financial-box{
    min-height:64px;
  }

  .review-answers{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .review-answers span{
    width:100%;
    white-space:normal;
    text-align:center;
  }
}


/* =========================================================
   FILLED OWNER DASHBOARD SUMMARY CARDS
   ========================================================= */
.cro-home-stats .cro-stat-card{
  border:0 !important;
  box-shadow:0 12px 24px rgba(4,32,43,.12) !important;
  overflow:hidden;
  position:relative;
}
.cro-home-stats .cro-stat-card::after{
  content:"";
  position:absolute;
  width:88px;height:88px;border-radius:50%;
  right:-28px;top:-28px;background:rgba(255,255,255,.14);
}
.cro-home-stats .cro-stat-card span,
.cro-home-stats .cro-stat-card strong,
.cro-home-stats .cro-stat-card small{color:#fff !important;position:relative;z-index:1}
.cro-home-stats .stat-today{background:linear-gradient(145deg,#078d96,#22bfc1) !important}
.cro-home-stats .stat-upcoming{background:linear-gradient(145deg,#2765d5,#4388ef) !important}
.cro-home-stats .stat-balance{background:linear-gradient(145deg,#b06b05,#e39a23) !important}
.cro-home-stats .stat-collected{background:linear-gradient(145deg,#6c3bd1,#9562eb) !important}

/* =========================================================
   OWNER SIGNED WAIVER
   ========================================================= */
.waiver-summary-signed,.waiver-summary-missing{padding:5px 9px;border-radius:999px;font-size:.75rem}
.waiver-summary-signed{background:#e4f7eb;color:#176941}
.waiver-summary-missing{background:#fff0e6;color:#98510a}
.waiver-owner-status{display:grid;gap:14px}
.waiver-owner-badge{display:inline-flex;width:max-content;padding:7px 11px;border-radius:999px;background:#e4f7eb;color:#176941;font-weight:900}
.waiver-owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.waiver-owner-grid>div{padding:11px;border:1px solid #d7e4e7;border-radius:12px;background:#f8fbfc}
.waiver-owner-grid small,.waiver-owner-signature small{display:block;color:#6b7e85;font-size:.7rem;font-weight:900;text-transform:uppercase;margin-bottom:5px}
.waiver-owner-signature{padding:12px;border:1px solid #d7e4e7;border-radius:12px;background:#fff}
.waiver-owner-signature img{display:block;width:100%;max-width:430px;height:120px;object-fit:contain;background:#fff;border-radius:8px}
.waiver-owner-empty{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #efc69f;border-radius:14px;background:#fff5e9}
.waiver-owner-empty>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d97819;color:#fff;font-weight:900;flex:0 0 auto}
.waiver-owner-empty p{margin:4px 0 0;color:#7a5b41}
@media(max-width:560px){.waiver-owner-grid{grid-template-columns:1fr}}
@media(max-width:820px){
  body.cro-dark .cro-home-stats .cro-stat-card{border:1px solid rgba(255,255,255,.12) !important}
  body.cro-dark .waiver-owner-grid>div,
  body.cro-dark .waiver-owner-signature{background:#132c3a !important;border-color:#355564 !important}
  body.cro-dark .waiver-owner-grid small,
  body.cro-dark .waiver-owner-signature small{color:#a9c1c8 !important}
  body.cro-dark .waiver-owner-signature img{background:#fff !important}
  body.cro-dark .waiver-owner-empty{background:#3b2d18 !important;border-color:#755f33 !important}
  body.cro-dark .waiver-owner-empty p{color:#f4d9aa !important}
}

/* =========================================================
   CRO OWNER APP — INTERACTIVE BOOKING JOURNEY
   ========================================================= */
.booking-timeline-panel .detail-accordion-body{padding:14px!important}
.booking-timeline{display:flex;flex-direction:column;gap:0;max-width:760px;margin:0 auto}
.booking-timeline-step{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);gap:12px;padding:10px 0 18px}
.booking-timeline-step:not(:last-child)::after{content:"";position:absolute;left:23px;top:52px;bottom:-2px;width:3px;border-radius:999px;background:#dce5e8}
.booking-timeline-marker{position:relative;z-index:1;width:48px;height:48px;display:grid;place-items:center}
.booking-timeline-marker span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#eef2f3;border:2px solid #cdd9dd;color:#6b7e85;font-weight:950}
.booking-timeline-copy{min-width:0;padding:12px 14px;border:1px solid #dce5e8;border-radius:18px;background:#fff;box-shadow:0 6px 16px rgba(6,35,50,.05)}
.timeline-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.timeline-title-row strong{font-size:1rem;line-height:1.2;color:#17313b}
.booking-timeline-copy p{margin:6px 0 0;color:#667d85;line-height:1.4}
.timeline-state-badge{flex:0 0 auto;padding:5px 8px;border-radius:999px;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;background:#eef2f3;color:#687a81}
.timeline-state-badge.automatic{background:#e7f7ed;color:#207546}
.timeline-state-badge.manual{background:#fff1d8;color:#8b5900}
.timeline-state-badge.pending{background:#e8f5fb;color:#17647e}
.booking-timeline-step.done .booking-timeline-marker span{background:#2f9d62;border-color:#2f9d62;color:#fff}
.booking-timeline-step.done:not(:last-child)::after{background:#8fd0aa}
.booking-timeline-step.current .booking-timeline-marker span{background:#1fb8bd;border-color:#1fb8bd;color:#fff;box-shadow:0 0 0 5px rgba(31,184,189,.14)}
.booking-timeline-step.current .booking-timeline-copy{border-color:#8bd6da;background:#f3fcfc}
.booking-timeline-step.manual .booking-timeline-marker span{background:#e6a426;border-color:#e6a426;color:#fff}
.timeline-manual-note{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:12px;background:#fff7e8;border:1px solid #f2d294;color:#76500b}
.timeline-manual-note span{font-size:.82rem;line-height:1.35}
.timeline-manual-note small{font-size:.7rem;opacity:.8}
.timeline-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.timeline-control{min-height:40px;padding:9px 12px;border:1px solid #8bcfd3;border-radius:12px;background:#edfafa;color:#116f75;font-weight:900;cursor:pointer}
.timeline-control.undo{border-color:#efc36f;background:#fff8e9;color:#875900}
.timeline-control:active{transform:scale(.98)}
body.cro-dark .booking-timeline-copy{background:#102936;border-color:#35515d}
body.cro-dark .timeline-title-row strong{color:#eef8fa}
body.cro-dark .booking-timeline-copy p{color:#a9bec7}
body.cro-dark .booking-timeline-step.current .booking-timeline-copy{background:#12323c;border-color:#3d8d92}
body.cro-dark .timeline-manual-note{background:#3b3018;border-color:#725f2e;color:#f7d993}
@media(max-width:560px){
 .booking-timeline-panel .detail-accordion-body{padding:10px!important}
 .booking-timeline-step{grid-template-columns:40px minmax(0,1fr);gap:8px;padding-bottom:14px}
 .booking-timeline-marker{width:40px;height:40px}
 .booking-timeline-marker span{width:34px;height:34px;font-size:.82rem}
 .booking-timeline-step:not(:last-child)::after{left:19px;top:43px;width:2px}
 .booking-timeline-copy{padding:11px 12px;border-radius:15px}
 .timeline-title-row{flex-direction:column;gap:6px}
 .timeline-state-badge{align-self:flex-start}
 .timeline-control{width:100%}
}
/* =========================================================
   OWNER WAIVER TOOLS V2
   ========================================================= */
.waiver-owner-status{display:grid;gap:16px}
.waiver-owner-badge,.waiver-summary-signed,.waiver-summary-missing{display:inline-flex;align-items:center;width:max-content;border-radius:999px;font-weight:900}
.waiver-owner-badge{padding:9px 13px;background:#e7f7ee;color:#176740;border:1px solid #b8e1c8}
.waiver-summary-signed{padding:6px 10px;background:#e7f7ee;color:#176740;border:1px solid #b8e1c8;font-size:.78rem}
.waiver-summary-missing{padding:6px 10px;background:#fff0df;color:#984d00;border:1px solid #f2c48e;font-size:.78rem}
.waiver-owner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.waiver-owner-grid>div{padding:14px;border:1px solid #d7e3e5;border-radius:15px;background:#f8fbfb;display:grid;gap:5px}
.waiver-owner-grid small{color:#6b7e85;font-weight:800}
.waiver-owner-grid strong{color:#17313b;overflow-wrap:anywhere}
.waiver-owner-signature{padding:14px;border:1px solid #d7e3e5;border-radius:15px;background:#fff;display:grid;gap:10px}
.waiver-owner-signature small{color:#6b7e85;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.waiver-owner-signature img{display:block;max-width:100%;width:420px;max-height:190px;object-fit:contain;background:#fff;border:1px dashed #9ebdc2;border-radius:12px;padding:10px}
.waiver-owner-empty{display:flex;gap:14px;align-items:flex-start;padding:16px;border:2px solid #efbe83;border-radius:17px;background:#fff8eb;color:#6d4100}
.waiver-owner-empty>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f0a23b;color:#fff;font-weight:950;flex:0 0 auto}
.waiver-owner-empty strong{display:block;color:#6d4100;font-size:1.05rem}
.waiver-owner-empty p{margin:5px 0 0;color:#815d2b;line-height:1.45}
.waiver-owner-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.waiver-owner-actions .action{min-height:48px}
.waiver-tools-confirmation{margin:0 0 14px;padding:11px 14px;border-radius:14px;background:#eaf7f8;color:#125c62;font-weight:850;border:1px solid #b8dde0}
@media(max-width:760px){.waiver-owner-grid{grid-template-columns:1fr}.waiver-owner-actions{grid-template-columns:1fr 1fr}.waiver-owner-empty{align-items:center}}
@media(max-width:430px){.waiver-owner-actions{grid-template-columns:1fr}}


/* =========================================================
   CRO OWNER APP — BOOKING COMMAND CENTER
   ========================================================= */
.booking-command-center{
  width:min(calc(100% - 24px),760px);
  margin:22px auto 18px;
  padding:18px;
  border:1px solid #d4e2e6;
  border-radius:26px;
  background:#fff;
  box-shadow:0 16px 38px rgba(6,35,50,.10);
}
.booking-command-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:14px;padding-bottom:14px;border-bottom:1px solid #dce7ea;
}
.booking-command-head h3{margin:3px 0 0;color:#17313b;font-size:1.35rem}
.command-center-status{
  flex:0 0 auto;display:inline-flex;align-items:center;min-height:34px;
  padding:7px 11px;border-radius:999px;font-size:.79rem;font-weight:950;
}
.command-center-status.due{background:#fff0df;color:#974b00}
.command-center-status.paid{background:#e4f6eb;color:#17683f}
.booking-command-chips{display:flex;flex-wrap:wrap;gap:7px;padding:13px 0 15px}
.booking-command-chips span{
  display:inline-flex;align-items:center;min-height:31px;padding:6px 10px;
  border-radius:999px;background:#f1f5f6;color:#526971;font-size:.75rem;font-weight:850;
}
.booking-command-chips span.good{background:#e5f6eb;color:#17683f}
.booking-command-chips span.warning{background:#fff0df;color:#974b00}
.booking-command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.booking-command{
  min-width:0;min-height:86px;display:flex;align-items:center;gap:11px;
  padding:13px;border:0;border-radius:17px;background:#f4f7f8;color:#17313b;
  text-decoration:none;text-align:left;cursor:pointer;
}
.booking-command:hover{background:#eaf3f4}.booking-command:active{transform:scale(.985)}
.booking-command.primary{grid-column:1/-1;background:linear-gradient(135deg,#139ba4,#2ac4cc);color:#fff}
.booking-command.attention{background:#fff2df;color:#8b4700}
.booking-command.complete{background:#eaf8ef;color:#17683f}
.booking-command.ai{background:#f0ebff;color:#593a96}
.booking-command>b{
  flex:0 0 43px;width:43px;height:43px;display:grid;place-items:center;
  border-radius:14px;background:rgba(6,35,50,.07);font-size:1.18rem;
}
.booking-command.primary>b{background:rgba(255,255,255,.18)}
.booking-command span{min-width:0;display:flex;flex-direction:column;gap:3px}
.booking-command strong{font-size:.96rem;line-height:1.15;white-space:normal;word-break:normal}
.booking-command small{color:inherit;opacity:.77;font-size:.69rem;line-height:1.2;overflow-wrap:anywhere}
body.cro-dark .booking-command-center{background:#102936;border-color:#355361}
body.cro-dark .booking-command-head h3{color:#eef8fa}
body.cro-dark .booking-command-head{border-bottom-color:#35515d}
body.cro-dark .booking-command{background:#183541;color:#eef8fa}
body.cro-dark .booking-command.primary{background:linear-gradient(135deg,#117f87,#20abb4)}
@media(max-width:560px){
  .booking-command-center{width:calc(100% - 18px);padding:13px;border-radius:22px}
  .booking-command-head h3{font-size:1.16rem}
  .booking-command-grid{gap:7px}
  .booking-command{min-height:82px;padding:10px;gap:8px;border-radius:15px}
  .booking-command>b{flex-basis:39px;width:39px;height:39px;border-radius:12px;font-size:1.05rem}
  .booking-command strong{font-size:.86rem}.booking-command small{font-size:.64rem}
}
@media(max-width:370px){
  .booking-command-grid{grid-template-columns:1fr}
  .booking-command.primary{grid-column:auto}
}

/* =========================================================
   CRO OWNER APP — RESERVATION HUB + OPERATIONS
   ========================================================= */
.reservation-hub{
  width:min(calc(100% - 22px),780px);
  margin:22px auto 18px;
  padding:18px;
  border:1px solid #d4e2e6;
  border-radius:27px;
  background:#fff;
  box-shadow:0 16px 40px rgba(6,35,50,.10);
}
.reservation-hub-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid #dce7ea;
}
.reservation-hub-head h3{margin:3px 0 2px;color:#17313b;font-size:1.42rem}
.reservation-hub-head p:last-child{margin:0;color:#6b7e85;font-weight:700}

.reservation-live-timer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:14px 0;
  padding:13px 15px;
  border-radius:17px;
  background:#edf5f6;
  color:#17313b;
}
.reservation-live-timer span{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.reservation-live-timer strong{font-size:1.42rem;letter-spacing:.04em}
.reservation-live-timer.active{background:#e5f6eb;color:#17683f}
.reservation-live-timer.warning{background:#fff4d9;color:#815900}
.reservation-live-timer.overtime{background:#fde8e8;color:#9a2929}
.reservation-live-timer.upcoming{background:#eaf2ff;color:#255b9b}

.reservation-status-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}
.reservation-status-card{
  min-width:0;
  min-height:82px;
  padding:12px;
  border:0;
  border-radius:17px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#f4f7f8;
  color:#17313b;
  text-align:left;
  cursor:pointer;
}
.reservation-status-card>b{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(6,35,50,.07);
  font-size:1.12rem;
}
.reservation-status-card span{min-width:0;display:flex;flex-direction:column;gap:3px}
.reservation-status-card small{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;opacity:.72}
.reservation-status-card strong{font-size:.88rem;line-height:1.2;overflow-wrap:anywhere}
.reservation-status-card.complete{background:#eaf8ef;color:#17683f}
.reservation-status-card.attention{background:#fff1df;color:#8b4700}
.reservation-status-card.active{background:#e5f6eb;color:#17683f}

.reservation-operations{
  margin-top:12px;
  padding:14px;
  border-radius:19px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#0d3342;
  color:#fff;
}
.reservation-operations-copy{display:flex;flex-direction:column;gap:3px}
.reservation-operations-copy small{text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#9bdfe4}
.reservation-operations-copy strong{font-size:1rem}
.reservation-operation-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.operation-button{
  min-height:40px;
  padding:8px 13px;
  border:0;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
}
.operation-button.checkin{background:#38c77a;color:#083b23}
.operation-button.checkout{background:#ffbf55;color:#593800}
.operation-button.neutral{background:#fff;color:#17313b}

.reservation-quick-tools{
  margin-top:11px;
  border:1px solid #dbe6e9;
  border-radius:18px;
  overflow:hidden;
}
.reservation-quick-tools summary{
  padding:13px 15px;
  cursor:pointer;
  color:#31515c;
  background:#f7fafb;
  font-weight:900;
}
.reservation-quick-tools .booking-command-grid{padding:10px}

body.cro-dark .reservation-hub{background:#102936;border-color:#355361}
body.cro-dark .reservation-hub-head{border-bottom-color:#35515d}
body.cro-dark .reservation-hub-head h3{color:#eef8fa}
body.cro-dark .reservation-hub-head p:last-child{color:#a9bec7}
body.cro-dark .reservation-status-card{background:#183541;color:#eef8fa}
body.cro-dark .reservation-quick-tools{border-color:#35515d}
body.cro-dark .reservation-quick-tools summary{background:#173440;color:#eef8fa}

@media(max-width:560px){
  .reservation-hub{width:calc(100% - 16px);padding:13px;border-radius:23px}
  .reservation-hub-head h3{font-size:1.18rem}
  .reservation-live-timer strong{font-size:1.18rem}
  .reservation-status-grid{gap:7px}
  .reservation-status-card{min-height:78px;padding:9px;gap:8px;border-radius:15px}
  .reservation-status-card>b{flex-basis:38px;width:38px;height:38px;border-radius:12px;font-size:1rem}
  .reservation-status-card strong{font-size:.78rem}
  .reservation-status-card small{font-size:.60rem}
  .reservation-operations{align-items:flex-start;flex-direction:column}
  .reservation-operation-buttons{width:100%;justify-content:stretch}
  .operation-button{flex:1}
}
@media(max-width:370px){
  .reservation-status-grid{grid-template-columns:1fr}
}

/* =========================================================
   CRO OWNER APP — HOME OPERATIONS DASHBOARD
   ========================================================= */
.owner-operations-dashboard{
  width:min(calc(100% - 24px),1080px);
  margin:18px auto 22px;
  padding:19px;
  border:1px solid #d5e2e6;
  border-radius:28px;
  background:#ffffff;
  box-shadow:0 18px 44px rgba(6,35,50,.10);
}
.operations-dashboard-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:15px;
  border-bottom:1px solid #dce7ea;
}
.operations-dashboard-head h2{
  margin:3px 0 3px;
  color:#17313b;
  font-size:1.48rem;
}
.operations-dashboard-head p:last-child{
  margin:0;
  color:#6b7e85;
  font-weight:700;
}
.operations-refresh-button{
  min-height:39px;
  padding:8px 13px;
  border:1px solid #cfe0e4;
  border-radius:999px;
  background:#f5f9fa;
  color:#31515c;
  font-weight:900;
  cursor:pointer;
}

.operations-metric-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  padding:15px 0;
}
.operations-metric-card{
  min-width:0;
  min-height:84px;
  padding:12px;
  border:0;
  border-radius:17px;
  display:flex;
  align-items:center;
  gap:10px;
  background:#f4f7f8;
  color:#17313b;
  text-align:left;
  cursor:pointer;
}
.operations-metric-card:active{transform:scale(.985)}
.operations-metric-card>b{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:rgba(6,35,50,.07);
  font-size:1.12rem;
}
.operations-metric-card span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.operations-metric-card small{
  color:inherit;
  opacity:.70;
  font-size:.67rem;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.operations-metric-card strong{
  color:inherit;
  font-size:1.02rem;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.operations-metric-card.warning{background:#fff1df;color:#8b4700}
.operations-metric-card.complete{background:#eaf8ef;color:#17683f}
.operations-metric-card.active{background:#e4f6eb;color:#17683f}
.operations-metric-card.today{background:#eaf2ff;color:#255b9b}
.operations-metric-card.revenue{background:#eef0ff;color:#4b3b91}

.operations-attention-card{
  border:1px solid #dce7ea;
  border-radius:21px;
  overflow:hidden;
}
.operations-attention-head{
  padding:14px 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#f7fafb;
}
.operations-attention-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.operations-attention-head small{
  color:#1b7d87;
  font-size:.70rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.operations-attention-head strong{color:#17313b;font-size:1rem}
.operations-attention-head>span{
  min-width:34px;
  height:34px;
  padding:0 9px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#17313b;
  color:#fff;
  font-weight:950;
}
.operations-attention-list{padding:8px}
.operations-attention-item{
  width:100%;
  min-height:72px;
  padding:10px;
  border:0;
  border-bottom:1px solid #e4ecee;
  display:grid;
  grid-template-columns:43px minmax(0,1fr) 22px;
  align-items:center;
  gap:10px;
  background:#fff;
  color:#17313b;
  text-align:left;
  cursor:pointer;
}
.operations-attention-item:last-child{border-bottom:0}
.operations-attention-item>b{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#f1f5f6;
  font-size:1.08rem;
}
.operations-attention-item>span{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.operations-attention-item strong{
  font-size:.91rem;
  line-height:1.18;
}
.operations-attention-item small{
  color:#6b7e85;
  font-size:.72rem;
  line-height:1.2;
}
.operations-attention-item>i{
  color:#779098;
  font-size:1.5rem;
  font-style:normal;
}
.operations-attention-item.warning>b{background:#fff1df}
.operations-attention-item.today>b{background:#eaf2ff}
.operations-all-clear{
  min-height:88px;
  padding:16px;
  display:flex;
  align-items:center;
  gap:12px;
  color:#17683f;
}
.operations-all-clear>b{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e5f6eb;
  font-size:1.25rem;
}
.operations-all-clear span{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.operations-all-clear small{color:#6b7e85}

body.cro-dark .owner-operations-dashboard{
  background:#102936;
  border-color:#355361;
}
body.cro-dark .operations-dashboard-head{
  border-bottom-color:#35515d;
}
body.cro-dark .operations-dashboard-head h2,
body.cro-dark .operations-attention-head strong{
  color:#eef8fa;
}
body.cro-dark .operations-dashboard-head p:last-child{
  color:#a9bec7;
}
body.cro-dark .operations-refresh-button,
body.cro-dark .operations-metric-card,
body.cro-dark .operations-attention-head,
body.cro-dark .operations-attention-item{
  background:#173440;
  border-color:#35515d;
  color:#eef8fa;
}
body.cro-dark .operations-attention-card{
  border-color:#35515d;
}
body.cro-dark .operations-attention-item{
  border-bottom-color:#35515d;
}
body.cro-dark .operations-attention-item small,
body.cro-dark .operations-all-clear small{
  color:#a9bec7;
}

@media(max-width:760px){
  .operations-metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:560px){
  .owner-operations-dashboard{
    width:calc(100% - 16px);
    padding:13px;
    border-radius:23px;
  }
  .operations-dashboard-head h2{font-size:1.22rem}
  .operations-dashboard-head p:last-child{font-size:.78rem}
  .operations-refresh-button{
    min-height:36px;
    padding:7px 10px;
    font-size:.75rem;
  }
  .operations-metric-grid{gap:7px}
  .operations-metric-card{
    min-height:77px;
    padding:9px;
    gap:8px;
    border-radius:15px;
  }
  .operations-metric-card>b{
    flex-basis:38px;
    width:38px;
    height:38px;
    border-radius:12px;
    font-size:1rem;
  }
  .operations-metric-card small{font-size:.58rem}
  .operations-metric-card strong{font-size:.86rem}
  .operations-attention-item{
    grid-template-columns:39px minmax(0,1fr) 18px;
    padding:9px 6px;
  }
  .operations-attention-item>b{
    width:39px;
    height:39px;
    border-radius:12px;
  }
  .operations-attention-item strong{font-size:.82rem}
  .operations-attention-item small{font-size:.66rem}
}
@media(max-width:360px){
  .operations-metric-grid{grid-template-columns:1fr}
}

.reminder-center{width:min(calc(100% - 24px),1080px);margin:0 auto 22px;padding:18px;border:1px solid #d5e2e6;border-radius:27px;background:#fff;box-shadow:0 16px 40px rgba(6,35,50,.09)}
.reminder-center-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #dce7ea}
.reminder-center-head h2{margin:3px 0;color:#17313b;font-size:1.35rem}.reminder-center-head p:last-child{margin:0;color:#6b7e85;font-weight:700}
.reminder-center-item{border-bottom:1px solid #e4ecee;padding:10px 0}.reminder-center-item:last-child{border-bottom:0}
.reminder-main{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px;padding:6px;border:0;background:transparent;color:#17313b;text-align:left}
.reminder-main>b{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff1df;font-size:1.12rem}
.reminder-main>span{min-width:0;display:flex;flex-direction:column;gap:3px}.reminder-main small{color:#a35a0c;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em}
.reminder-main strong{font-size:.94rem}.reminder-main em{color:#6b7e85;font-size:.70rem;font-style:normal}
.reminder-actions{display:flex;flex-wrap:wrap;gap:6px;padding:6px 6px 2px 60px}.reminder-actions button{min-height:35px;padding:7px 11px;border:1px solid #d5e2e6;border-radius:999px;background:#f6f9fa;color:#31515c;font-size:.72rem;font-weight:900}
.reminder-actions button:first-child{background:#1fb8bd;border-color:#1fb8bd;color:#fff}
body.cro-dark .reminder-center{background:#102936;border-color:#355361}body.cro-dark .reminder-center-head{border-bottom-color:#35515d}body.cro-dark .reminder-center-head h2,body.cro-dark .reminder-main{color:#eef8fa}body.cro-dark .reminder-center-head p:last-child,body.cro-dark .reminder-main em{color:#a9bec7}
@media(max-width:560px){.reminder-center{width:calc(100% - 16px);padding:13px;border-radius:23px}.reminder-center-head h2{font-size:1.18rem}.reminder-main{grid-template-columns:40px minmax(0,1fr);gap:8px}.reminder-main>b{width:40px;height:40px}.reminder-actions{padding-left:54px}}

/* =========================================================
   CRO OWNER APP — GUEST CRM
   ========================================================= */
.guest-crm-dashboard{
  width:min(calc(100% - 24px),1080px);
  margin:0 auto 22px;
  padding:18px;
  border:1px solid #d5e2e6;
  border-radius:27px;
  background:#fff;
  box-shadow:0 16px 40px rgba(6,35,50,.09);
}
.guest-crm-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid #dce7ea;
}
.guest-crm-head h2{margin:3px 0;color:#17313b;font-size:1.35rem}
.guest-crm-head p:last-child{margin:0;color:#6b7e85;font-weight:700}
.guest-crm-open-button{
  min-height:40px;
  padding:8px 14px;
  border:0;
  border-radius:999px;
  background:#17313b;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.guest-crm-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:14px 0;
}
.guest-crm-summary>div{
  min-width:0;
  padding:12px;
  border-radius:16px;
  background:#f4f7f8;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.guest-crm-summary small{
  color:#6b7e85;
  font-size:.66rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.guest-crm-summary strong{color:#17313b;font-size:1.02rem;overflow-wrap:anywhere}
.guest-crm-preview,.guest-directory-list{display:grid;gap:8px}
.guest-crm-card{
  width:100%;
  min-width:0;
  min-height:78px;
  padding:10px;
  border:1px solid #e0e9eb;
  border-radius:17px;
  background:#fff;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 20px;
  align-items:center;
  gap:10px;
  color:#17313b;
  text-align:left;
  cursor:pointer;
}
.guest-crm-avatar,.guest-profile-large-avatar{
  display:grid;
  place-items:center;
  border-radius:50%;
  background:linear-gradient(135deg,#1fb8bd,#5fd8dc);
  color:#fff;
  font-weight:950;
}
.guest-crm-avatar{width:44px;height:44px;font-size:1.05rem}
.guest-crm-card-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.guest-crm-card-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.guest-crm-card-title strong{font-size:.94rem}
.guest-crm-card-title span,.guest-profile-badges span{
  padding:4px 7px;
  border-radius:999px;
  background:#eaf8ef;
  color:#17683f;
  font-size:.61rem;
  font-weight:900;
}
.guest-crm-card-copy>small{color:#6b7e85;font-size:.69rem;overflow-wrap:anywhere}
.guest-crm-card-meta{display:flex;gap:6px;flex-wrap:wrap}
.guest-crm-card-meta span{
  padding:4px 7px;
  border-radius:999px;
  background:#f1f5f6;
  color:#536970;
  font-size:.61rem;
  font-weight:850;
}
.guest-crm-card-meta span.attention{background:#fff1df;color:#8b4700}
.guest-crm-card-meta span.complete{background:#eaf8ef;color:#17683f}
.guest-crm-card>i{font-size:1.4rem;color:#789097;font-style:normal}

.guest-directory-search{margin-bottom:12px}
.guest-directory-search input{
  width:100%;
  min-height:46px;
  padding:11px 14px;
  border:1px solid #cbdde1;
  border-radius:15px;
  font:inherit;
}
.guest-profile{display:grid;gap:16px}
.guest-profile-identity{
  display:grid;
  grid-template-columns:68px minmax(0,1fr);
  align-items:center;
  gap:14px;
}
.guest-profile-large-avatar{width:68px;height:68px;font-size:1.55rem}
.guest-profile-identity h3{margin:0;color:#17313b;font-size:1.3rem}
.guest-profile-identity p{margin:4px 0;color:#6b7e85;overflow-wrap:anywhere}
.guest-profile-badges{display:flex;gap:6px;flex-wrap:wrap}
.guest-profile-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.guest-profile-stats>div{
  min-width:0;
  padding:12px;
  border-radius:15px;
  background:#f4f7f8;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.guest-profile-stats small{color:#6b7e85;font-size:.62rem;font-weight:900;text-transform:uppercase}
.guest-profile-stats strong{color:#17313b;font-size:.96rem;overflow-wrap:anywhere}
.guest-profile-contact-actions{display:flex;gap:8px;flex-wrap:wrap}
.guest-profile-contact-actions a{
  min-height:39px;
  padding:8px 13px;
  border-radius:999px;
  background:#17313b;
  color:#fff;
  text-decoration:none;
  font-weight:900;
}
.guest-profile-section{border-top:1px solid #dce7ea;padding-top:14px}
.guest-profile-section h4{margin:0 0 10px;color:#17313b}
.guest-history-list{display:grid;gap:7px}
.guest-history-row{
  width:100%;
  padding:11px;
  border:1px solid #e0e9eb;
  border-radius:14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#17313b;
  text-align:left;
}
.guest-history-row span{display:flex;flex-direction:column;gap:3px}
.guest-history-row span:last-child{text-align:right}
.guest-history-row small{color:#6b7e85;font-size:.68rem}
.guest-profile-note{
  padding:11px;
  border-radius:14px;
  background:#fff8df;
  color:#5f4b17;
}
.guest-profile-note strong{font-size:.71rem}
.guest-profile-note p{margin:5px 0 0;white-space:pre-wrap}

body.cro-dark .guest-crm-dashboard,
body.cro-dark .guest-crm-card,
body.cro-dark .guest-history-row{
  background:#102936;
  border-color:#355361;
  color:#eef8fa;
}
body.cro-dark .guest-crm-head{border-bottom-color:#35515d}
body.cro-dark .guest-crm-head h2,
body.cro-dark .guest-crm-summary strong,
body.cro-dark .guest-profile-identity h3,
body.cro-dark .guest-profile-stats strong,
body.cro-dark .guest-profile-section h4{
  color:#eef8fa;
}
body.cro-dark .guest-crm-summary>div,
body.cro-dark .guest-profile-stats>div{
  background:#173440;
}
body.cro-dark .guest-crm-head p:last-child,
body.cro-dark .guest-crm-summary small,
body.cro-dark .guest-crm-card-copy>small,
body.cro-dark .guest-profile-identity p,
body.cro-dark .guest-profile-stats small,
body.cro-dark .guest-history-row small{
  color:#a9bec7;
}

@media(max-width:700px){
  .guest-crm-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .guest-crm-dashboard{width:calc(100% - 16px);padding:13px;border-radius:23px}
  .guest-crm-head h2{font-size:1.17rem}
  .guest-crm-open-button{padding:7px 11px;font-size:.74rem}
  .guest-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .guest-history-row{align-items:flex-start;flex-direction:column}
  .guest-history-row span:last-child{text-align:left}
}

/* =========================================================
   CRO OWNER APP — REVENUE & BOOKING ANALYTICS
   ========================================================= */
.analytics-center{
  width:min(calc(100% - 24px),1080px);
  margin:0 auto 22px;
  padding:18px;
  border:1px solid #d5e2e6;
  border-radius:27px;
  background:#fff;
  box-shadow:0 16px 40px rgba(6,35,50,.09);
}
.analytics-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding-bottom:14px;
  border-bottom:1px solid #dce7ea;
}
.analytics-head h2{margin:3px 0;color:#17313b;font-size:1.35rem}
.analytics-head p:last-child{margin:0;color:#6b7e85;font-weight:700}
.analytics-range-picker{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.analytics-range-picker button{
  min-height:35px;
  padding:7px 10px;
  border:1px solid #d5e2e6;
  border-radius:999px;
  background:#f5f9fa;
  color:#49626b;
  font-size:.69rem;
  font-weight:900;
  cursor:pointer;
}
.analytics-range-picker button.active{
  background:#17313b;
  border-color:#17313b;
  color:#fff;
}

.analytics-metric-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:14px 0;
}
.analytics-metric{
  min-width:0;
  min-height:92px;
  padding:11px;
  border:0;
  border-radius:17px;
  background:#f4f7f8;
  color:#17313b;
  display:flex;
  align-items:flex-start;
  gap:9px;
  text-align:left;
  cursor:pointer;
}
.analytics-metric>b{
  flex:0 0 39px;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:rgba(6,35,50,.07);
}
.analytics-metric>span{min-width:0;display:flex;flex-direction:column;gap:3px}
.analytics-metric small{font-size:.61rem;font-weight:950;text-transform:uppercase;letter-spacing:.045em;opacity:.72}
.analytics-metric strong{font-size:.97rem;line-height:1.15;overflow-wrap:anywhere}
.analytics-metric em{font-size:.63rem;line-height:1.15;font-style:normal;opacity:.72}
.analytics-metric.revenue{background:#eef0ff;color:#4b3b91}
.analytics-metric.warning{background:#fff1df;color:#8b4700}
.analytics-metric.complete{background:#eaf8ef;color:#17683f}

.analytics-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.analytics-card{
  min-width:0;
  padding:14px;
  border:1px solid #dfe9eb;
  border-radius:19px;
  background:#fff;
}
.analytics-card header{
  margin-bottom:12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.analytics-card header>div{display:flex;flex-direction:column;gap:3px}
.analytics-card header small{color:#1b7d87;font-size:.64rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em}
.analytics-card header strong{color:#17313b;font-size:.97rem}
.analytics-bars{display:grid;gap:10px}
.analytics-bar-row{
  width:100%;
  padding:0;
  border:0;
  background:transparent;
  text-align:left;
  color:#17313b;
}
.analytics-bar-label{
  margin-bottom:5px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.analytics-bar-label strong{font-size:.77rem}
.analytics-bar-label span{font-size:.69rem;color:#6b7e85;font-weight:800}
.analytics-bar-track{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#edf2f3;
}
.analytics-bar-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#1fb8bd,#64dbe0);
}
.analytics-guest-split{
  min-height:145px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-items:stretch;
}
.analytics-guest-split>div{
  padding:15px;
  border-radius:17px;
  background:#f4f7f8;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:7px;
}
.analytics-guest-split span{color:#6b7e85;font-size:.68rem;font-weight:900;text-transform:uppercase}
.analytics-guest-split strong{color:#17313b;font-size:1.8rem}
.analytics-booking-list{display:grid;gap:7px}
.analytics-booking-row{
  width:100%;
  padding:11px;
  border:1px solid #e0e9eb;
  border-radius:14px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  color:#17313b;
  text-align:left;
}
.analytics-booking-row span{display:flex;flex-direction:column;gap:3px}
.analytics-booking-row span:last-child{text-align:right}
.analytics-booking-row small{color:#6b7e85;font-size:.68rem}

body.cro-dark .analytics-center,
body.cro-dark .analytics-card,
body.cro-dark .analytics-booking-row{
  background:#102936;
  border-color:#355361;
  color:#eef8fa;
}
body.cro-dark .analytics-head{border-bottom-color:#35515d}
body.cro-dark .analytics-head h2,
body.cro-dark .analytics-card header strong,
body.cro-dark .analytics-bar-row,
body.cro-dark .analytics-guest-split strong{
  color:#eef8fa;
}
body.cro-dark .analytics-head p:last-child,
body.cro-dark .analytics-bar-label span,
body.cro-dark .analytics-guest-split span,
body.cro-dark .analytics-booking-row small{
  color:#a9bec7;
}
body.cro-dark .analytics-range-picker button,
body.cro-dark .analytics-metric,
body.cro-dark .analytics-guest-split>div{
  background:#173440;
  border-color:#35515d;
  color:#eef8fa;
}

@media(max-width:820px){
  .analytics-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .analytics-head{flex-direction:column}
  .analytics-range-picker{justify-content:flex-start}
  .analytics-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .analytics-center{width:calc(100% - 16px);padding:13px;border-radius:23px}
  .analytics-head h2{font-size:1.18rem}
  .analytics-metric-grid{gap:7px}
  .analytics-metric{min-height:84px;padding:9px}
  .analytics-metric strong{font-size:.84rem}
  .analytics-booking-row{align-items:flex-start;flex-direction:column}
  .analytics-booking-row span:last-child{text-align:left}
}
@media(max-width:360px){
  .analytics-metric-grid{grid-template-columns:1fr}
}

.availability-center{width:min(calc(100% - 24px),1080px);margin:0 auto 22px;padding:18px;border:1px solid #d5e2e6;border-radius:27px;background:#fff;box-shadow:0 16px 40px rgba(6,35,50,.09)}.availability-head{display:flex;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:1px solid #dce7ea}.availability-head h2{margin:3px 0;color:#17313b;font-size:1.35rem}.availability-head p:last-child{margin:0;color:#6b7e85;font-weight:700}.availability-head-actions,.availability-toolbar{display:flex;gap:7px;flex-wrap:wrap}.availability-head-actions button,.availability-toolbar button{min-height:38px;padding:8px 12px;border:1px solid #d3e1e4;border-radius:999px;background:#f5f9fa;color:#31515c;font-weight:900}.availability-head-actions .primary{background:#17313b;color:#fff}.availability-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 0}.availability-summary>div{padding:11px;border-radius:16px;background:#f4f7f8;display:flex;flex-direction:column;gap:4px}.availability-summary small{font-size:.61rem;font-weight:900;text-transform:uppercase;color:#6b7e85}.availability-summary strong{color:#17313b}.availability-list{display:grid;gap:8px;margin-top:12px}.availability-rule{border:1px solid #dfe8ea;border-radius:17px;overflow:hidden}.availability-rule>button{width:100%;padding:11px;border:0;background:transparent;color:#17313b;display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;text-align:left}.availability-rule>button>b{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#f1f5f6}.availability-rule>button>span{display:flex;flex-direction:column;gap:3px}.availability-rule small{font-size:.63rem;font-weight:950;text-transform:uppercase;color:#1b7d87}.availability-rule em,.availability-rule i{font-size:.69rem;font-style:normal;color:#6b7e85}.availability-rule i{color:#a33a3a;font-weight:800}.availability-rule>div{display:flex;gap:6px;padding:0 11px 11px 65px}.availability-rule>div button{min-height:33px;padding:6px 10px;border:1px solid #d5e2e6;border-radius:999px;background:#f6f9fa;color:#31515c;font-weight:900}.availability-conflict{padding:11px;border-radius:14px;background:#eaf8ef;color:#17683f}.availability-conflict.has-conflict{background:#fde8e8;color:#9a2929}.av-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.av-tiers h4{grid-column:1/-1}.availability-preview{display:grid;gap:9px}.availability-preview>div{padding:11px;border:1px solid #dfe8ea;border-radius:14px;display:flex;justify-content:space-between;gap:12px}.availability-preview span{display:flex;flex-direction:column;gap:3px}.availability-preview span:last-child{text-align:right}.availability-preview small{color:#6b7e85;font-size:.68rem}@media(max-width:650px){.availability-head{flex-direction:column}.availability-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.availability-center{width:calc(100% - 16px);padding:13px;border-radius:23px}.av-tiers{grid-template-columns:1fr}.availability-preview>div{flex-direction:column}.availability-preview span:last-child{text-align:left}}

.availability-center{position:relative;z-index:1;margin-bottom:110px}
.instant-book-owner-card{padding:16px;border:2px solid #27aeb7;border-radius:18px;background:#eefbfb}
.instant-book-owner-toggle{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
.instant-book-owner-toggle span{display:flex;flex-direction:column;gap:4px}.instant-book-owner-toggle strong{font-size:1.12rem;color:#123b47}.instant-book-owner-toggle small{color:#58727a;line-height:1.35}
.instant-book-owner-toggle input{width:54px!important;height:30px!important;accent-color:#139da7;flex:0 0 auto}
.instant-book-owner-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.cro-instant-book-home{width:100%;margin:0 0 16px;padding:14px 15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;border:2px solid #cedfe3;border-radius:22px;background:#fff;color:#17313b;text-align:left;box-shadow:0 10px 26px rgba(6,35,50,.08)}
.cro-instant-book-home-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#edf4f5;font-size:24px}
.cro-instant-book-home-copy{display:flex;flex-direction:column;gap:2px}.cro-instant-book-home-copy small{color:#16818a;font-size:.66rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.cro-instant-book-home-copy strong{font-size:1.04rem}.cro-instant-book-home-copy em{color:#6a7e85;font-size:.7rem;font-style:normal;font-weight:700}
.cro-instant-book-home>b{min-width:54px;padding:9px 11px;border-radius:999px;background:#e5ebed;color:#63757b;text-align:center;font-size:.78rem;font-weight:950}
.cro-instant-book-home.is-on{border-color:#28b67a;background:linear-gradient(135deg,#effbf5,#fff)}.cro-instant-book-home.is-on .cro-instant-book-home-icon{background:#d8f5e5}.cro-instant-book-home.is-on>b{background:#28b67a;color:#fff}
.cro-instant-book-home.is-saving{opacity:.65;pointer-events:none}
.cro-instant-book-home.tray-open{margin-bottom:7px;border-radius:22px 22px 12px 12px;box-shadow:0 5px 15px rgba(6,35,50,.07)}
.cro-instant-book-home-options{margin:-7px 0 17px;padding:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border:1px solid #cfe1e4;border-top:0;border-radius:0 0 19px 19px;background:#f7fbfc;box-shadow:0 9px 22px rgba(6,35,50,.06)}
.cro-instant-book-home-options[hidden]{display:none!important}
.cro-instant-book-power{grid-column:1/-1;min-height:52px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #c9dde0;border-radius:14px;background:#fff;color:#17313b;text-align:left}.cro-instant-book-power span{display:flex;flex-direction:column;gap:2px}.cro-instant-book-power small{color:#6a7e85;font-size:.67rem}.cro-instant-book-power b{min-width:52px;padding:8px 10px;border-radius:999px;background:#e5ebed;color:#63757b;text-align:center}.cro-instant-book-power.is-on b{background:#28b67a;color:#fff}
.cro-instant-book-home-options label{display:flex;flex-direction:column;gap:5px;color:#4e6871;font-size:.68rem;font-weight:900}.cro-instant-book-home-options select{width:100%;min-height:43px;padding:8px 9px;border:1px solid #b9d0d5;border-radius:12px;background:#fff;color:#17313b;font:inherit;font-size:.76rem;font-weight:900}
.cro-instant-book-home-options>button{grid-column:1/-1;min-height:45px;border:0;border-radius:14px;background:#0b8f98;color:#fff;font-weight:950}.cro-instant-book-home-options>button:disabled{opacity:.6}
body.cro-dark .cro-instant-book-home-options{background:#102b37;border-color:#365764}body.cro-dark .cro-instant-book-home-options label{color:#c4d6dc}body.cro-dark .cro-instant-book-home-options select{background:#173d4b;border-color:#4b6e7a;color:#fff}body.cro-dark .cro-instant-book-power{background:#173d4b;border-color:#4b6e7a;color:#fff}body.cro-dark .cro-instant-book-power small{color:#b9ccd2}
@media(max-width:560px){.cro-instant-book-home-options{grid-template-columns:1fr}.cro-instant-book-home-options>button{grid-column:1}}
body.cro-dark .cro-instant-book-home{background:#12313d;border-color:#365764;color:#fff}body.cro-dark .cro-instant-book-home-icon{background:#1b4452}body.cro-dark .cro-instant-book-home-copy em{color:#b9ccd2}
body.cro-dark .instant-book-owner-card{background:#123945;border-color:#39c7cf}body.cro-dark .instant-book-owner-toggle strong{color:#fff}body.cro-dark .instant-book-owner-toggle small{color:#bdd2d8}
@media(max-width:560px){.instant-book-owner-rules{grid-template-columns:1fr}.instant-book-owner-toggle{align-items:flex-start!important}}
@media(max-width:560px){.availability-center{margin-bottom:120px}}

.availability-center select,.form-grid select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #476875;border-radius:12px;background:#0d2d3a;color:#fff;font:inherit}

/* Keep Availability & Pricing inside the Calendar tab on mobile. */
@media(max-width:900px){
  .cro-mobile-screen:not(.active) .availability-center{display:none!important}
  #croScreenCalendar .availability-center{display:block;width:100%;margin:16px 0 120px}
  body.cro-dark #croScreenCalendar .availability-center{background:#102b38;border-color:#365765;color:#eef9fb}
  body.cro-dark #croScreenCalendar .availability-head{border-color:#365765}
  body.cro-dark #croScreenCalendar .availability-head h2,
  body.cro-dark #croScreenCalendar .availability-summary strong,
  body.cro-dark #croScreenCalendar .availability-rule>button{color:#eef9fb}
  body.cro-dark #croScreenCalendar .availability-head p:last-child,
  body.cro-dark #croScreenCalendar .availability-summary small,
  body.cro-dark #croScreenCalendar .availability-rule em{color:#b8ccd3}
  body.cro-dark #croScreenCalendar .availability-summary>div,
  body.cro-dark #croScreenCalendar .availability-rule>button>b{background:#173d4b}
}

/* V13.1 — uniform external-booking actions */
.detail-contact-buttons .uniform-action,
.detail-contact-buttons .uniform-action.primary,
.detail-contact-buttons .uniform-action.neutral,
.detail-contact-buttons .uniform-action.message-action,
.detail-contact-buttons .uniform-action.cancel-action{
  min-height:76px;
  background:#173b49 !important;
  border:1px solid #315b69 !important;
  color:#f4fbfc !important;
  box-shadow:0 8px 18px rgba(6,35,50,.12);
}
.detail-contact-buttons .uniform-action:hover,
.detail-contact-buttons .uniform-action:focus-visible{
  background:#1d4a5b !important;
  border-color:#4b7b89 !important;
}
.detail-contact-buttons .uniform-action .action-icon{
  margin:0;
  background:#285565 !important;
  border:1px solid #497789;
  color:#fff !important;
  box-shadow:none;
}
.detail-contact-buttons .uniform-action .action-copy strong,
.detail-contact-buttons .uniform-action .action-copy small{
  color:#f4fbfc !important;
}
.detail-contact-buttons .uniform-action .action-copy small{opacity:.78}
body.cro-dark .detail-contact-buttons .uniform-action,
body.cro-dark .detail-contact-buttons .uniform-action.primary,
body.cro-dark .detail-contact-buttons .uniform-action.neutral,
body.cro-dark .detail-contact-buttons .uniform-action.message-action,
body.cro-dark .detail-contact-buttons .uniform-action.cancel-action{
  background:#173b49 !important;
  border-color:#3a6574 !important;
}

/* V13.2 — dark reservation hub cards and a true cancelled state */
.reservation-status-card,
.reservation-status-card.complete,
.reservation-status-card.attention,
.reservation-status-card.active{
  background:#173b49 !important;
  border:1px solid #315b69 !important;
  color:#f4fbfc !important;
  box-shadow:0 8px 18px rgba(6,35,50,.12);
}
.reservation-status-card>b{
  background:#285565 !important;
  border:1px solid #497789;
  color:#fff !important;
}
.reservation-hub.is-cancelled{
  border-color:#b9c1c5;
  background:#f0f2f3;
}
.reservation-hub.is-cancelled .reservation-live-timer.cancelled{
  background:#d7dcdf;
  color:#59666c;
}
.reservation-hub.is-cancelled .reservation-status-card,
.reservation-hub.is-cancelled .reservation-status-card.complete,
.reservation-hub.is-cancelled .reservation-status-card.attention,
.reservation-hub.is-cancelled .reservation-status-card.active{
  background:#dfe3e5 !important;
  border-color:#c5cccf !important;
  color:#68747a !important;
  box-shadow:none;
  cursor:not-allowed;
  opacity:.82;
}
.reservation-hub.is-cancelled .reservation-status-card>b{
  background:#cbd1d4 !important;
  border-color:#b8c0c4;
  color:#68747a !important;
}
.reservation-operations.cancelled{
  background:#66747a;
  color:#fff;
}
.command-center-status.cancelled{
  background:#e4e7e9;
  color:#5b676c;
}

/* V13.6 — immediate new-booking Home alert */
#newBookingHomeAlert,
.cro-new-booking-home-alert{
  width:min(calc(100% - 24px),1080px);
  margin:14px auto;
}
.cro-new-booking-home-alert{width:100%;margin:12px 0}
.new-booking-home-alert{
  width:100%;
  padding:16px;
  border:2px solid #24aeb7;
  border-radius:20px;
  background:linear-gradient(145deg,#073747,#0d6670);
  color:#fff;
  display:flex;
  align-items:center;
  gap:13px;
  text-align:left;
  box-shadow:0 14px 32px rgba(6,35,50,.20);
}
.new-booking-alert-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  border-radius:15px;
  display:grid;
  place-items:center;
  background:#35ced4;
  color:#06303c;
  font-size:1.5rem;
  font-weight:950;
}
.new-booking-alert-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.new-booking-alert-copy small{text-transform:uppercase;letter-spacing:.07em;color:#9debf0;font-weight:900}
.new-booking-alert-copy strong{font-size:1.16rem}
.new-booking-alert-copy span{color:#d9f3f5;font-size:.82rem}
.new-booking-alert-copy b{margin-top:4px;color:#fff;font-size:.78rem}

/* V13.7 — simplified Owner App booking flow */
.simple-booking-overview{
  width:min(calc(100% - 22px),780px);
  margin:12px auto 18px;
  padding:15px;
  border:1px solid #315b69;
  border-radius:22px;
  background:#0d3342;
  color:#fff;
  box-shadow:0 14px 34px rgba(6,35,50,.16);
}
.simple-booking-overview>header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.simple-booking-overview>header>div{display:flex;flex-direction:column;gap:4px}
.simple-booking-overview>header small{text-transform:uppercase;letter-spacing:.07em;color:#9bdfe4;font-weight:900}
.simple-booking-overview>header strong{font-size:1.02rem}
.simple-booking-overview>header>span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem;font-weight:900}
.simple-booking-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:13px}
.simple-booking-facts>div{min-width:0;padding:10px 7px;border-radius:13px;background:rgba(255,255,255,.09);display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.simple-booking-facts small{color:#a9dce1;font-size:.62rem;font-weight:900;text-transform:uppercase}
.simple-booking-facts strong{font-size:.86rem;overflow-wrap:anywhere}
.simple-booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.simple-booking-actions button{min-height:58px;padding:9px;border:1px solid #42707d;border-radius:14px;background:#174858;color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900}
.simple-booking-actions button>b{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#2b6170}
.simple-booking-actions button.cancel{background:#5b3034;border-color:#825158}
.simple-booking-actions button.cancel>b{background:#7a444b}
.simple-booking-actions button.amenities{grid-column:1/-1;background:linear-gradient(135deg,#0d9e9e,#26c4c8);border-color:#31cbd0;color:#fff;min-height:64px;font-size:16px}
.simple-booking-actions button.amenities>b{background:rgba(255,255,255,.2);font-size:21px}
.owner-amenity-tray{display:grid;gap:9px;margin:10px 0 14px}
.owner-amenity-option{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px;border:2px solid #cadde1;border-radius:16px;background:#fff;cursor:pointer}
.owner-amenity-option.selected{border-color:#18aeb4;background:#eafafa;box-shadow:0 0 0 3px rgba(24,174,180,.1)}
.owner-amenity-option.included-in-package{opacity:.58;background:#f2f5f5}
.owner-amenity-option.included-in-package .owner-amenity-copy strong:after{content:" · Included in Birthday Package";color:#16866f;font-size:11px}
.owner-amenity-option>input{position:absolute;opacity:0;pointer-events:none}
.owner-amenity-checkmark{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#edf3f4;color:transparent;font-weight:1000;font-size:19px}
.owner-amenity-option.selected .owner-amenity-checkmark{background:#16b3b8;color:#fff}
.owner-amenity-copy{min-width:0}
.owner-amenity-copy strong,.owner-amenity-copy small{display:block}
.owner-amenity-copy strong{font-size:15px;color:#12333e}
.owner-amenity-copy small{margin-top:3px;color:#637b83;line-height:1.3}
.owner-amenity-option>b{color:#087e86;white-space:nowrap;font-size:14px}
.owner-amenity-quantity{grid-column:2/-1;min-height:42px;border:1px solid #a9c8ce;border-radius:10px;background:#fff;padding:6px 10px;font-weight:800}
@media(max-width:520px){.owner-amenity-option{grid-template-columns:34px minmax(0,1fr)}.owner-amenity-option>b{grid-column:2}.owner-amenity-quantity{grid-column:2}}

/* V13.51 — full-screen booking command center */
.booking-command-tabs{position:sticky;top:-1px;z-index:16;display:flex;gap:8px;width:100%;overflow-x:auto;padding:10px 4px 12px;margin:0 auto 8px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);scrollbar-width:none;-webkit-overflow-scrolling:touch}
.booking-command-tabs::-webkit-scrollbar{display:none}
.booking-command-tabs button{flex:0 0 auto;min-width:112px;min-height:58px;padding:8px 14px;border:2px solid #d2e2e5;border-radius:999px;background:#f6fafb;color:#24434d;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:900;box-shadow:0 5px 14px rgba(7,47,60,.06)}
.booking-command-tabs button b{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;background:#e4f2f4;color:#078d96;font-size:15px}
.booking-command-tabs button.active{border-color:#16adb5;background:linear-gradient(135deg,#0e9fa7,#28c3ca);color:#fff;box-shadow:0 9px 22px rgba(13,157,166,.24)}
.booking-command-tabs button.active b{background:rgba(255,255,255,.2);color:#fff}
.booking-command-panel{width:100%;padding:2px 0 26px}
.booking-command-panel[hidden]{display:none!important}
.booking-command-panel>.section-card,.booking-command-panel>.next-step-card,.booking-command-panel>.simple-booking-overview{width:100%;margin-left:0!important;margin-right:0!important}
.booking-command-panel>.detail-accordion>summary{border-radius:18px}
.booking-tab-primary-action{width:100%;min-height:72px;margin:4px 0 12px;padding:13px 16px;border:0;border-radius:20px;background:linear-gradient(135deg,#0e9fa7,#2bc6cc);color:#fff;display:flex;align-items:center;justify-content:center;gap:12px;text-align:left;box-shadow:0 12px 26px rgba(13,157,166,.22)}
.booking-tab-primary-action>b{width:40px;height:40px;border-radius:13px;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:25px}
.booking-tab-primary-action span,.booking-tab-primary-action strong,.booking-tab-primary-action small{display:block}
.booking-tab-primary-action strong{font-size:17px}
.booking-tab-primary-action small{margin-top:3px;color:#e5feff;font-size:12px}
.booking-message-command-card{padding:18px;border:1px solid #c9dfe3;border-radius:24px;background:linear-gradient(145deg,#f7ffff,#eafafb);box-shadow:0 14px 32px rgba(7,47,60,.10)}
.booking-message-command-card>small{color:#078c95;font-weight:950;letter-spacing:.08em}
.booking-message-command-card h3{margin:6px 0;font-size:25px}
.booking-message-command-card>p{margin:0 0 14px;color:#5d747c;line-height:1.45}
.booking-message-command-card>button{width:100%;min-height:70px;margin-top:9px;padding:12px 14px;border:1px solid #c5dce0;border-radius:18px;background:#fff;color:#173b46;display:flex;align-items:center;gap:12px;text-align:left}
.booking-message-command-card>button>b{flex:0 0 42px;width:42px;height:42px;border-radius:14px;background:#e5f7f8;color:#078c95;display:grid;place-items:center;font-size:20px}
.booking-message-command-card>button span,.booking-message-command-card>button strong,.booking-message-command-card>button small{display:block}
.booking-message-command-card>button strong{font-size:16px}
.booking-message-command-card>button small{margin-top:3px;color:#667d84}
@media(max-width:820px){
  #detailsModal{padding:0!important;align-items:stretch!important;background:#fff!important}
  #detailsModal>.modal-card{width:100%!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;padding:calc(18px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom))!important}
  #detailsModal .simplified-detail-head{padding-right:54px}
  #detailsModal>.modal-card>.close{top:calc(12px + env(safe-area-inset-top));right:12px}
  .booking-command-tabs{margin-left:-2px;margin-right:-2px}
  .booking-command-tabs button{min-width:105px;min-height:54px;padding:7px 12px}
  .booking-command-panel .simple-booking-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
body.cro-dark .booking-command-tabs{background:rgba(7,25,35,.96)}
body.cro-dark .booking-command-tabs button{background:#153440;border-color:#365d68;color:#eaf8fa}
body.cro-dark .booking-command-tabs button.active{background:linear-gradient(135deg,#0e9fa7,#28c3ca);border-color:#35d0d5}
body.cro-dark .booking-message-command-card{background:#102d39;border-color:#365d68;color:#eef9fa}
body.cro-dark .booking-message-command-card>button{background:#173b47;border-color:#3a626d;color:#fff}
.simple-booking-overview.closed{background:#536168;border-color:#758187}
.next-step-card{width:min(calc(100% - 22px),780px);margin:14px auto!important;border:2px solid #20aeb7!important;box-shadow:0 16px 36px rgba(6,35,50,.13)!important}
.next-step-card .next-step-actions{display:grid;grid-template-columns:1fr;gap:8px}
.next-step-card .next-step-actions .action{width:100%;min-height:52px}
.next-step-card .quick-manual-next{background:#fff!important;color:#17313b!important;border:2px solid #a9c4cb!important}

/* V13.16 — simple daily Owner mode */
.cro-attention-card{border:2px solid #18aeb6!important;background:linear-gradient(145deg,#f5ffff,#eafafb)!important}
.cro-attention-card .cro-card-title>div>span{color:#087d87!important}
.cro-attention-card .cro-primary-button{font-weight:950}
.cro-attention-card{touch-action:pan-y;overflow:hidden}
.cro-attention-card.is-touching{transform:scale(.992)}
.cro-attention-card.slide-left{animation:croAttentionLeft .28s ease-out}
.cro-attention-card.slide-right{animation:croAttentionRight .28s ease-out}
@keyframes croAttentionLeft{0%{opacity:.45;transform:translateX(22px)}100%{opacity:1;transform:none}}
@keyframes croAttentionRight{0%{opacity:.45;transform:translateX(-22px)}100%{opacity:1;transform:none}}
.cro-attention-carousel{margin-top:12px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px}
.cro-attention-carousel[hidden]{display:none!important}
.cro-attention-arrow{width:52px;height:48px;padding:0;border:1px solid #b8dce0;border-radius:17px;background:#fff;color:#087d87;font-size:2rem;line-height:1;box-shadow:0 5px 14px rgba(7,75,84,.08)}
.cro-attention-position{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:#4e666e;font-size:.77rem;font-weight:900}
.cro-attention-dots{max-width:100%;display:flex;justify-content:center;gap:5px;overflow:hidden}
.cro-attention-dots button{width:7px;height:7px;min-width:7px;padding:0;border:0;border-radius:999px;background:#b8d7da}
.cro-attention-dots button.active{width:22px;background:#11aab4}
body.cro-dark .cro-attention-arrow{background:#173b46;border-color:#3e6974;color:#8ce4e8}
body.cro-dark .cro-attention-position{color:#b9d0d5}
body.cro-simple-owner #croScreenHome .cro-stat-grid,
body.cro-simple-owner #croScreenHome .cro-weather-card,
body.cro-simple-owner #croScreenHome .cro-home-calendar-card{display:none!important}
body.cro-simple-owner #croScreenHome.active{display:flex!important;flex-direction:column;gap:14px}
body.cro-simple-owner #croScreenHome .cro-my-day-heading{order:0;margin-bottom:0}
body.cro-simple-owner #croScreenHome .cro-my-day-heading small{display:block;margin-top:4px;color:#71858c;font-weight:700}
body.cro-simple-owner #croScreenHome .cro-add-booking{order:3}
body.cro-simple-owner #croScreenHome .cro-next-booking-card{order:1}
body.cro-simple-owner #croScreenHome .cro-attention-card{order:2}

/* V13.26 — one uniform booking card and one obvious next action. */
.cro-booking-card .cro-card-next-label{margin:12px 0 6px;color:#087f88;font-size:.67rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.cro-booking-card .cro-open-booking{margin-top:0!important}
.cro-booking-card.is-cancelled{background:#f0f2f3!important;border-color:#cbd3d6!important;filter:grayscale(.35)}
.cro-booking-card.is-cancelled h3,.cro-booking-card.is-cancelled p{color:#68777d!important}
.cro-status-pill.cancelled{background:#e1e5e7;color:#59676d}
body.cro-dark .cro-booking-card .cro-card-next-label{color:#83dce1}
body.cro-dark .cro-booking-card.is-cancelled{background:#27353b!important;border-color:#53646b!important}
body.cro-dark .cro-status-pill.cancelled{background:#3c4a50;color:#d1dade}

/* V13.33 — simple Payments tab. */
#croScreenPayments .cro-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#croScreenPayments .cro-payment-section{margin-top:14px}
#croScreenPayments .cro-payment-section .cro-card-title{margin-bottom:12px}
@media(max-width:560px){
  #croScreenPayments .cro-payment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  #croScreenPayments .cro-payment-grid article{padding:11px 8px}
  #croScreenPayments .cro-payment-grid strong{font-size:1rem}
}

/* V13.34 — simple Calendar tab. */
.cro-calendar-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.cro-calendar-quick-actions button{min-height:52px;margin:0;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:950}
.cro-calendar-settings{margin:14px 0 120px;border:1px solid #d6e4e7;border-radius:20px;background:#fff;overflow:hidden}
.cro-calendar-settings>summary{min-height:74px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}
.cro-calendar-settings>summary::-webkit-details-marker{display:none}
.cro-calendar-settings>summary span{display:flex;flex-direction:column;gap:3px}
.cro-calendar-settings>summary small{color:#078d96;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.cro-calendar-settings>summary strong{color:#17313b;font-size:1.05rem}
.cro-calendar-settings>summary b{padding:7px 11px;border-radius:999px;background:#eaf8f8;color:#087d87;font-size:.72rem}
.cro-calendar-settings .availability-center{width:100%!important;margin:0!important;border:0!important;border-top:1px solid #d6e4e7!important;border-radius:0!important;box-shadow:none!important}
body.cro-dark .cro-calendar-settings{background:#102b38;border-color:#365765}
body.cro-dark .cro-calendar-settings>summary strong{color:#eef9fb}
@media(max-width:560px){.cro-calendar-quick-actions{grid-template-columns:1fr}}
@media(max-width:560px){
  .simple-booking-overview{width:calc(100% - 16px);padding:12px;border-radius:19px}
  .simple-booking-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .simple-booking-overview>header{flex-direction:column}
  .next-step-card{width:calc(100% - 16px)}
}

/* V13.56 live booking, payment review, and verification center */
.pending-payment-review{margin:0 0 1rem;padding:1rem;border:2px solid #e7ad39;border-radius:22px;background:#fff8e9;display:grid;gap:.75rem}
.pending-payment-review header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pending-payment-review header small{display:block;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#9a6500}.pending-payment-review header strong{display:block;font-size:1.2rem}.pending-payment-review header>span{padding:.5rem .8rem;border-radius:999px;background:#fff0c7;color:#7b5100;font-weight:900;white-space:nowrap}.pending-payment-review>p{margin:0;color:#5f6670}.pending-payment-list{display:grid;gap:.65rem}.pending-payment-list article{padding:.85rem;background:#fff;border:1px solid #efcf8a;border-radius:16px;display:flex;justify-content:space-between;gap:1rem;align-items:center}.pending-payment-list article span{display:block;margin-top:.25rem;color:#69757c}.pending-payment-actions{display:flex;gap:.5rem}.pending-payment-actions button{border:0;border-radius:999px;padding:.7rem .9rem;background:#218653;color:#fff;font-weight:900}.pending-payment-actions button.decline{background:#fff0f0;color:#a23333;border:1px solid #e8b4b4}
.verification-command-card{padding:1rem;border:1px solid #cae2e6;border-radius:22px;background:linear-gradient(145deg,#f7fcfd,#eef8f9);display:grid;gap:1rem;margin-bottom:1rem}.verification-command-card header h3,.verification-command-card header p{margin:.2rem 0}.verification-command-card header small{font-weight:900;letter-spacing:.09em;color:#12828d}.verification-status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.verification-status-grid>div{display:flex;gap:.65rem;align-items:center;padding:.8rem;border-radius:16px;background:#fff;border:1px solid #d7e5e8}.verification-status-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9f7ef;color:#198552}.verification-status-grid .missing b{background:#fff1df;color:#b16b00}.verification-status-grid small,.verification-status-grid strong{display:block}.agreement-record>div{padding:1rem;background:#fff;border:1px solid #d7e5e8;border-radius:0 0 16px 16px}.agreement-record ul{margin:.5rem 0;padding-left:1.2rem}.agreement-record li{margin:.4rem 0}
@media(max-width:700px){.pending-payment-review header,.pending-payment-list article{align-items:flex-start;flex-direction:column}.pending-payment-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.verification-status-grid{grid-template-columns:1fr}.booking-command-tabs{grid-template-columns:repeat(4,minmax(76px,1fr))}}

/* V13.58 — mistake-safe payment ledger */
.owner-payment-ledger{margin:1rem 0;padding:1rem;border:1px solid #cfe0e4;border-radius:20px;background:#f7fbfc;display:grid;gap:.7rem}
.owner-payment-ledger-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.owner-payment-ledger-heading small,.owner-payment-ledger-heading strong{display:block}.owner-payment-ledger-heading small{color:#0c8d96;font-weight:950;letter-spacing:.08em}.owner-payment-ledger-heading strong{font-size:1.08rem}.owner-payment-ledger-heading p{max-width:330px;margin:0;color:#66747b;font-size:.88rem}
.owner-payment-entry{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;background:#fff;border:1px solid #d7e5e8;border-radius:16px}.owner-payment-entry strong,.owner-payment-entry span,.owner-payment-entry small{display:block}.owner-payment-entry span{margin:.18rem 0;color:#3b5159}.owner-payment-entry small{color:#718087}.owner-payment-entry button{border:1px solid #d7a6a6;border-radius:999px;background:#fff2f2;color:#9f3030;padding:.65rem .8rem;font-weight:900}.payment-ledger-empty{margin:1rem 0;padding:.9rem;border-radius:15px;background:#f1f6f7;color:#607179}
body.cro-dark .owner-payment-ledger{background:#102b38;border-color:#365765}body.cro-dark .owner-payment-entry{background:#173946;border-color:#41616d}
@media(max-width:650px){.owner-payment-ledger-heading,.owner-payment-entry{flex-direction:column;align-items:stretch}.owner-payment-entry button{width:100%}}

/* V13.59 — live reservation command card */
.cro-current-hosting-card{margin:14px 0;padding:20px;border:1px solid #b8dfea;border-radius:26px;background:linear-gradient(145deg,#fff,#eefbfe);box-shadow:0 10px 26px rgba(13,70,85,.09)}
.cro-current-hosting-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cro-current-hosting-card header span{padding:8px 12px;border-radius:10px;background:#12a8c8;color:#fff;font-weight:950;letter-spacing:.04em}.cro-current-hosting-card header b{padding:7px 11px;border-radius:999px;background:#e4f8eb;color:#19834e}.cro-current-hosting-card h3{margin:16px 0 5px;color:#17313b;font-size:1.45rem}.cro-current-hosting-card p{margin:0 0 17px;color:#64747b}.cro-current-hosting-card>div{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d8e7ea;margin:0 -20px -20px}.cro-current-hosting-card button{min-height:56px;border:0;border-right:1px solid #d8e7ea;background:#fff;color:#17313b;font-weight:900}.cro-current-hosting-card button:last-child{border-right:0}
body.cro-dark .cro-current-hosting-card{background:linear-gradient(145deg,#123747,#0d2937);border-color:#3e6876}body.cro-dark .cro-current-hosting-card h3,body.cro-dark .cro-current-hosting-card button{color:#eef9fb}body.cro-dark .cro-current-hosting-card button{background:#153846;border-color:#41616d}

/* V13.60 — live clock and owner message center */
.cro-current-hosting-card>.cro-live-time-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0;border:0}.cro-live-time-row section{padding:12px 14px;border:1px solid #cbe4e8;border-radius:17px;background:rgba(255,255,255,.82)}.cro-live-time-row small,.cro-live-time-row strong{display:block}.cro-live-time-row small{color:#25818a;font-size:.7rem;font-weight:950;letter-spacing:.08em}.cro-live-time-row strong{margin-top:4px;color:#17313b;font-size:1.08rem;font-variant-numeric:tabular-nums}.cro-current-hosting-card>.cro-live-actions{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d8e7ea;margin:0 -20px -20px}
body.cro-dark .cro-live-time-row section{background:#173946;border-color:#41616d}body.cro-dark .cro-live-time-row strong{color:#eef9fb}
.cro-message-list{display:grid;gap:10px;margin:16px 0 90px}.cro-message-thread{border:1px solid #d6e5e8;border-radius:22px;background:#fff;box-shadow:0 7px 18px rgba(21,61,72,.06);overflow:hidden}.cro-message-thread>button{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:15px;border:0;background:transparent;text-align:left;color:#17313b}.cro-message-avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#0fa6ae,#27c6d0);color:#fff;font-size:1.2rem;font-weight:950}.cro-message-copy{min-width:0;display:block}.cro-message-copy>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.cro-message-copy strong{font-size:1.05rem}.cro-message-copy time{color:#75838a;font-size:.76rem;white-space:nowrap}.cro-message-copy b,.cro-message-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cro-message-copy b{margin:5px 0 3px;color:#40545c;font-size:.9rem}.cro-message-copy small{color:#7a898f}.cro-message-chevron{color:#119aa5;font-size:1.55rem}.cro-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}.cro-bottom-nav button{min-width:0;font-size:.68rem!important}
body.cro-dark .cro-message-thread{background:#12303d;border-color:#365765}body.cro-dark .cro-message-thread>button,body.cro-dark .cro-message-copy b{color:#eef9fb}
@media(max-width:390px){.cro-current-hosting-card>.cro-live-time-row{grid-template-columns:1fr}.cro-bottom-nav button{font-size:.61rem!important}}
/* V13.61 — Guest List */
.cro-guest-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.cro-guest-summary article{background:#fff;border:1px solid #d7e5e8;border-radius:20px;padding:16px;box-shadow:0 7px 18px rgba(8,54,67,.06)}
.cro-guest-summary span{display:block;color:#71858c;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.cro-guest-summary strong{display:block;margin-top:5px;color:#073646;font-size:1.7rem}
.cro-guest-import-card p{color:#5f747b;line-height:1.45;margin:0 0 13px}
.cro-guest-import-card>small{display:block;margin-top:10px;color:#71858c;font-weight:700}
.cro-guest-filters{display:flex;gap:7px;overflow:auto;margin:12px 0}
.cro-guest-filters button{white-space:nowrap;border:1px solid #cfdee2;background:#fff;color:#50676f;border-radius:999px;padding:9px 12px;font-weight:850}
.cro-guest-filters button.active{background:#0ea7ad;color:#fff;border-color:#0ea7ad}
.cro-guest-list{display:grid;gap:10px}
.cro-guest-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;border:1px solid #d9e5e8;border-radius:18px;padding:14px;background:#fff}
.cro-guest-row>div strong,.cro-guest-row>div small,.cro-guest-row>div em{display:block}
.cro-guest-row>div strong{color:#0a3442;font-size:1.05rem}
.cro-guest-row>div small{color:#61767d;margin-top:4px;overflow-wrap:anywhere}
.cro-guest-row>div em{color:#14848a;font-size:.74rem;font-style:normal;font-weight:800;margin-top:5px}
.cro-guest-row label{font-size:.68rem;color:#667b82;font-weight:900;text-transform:uppercase}
.cro-guest-row select{display:block;max-width:135px;margin-top:4px;border:1px solid #cddde1;border-radius:10px;background:#f7fbfb;padding:7px;color:#153b47;font-weight:750}
.cro-guest-row>button{grid-column:2;border:0;background:transparent;color:#a33b3b;font-weight:800;padding:2px 5px;text-align:right}
body.cro-dark .cro-guest-summary article,body.cro-dark .cro-guest-row{background:#103a47;border-color:#315765}
body.cro-dark .cro-guest-summary strong,body.cro-dark .cro-guest-row>div strong{color:#fff}
/* V13.62 — live reservation conversations and Promotion Center */
.cro-message-thread.unread{border-color:#19aeba;background:#edfbfc}.cro-unread-count{min-width:28px;height:28px;border-radius:999px;background:#13aeb8;color:#fff;display:grid;place-items:center;font-style:normal;font-weight:900}.cro-conversation-panel{position:fixed;inset:0;z-index:10040;background:#f7fafb;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.cro-conversation-panel[hidden]{display:none}.cro-conversation-head{display:grid;grid-template-columns:44px 46px 1fr auto;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-bottom:1px solid #d7e3e7}.cro-conversation-head button{border:0;background:#eef7f8;border-radius:999px;min-height:42px;font-weight:900;color:#083846}.cro-conversation-head>button:last-child{padding:0 17px}.cro-conversation-head div{min-width:0}.cro-conversation-head strong,.cro-conversation-head small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cro-conversation-head strong{font-size:20px}.cro-conversation-head small{color:#6c7f87}.cro-conversation-messages{flex:1;overflow:auto;padding:24px 16px 120px;display:flex;flex-direction:column;gap:12px}.cro-chat-bubble{max-width:82%;padding:14px 16px;border-radius:22px 22px 22px 7px;background:#fff;border:1px solid #d6e5e8;box-shadow:0 5px 18px #0a40500c}.cro-chat-bubble.owner{align-self:flex-end;background:#073a4b;color:#fff;border-radius:22px 22px 7px 22px}.cro-chat-bubble.promotion{border:2px solid #e6b545;background:#fff9e7;color:#173541}.cro-chat-bubble p{margin:0;white-space:pre-wrap;font-size:17px;line-height:1.4}.cro-chat-bubble strong,.cro-chat-bubble time{display:block;margin-top:8px}.cro-chat-bubble time{font-size:12px;opacity:.68}.cro-chat-welcome{text-align:center;margin:auto;color:#667b82}.cro-conversation-compose{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 48px;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #d7e3e7}.cro-conversation-compose textarea{resize:none;border:1px solid #ccdde2;border-radius:24px;padding:13px 17px;font:inherit;max-height:100px}.cro-conversation-compose button{border:0;border-radius:50%;background:#14b6c0;color:#fff;font-size:20px;font-weight:900}.cro-sheet-backdrop{position:fixed;inset:0;z-index:10060;background:#052b3b99;display:flex;align-items:flex-end}.cro-sheet-backdrop[hidden]{display:none}.cro-sheet-card{position:relative;width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:30px 30px 0 0;padding:30px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 50px #00182033}.cro-sheet-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:0;border-radius:50%;background:#edf7f8;font-size:29px;color:#0a3442}.cro-sheet-kicker{display:block;text-transform:uppercase;letter-spacing:.12em;color:#138c98;font-weight:900;margin-right:58px}.cro-sheet-card h2{font-family:Georgia,serif;font-size:34px;margin:8px 58px 12px 0}.cro-sheet-card>button:not(.cro-sheet-close){width:100%;margin-top:10px}.cro-secondary-button{min-height:54px;border:1px solid #c6dce1;border-radius:16px;background:#fff;font-weight:900;color:#0b3542}.cro-promotion-form label{display:grid;gap:7px;margin:14px 0;font-weight:900}.cro-promotion-form input,.cro-promotion-form select,.cro-promotion-form textarea{width:100%;border:1px solid #bfd7dc;border-radius:14px;padding:13px;font:inherit;background:#fff}.cro-promotion-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cro-check-row{grid-template-columns:24px 1fr!important;align-items:start}.cro-check-row input{width:22px;height:22px}.cro-promotion-list{display:grid;gap:8px;margin-top:14px}.cro-promotion-list>div{display:flex;justify-content:space-between;gap:12px;padding:12px;border-radius:13px;background:#eff9fa}.cro-promotion-list span{color:#60757c;text-align:right}.cro-promotion-card p{color:#63777e}.cro-chat-open{overflow:hidden}
