.agp-public-body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
  background: #f7f6f3;
  color: #1a1917;
}
.agp-booking-page {
  margin: 0;
  min-height: 100vh;
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
  background: #f7f6f3;
  color: #1a1917;
}
.agp-unavailable {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 48px 24px 64px;
  min-height: calc(100vh - 36px - 70px);
}
.agp-unavailable-card { max-width: 420px; width: 100%; text-align: center; background: #fff; border: 1px solid rgba(26,25,23,.09); border-radius: 16px; padding: 32px 28px; box-shadow: 0 4px 24px rgba(0,0,0,.06); }
.agp-unavailable-icon { width:56px; height:56px; border-radius:14px; background:#eeedfe; color:#3c2fa0; display:grid; place-items:center; font-size:28px; margin:0 auto 16px; }
.agp-unavailable-title { font-size:22px; font-weight:800; margin:0 0 10px; }
.agp-unavailable-desc { color:#8a8880; line-height:1.5; margin:0 0 20px; }
.agp-btn { display:inline-flex; align-items:center; justify-content:center; padding:11px 18px; border-radius:9px; font-weight:700; text-decoration:none; border:0; cursor:pointer; }
.agp-btn-primary { background:#3c2fa0; color:#fff; }
.agp-footer { margin-top: auto; text-align: center; padding: 24px; font-size: 12px; color: #b0aea8; border-top: 0.5px solid rgba(26,25,23,.09); }

.agp-booking-wrap { max-width:520px; margin:0 auto; padding:24px 16px 48px; }
.agp-booking-card { background:#fff; border:1px solid rgba(26,25,23,.09); border-radius:16px; overflow:hidden; box-shadow:0 8px 30px rgba(26,25,23,.08); }
.agp-head { padding:22px 22px 16px; border-bottom:1px solid rgba(26,25,23,.09); }
.agp-host { display:flex; align-items:center; gap:12px; }
.agp-avatar { width:44px; height:44px; border-radius:50%; background:#3c2fa0; color:#fff; display:grid; place-items:center; font-weight:700; }
.agp-host-name { font-weight:700; font-size:15px; }
.agp-host-role { font-size:12px; color:#8a8880; }
.agp-meeting-title { font-size:20px; font-weight:800; margin:14px 0 6px; }
.agp-meeting-desc { font-size:13px; color:#4a4946; line-height:1.5; margin:0 0 8px; }
.agp-meeting-meta { display:flex; gap:14px; font-size:12px; color:#8a8880; }
.agp-step { display:none; padding:18px 22px 22px; }
.agp-step.on { display:block; }
.agp-month { font-size:14px; font-weight:700; text-align:center; margin-bottom:12px; }
.agp-cal { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.agp-dow { font-size:10px; font-weight:700; color:#b0aea8; text-align:center; }
.agp-day { aspect-ratio:1; border-radius:8px; display:grid; place-items:center; font-size:13px; font-weight:600; }
.agp-day.avail { background:#eeedfe; color:#3c2fa0; cursor:pointer; }
.agp-day.avail:hover,.agp-day.sel { background:#3c2fa0; color:#fff; }
.agp-day.off { color:#c8c6c0; }
.agp-back { border:0; background:transparent; color:#3c2fa0; font-weight:700; cursor:pointer; padding:0; margin-bottom:12px; display:inline-flex; align-items:center; gap:4px; }
.agp-slots-title { font-size:13px; font-weight:700; color:#8a8880; margin-bottom:10px; }
.agp-slots { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.agp-slot { border:1px solid rgba(26,25,23,.14); border-radius:9px; padding:11px; text-align:center; font-weight:600; cursor:pointer; background:#fff; }
.agp-slot:hover,.agp-slot.sel { border-color:#3c2fa0; color:#3c2fa0; }
.agp-slot.sel { background:#3c2fa0; color:#fff; }
.agp-selected-slot { background:#eeedfe; border-radius:10px; padding:12px; margin-bottom:14px; font-weight:700; font-size:14px; }
.agp-field { display:block; margin-bottom:12px; }
.agp-field span { display:block; font-size:12px; font-weight:700; margin-bottom:6px; }
.agp-phone-field .iti { width:100%; display:block; }
.agp-phone-field .iti__flag-container { z-index:2; }
.agp-phone-field input[type=tel] { width:100%; border:1px solid rgba(26,25,23,.14); border-radius:9px; padding:10px 12px 10px 52px; font-size:14px; box-sizing:border-box; height:42px; }
.agp-phone-field .iti--separate-dial-code input[type=tel] { padding-left:88px; }
.agp-inp { width:100%; border:1px solid rgba(26,25,23,.14); border-radius:9px; padding:10px 12px; font-size:14px; box-sizing:border-box; }
.agp-cta { width:100%; background:#3c2fa0; color:#fff; border:0; border-radius:9px; padding:13px; font-size:15px; font-weight:700; cursor:pointer; margin-top:6px; }
.agp-cta:disabled { opacity:.5; cursor:not-allowed; }
.agp-done-icon { font-size:48px; color:#1d9e75; text-align:center; margin-bottom:10px; }
.agp-step-done h2 { text-align:center; font-size:20px; margin:0 0 8px; }
.agp-step-done p { text-align:center; color:#8a8880; line-height:1.5; }
.agp-badge-wrap { text-align:center; padding:0 22px 18px; }
.agp-badge { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:700; padding:4px 10px; border-radius:20px; }
.agp-badge.auto { background:#e1f5ee; color:#1d9e75; }
.agp-badge.manual { background:#faeeda; color:#ba7517; }
.agp-embed .alg-shared-bar,.agp-embed .alg-shared-spacer { display:none; }
.agp-embed .agp-booking-wrap { max-width:100%; padding:0; }
.agp-embed .agp-booking-card { border:0; box-shadow:none; border-radius:0; }
