: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}
@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;
  }
}


/* 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;
  }
}
