.owner-page{background:#f4f1e9;color:#18382f}
.owner-hero{padding:8.5rem 0 3.5rem;background:linear-gradient(rgba(5,23,17,.62),rgba(5,23,17,.82)),url('/assets/images/pond-night.webp') center/cover;color:#fff}
.owner-hero-inner{display:flex;align-items:end;justify-content:space-between;gap:2rem}
.owner-hero h1{margin:.45rem 0 .65rem;font-size:clamp(2.5rem,6vw,4.7rem);line-height:.98}
.owner-hero p{max-width:660px;margin:0;color:rgba(255,255,255,.82);font-size:1.08rem}
.owner-main{padding:2.25rem 0 5rem}
.owner-message{margin-bottom:1.25rem;padding:1rem 1.15rem;border-radius:14px;background:#fff;border:1px solid #d8d2c5}
.owner-message.error{border-color:#bd6b64;color:#7d2823}
.owner-message.success{border-color:#7da48d;color:#22573f}
.owner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem}
.owner-stat{padding:1.3rem;border-radius:18px;background:#fff;border:1px solid #ddd7cb;box-shadow:0 8px 30px rgba(25,52,44,.05)}
.owner-stat span{display:block;color:#6f786f;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}
.owner-stat strong{display:block;margin-top:.4rem;font-size:2.1rem;color:#173c32}
.owner-panel{background:#fff;border:1px solid #ddd7cb;border-radius:22px;padding:1.4rem;box-shadow:0 14px 40px rgba(25,52,44,.06)}
.owner-panel-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.25rem}
.owner-panel-heading h2{margin:.25rem 0 0}
.owner-filters{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}
.owner-filters label,.owner-field{display:grid;gap:.35rem}
.owner-filters label span,.owner-field span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#66746d}
.owner-filters select,.owner-filters input,.owner-field textarea{border:1px solid #cfc9bd;border-radius:10px;background:#fff;padding:.72rem .8rem;color:#18382f;font:inherit}
.owner-search input{min-width:220px}
.reservation-list{display:grid;gap:.75rem}
.reservation-card{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,.9fr) minmax(210px,1fr) auto;align-items:center;gap:1rem;padding:1rem;border-radius:15px;border:1px solid #e1ddd4;background:#fbfaf6;cursor:pointer;transition:transform .15s ease,border-color .15s ease}
.reservation-card:hover{transform:translateY(-1px);border-color:#9fae9f}
.reservation-card h3{margin:0 0 .2rem;font-size:1rem}
.reservation-card p{margin:0;color:#68736c;font-size:.9rem}
.reservation-number{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;color:#64726b}
.reservation-dates strong,.reservation-location strong{display:block;margin-bottom:.2rem}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .65rem;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.status-pending{background:#f2dfaa;color:#705213}
.status-approved{background:#d7eadc;color:#245e39}
.status-declined{background:#edd4d1;color:#7b2e28}
.status-cancelled{background:#dedede;color:#555}
.owner-empty{padding:3rem 1rem;text-align:center;color:#708078}
.owner-btn{border:0;border-radius:10px;padding:.78rem 1rem;font:inherit;font-weight:750;cursor:pointer}
.owner-btn-primary{background:#173c32;color:#fff}
.owner-btn-secondary{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff}
.owner-btn-danger{background:#8b3932;color:#fff}
.owner-btn-muted{background:#e6e3dc;color:#37453f}
.reservation-dialog{width:min(760px,calc(100% - 2rem));border:0;border-radius:20px;padding:0;box-shadow:0 30px 90px rgba(0,0,0,.35)}
.reservation-dialog::backdrop{background:rgba(5,20,15,.7)}
.reservation-dialog-card{position:relative;padding:1.6rem;background:#fff}
.reservation-close{position:absolute;right:1rem;top:.8rem;border:0;background:none;font-size:2rem;cursor:pointer;color:#53625b}
.reservation-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.2rem 0}
.reservation-detail{padding:.9rem;border-radius:12px;background:#f5f2eb}
.reservation-detail span{display:block;margin-bottom:.25rem;color:#6b776f;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.reservation-detail strong{display:block;overflow-wrap:anywhere}
.reservation-detail.full{grid-column:1/-1}
.reservation-dialog-actions{display:flex;justify-content:flex-end;gap:.65rem;margin-top:1rem}
@media(max-width:900px){
  .owner-stats{grid-template-columns:repeat(2,1fr)}
  .owner-panel-heading{display:block}
  .owner-filters{margin-top:1rem}
  .reservation-card{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .owner-hero-inner{display:block}
  .owner-hero .owner-btn{margin-top:1.3rem}
  .owner-stats{grid-template-columns:1fr 1fr}
  .owner-panel{padding:1rem}
  .owner-filters{display:grid}
  .owner-filters label,.owner-search input{width:100%;min-width:0}
  .reservation-card{grid-template-columns:1fr}
  .reservation-detail-grid{grid-template-columns:1fr}
  .reservation-detail.full{grid-column:auto}
  .reservation-dialog-actions{display:grid}
}
