.booking-form { max-height: min(760px, calc(100vh - 32px)); overflow-y: auto; }
.booking-form input, .booking-form select, .booking-form textarea { display:block; width:100%; color:#183247; border:1px solid rgba(24,70,91,.16); border-radius:12px; outline:0; background:#fff; }
.booking-form input:focus, .booking-form select:focus, .booking-form textarea:focus { border-color:#4d9dff; box-shadow:0 0 0 3px rgba(77,157,255,.16); }
.booking-form textarea { min-height:92px; resize:vertical; }
.booking-source { display:flex; align-items:flex-start; gap:10px; margin-top:18px; padding:12px 13px; color:#416178; border:1px solid rgba(77,157,255,.22); border-radius:12px; background:#edf6ff; font-size:12px; line-height:1.45; }
.booking-source strong { display:block; color:#1d5eaa; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.booking-status { min-height:20px; margin-top:12px; font-size:12px; line-height:1.5; }
.booking-status.is-error { color:#b34c58; }
.booking-status.is-success { color:#19756a; }
.booking-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; opacity:0 !important; }
.admin-leads-controls { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; }
.admin-leads-refresh { min-height:38px; padding:0 12px; color:#2477d4; border:1px solid rgba(36,119,212,.2); border-radius:10px; background:#fff; font-size:11px; font-weight:700; }
.admin-leads-refresh:hover { background:#eaf3ff; }
.admin-leads-filters { display:flex; flex-wrap:wrap; gap:6px; }
.admin-leads-filters button { min-height:38px; padding:0 12px; color:#6f858f; border:1px solid rgba(24,70,91,.13); border-radius:10px; background:#fff; font-size:11px; font-weight:700; }
.admin-leads-filters button:hover, .admin-leads-filters button.is-active { color:#155ca8; border-color:rgba(36,119,212,.35); background:#eaf3ff; }
.admin-lead-record { padding:20px; }
.admin-lead-record .admin-record-top>div:first-child { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.admin-lead-status { padding:5px 8px; border-radius:999px; font-size:10px; font-weight:800; }
.admin-lead-status.is-new { color:#9a5a00; background:#fff3d6; }
.admin-lead-status.is-contacted { color:#1e5fa8; background:#e7f2ff; }
.admin-lead-status.is-closed { color:#55706d; background:#e8f4f1; }
.admin-lead-actions { display:flex; align-items:center; gap:6px; }
.admin-lead-actions button { min-height:32px; padding:0 9px; color:#2477d4; border:1px solid rgba(36,119,212,.2); border-radius:8px; background:#f4f9ff; font-size:10px; font-weight:700; }
.admin-lead-actions button.danger { width:32px; padding:0; color:#b04d55; border-color:#efc9cc; background:#fff5f5; font-size:17px; }
.admin-lead-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:3px 0 0; }
.admin-lead-grid dt { color:#82949e; font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.admin-lead-grid dd { margin:5px 0 0; color:#183247; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.admin-lead-grid dd b { display:block; color:#2477d4; font-weight:700; }
.admin-lead-grid dd small { display:block; margin-top:2px; color:#98a8ae; font-size:10px; }
.admin-lead-message { margin:15px 0 0; padding:12px; color:#536f7d; border-radius:10px; background:#f5fafb; font-size:12px; line-height:1.55; }
.admin-lead-message b { display:block; margin-bottom:3px; color:#2477d4; font-size:10px; text-transform:uppercase; }
.admin-leads-empty, .admin-leads-loading { padding:42px 20px; color:#7b919b; text-align:center; border:1px dashed rgba(36,119,212,.25); border-radius:16px; background:#fbfdfd; font-size:13px; }
@media (max-width:760px) { .admin-page-heading { align-items:flex-start; } .admin-leads-filters { width:100%; } .admin-lead-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-lead-record .admin-record-top { align-items:flex-start; flex-direction:column; } }
@media (max-width:480px) { .admin-lead-grid { grid-template-columns:1fr; } }
