:root {
  --ivy-green: #3f7a4e;
  --ivy-green-dark: #2c5738;
  --ivy-cream: #f7f4ee;
  --ivy-gold: #c49a3a;
}

body {
  background: var(--ivy-cream);
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

.ivy-navbar {
  background: linear-gradient(90deg, var(--ivy-green-dark), var(--ivy-green));
}
.ivy-logo {
  border-radius: 8px;
  background: #fff;
  padding: 2px;
}

.card {
  border: none;
  border-radius: 14px;
  box-shadow: 0 2px 14px rgba(0,0,0,.06);
}

.stat-card {
  border-radius: 16px;
  padding: 1.25rem 1.5rem;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.stat-card .stat-value { font-size: 2rem; font-weight: 700; line-height: 1; }
.stat-card .stat-label { opacity: .9; font-size: .85rem; }
.stat-card i { position:absolute; right:14px; top:14px; font-size:2.2rem; opacity:.25; }
.bg-ivy1 { background: linear-gradient(135deg,#3f7a4e,#2c5738); }
.bg-ivy2 { background: linear-gradient(135deg,#3b82c4,#26588c); }
.bg-ivy3 { background: linear-gradient(135deg,#c47b3b,#8f551f); }
.bg-ivy4 { background: linear-gradient(135deg,#8a5fc4,#5c3a91); }

.guest-card {
  border: 1px solid #e4e0d6;
  border-radius: 12px;
  padding: 1rem;
  background: #fffdf9;
  margin-bottom: 1rem;
  position: relative;
}
.guest-card .guest-badge {
  position: absolute;
  top: -10px;
  left: 14px;
  background: var(--ivy-green);
  color: #fff;
  font-size: .75rem;
  padding: 2px 10px;
  border-radius: 20px;
}
.guest-card .btn-remove-guest {
  position: absolute;
  top: 8px;
  right: 8px;
}

.badge-foreign { background: var(--ivy-gold); }

#calendar { background:#fff; border-radius:14px; padding:1rem; box-shadow:0 2px 14px rgba(0,0,0,.06); }

.fc-event { cursor:pointer; border:none !important; }
.fc-event-booking {
  background-image: repeating-linear-gradient(45deg, rgba(255,255,255,.35) 0, rgba(255,255,255,.35) 6px, transparent 6px, transparent 12px);
  border: 2px dashed rgba(0,0,0,.35) !important;
  opacity: .9;
}

.table-ivy thead { background: var(--ivy-green); color:#fff; }
.table-ivy tbody tr:hover { background: #f1f7f2; }

@media print {
  nav, footer, .no-print { display:none !important; }
  body { background:#fff; }
}
