.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}
.stat-card{background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-m);padding:20px}
.stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;font-size:16px}
.stat-card strong{display:block;font-size:24px;font-family:var(--font-head)}
.stat-card span{font-size:13px;color:var(--muted-500)}

.dash-hero{
  background:linear-gradient(135deg,var(--green-900),var(--teal-600));
  border-radius:var(--radius-l);padding:32px;color:#fff;margin-bottom:28px;
}
.dash-hero h2{color:#fff;font-size:24px}
.dash-hero p{color:#cfe9dc;margin-top:6px;font-size:14.5px}

.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:28px}
.quick-card{
  background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-m);padding:24px;
  display:flex;align-items:center;gap:16px;
}
.quick-card .qc-icon{width:46px;height:46px;border-radius:12px;background:var(--green-100);color:var(--green-700);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.quick-card h3{font-size:15.5px;margin-bottom:4px}
.quick-card p{font-size:13px}

.panel{background:#fff;border:1px solid var(--line-200);border-radius:var(--radius-m);padding:24px;margin-bottom:24px}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.panel-head h3{font-size:16px}
.panel-head a{font-size:13px;font-weight:600;color:var(--green-700)}

.popular-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.popular-item{
  display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;
  padding:18px 8px;border:1px solid var(--line-200);border-radius:12px;font-size:12.5px;font-weight:600;color:var(--ink-700);
}
.popular-item:hover{border-color:var(--green-700);background:var(--mint-50)}
.popular-item .pi-icon{width:40px;height:40px;border-radius:10px;background:var(--mint-50);display:flex;align-items:center;justify-content:center;font-size:18px}

.mini-booking{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--line-200)}
.mini-booking:last-child{border-bottom:none}
.mini-booking img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.mini-booking .mb-info{flex:1;min-width:0}
.mini-booking .mb-info strong{display:block;font-size:14px}
.mini-booking .mb-info span{font-size:12.5px;color:var(--muted-500)}
.mini-booking .mb-price{font-size:13.5px;font-weight:700;color:var(--ink-900);text-align:right}

@media (max-width:900px){
  .stat-grid{grid-template-columns:1fr 1fr}
  .quick-actions{grid-template-columns:1fr}
  .popular-grid{grid-template-columns:1fr 1fr}
}

.modal-overlay{
  position:fixed;inset:0;background:rgba(14,30,22,.5);
  display:flex;align-items:center;justify-content:center;
  padding:20px;z-index:300;
  opacity:0;visibility:hidden;
  transition:opacity .2s ease, visibility .2s ease;
}
.modal-overlay.is-open{opacity:1;visibility:visible}
.modal-box{
  background:#fff;border-radius:var(--radius-l);padding:32px;max-width:340px;width:100%;
  text-align:center;box-shadow:var(--shadow-card);
  transform:scale(.94);transition:transform .2s ease;
}
.modal-overlay.is-open .modal-box{transform:scale(1)}
.modal-icon{
  width:52px;height:52px;border-radius:999px;background:var(--red-100);
  display:flex;align-items:center;justify-content:center;font-size:22px;margin:0 auto 16px;
}
.modal-box h3{font-size:18px;margin-bottom:8px}
.modal-box p{font-size:13.5px;margin-bottom:22px}
.modal-actions{display:flex;flex-direction:column;gap:10px}
