:root{--ab-dark:#1f344c;--ab-blue:#0370b0;--ab-teal:#01a8c1;--ab-muted:#9ca3af;--ab-border:#e5e7eb}
.andrey-booking-wrap{border:1px solid var(--ab-border);padding:16px;border-radius:14px;max-width:760px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu}
.andrey-booking-wrap h3{margin:0 0 8px;color:var(--ab-dark)}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0}
.ab-grid label{display:flex;flex-direction:column;font-weight:600;font-size:14px;color:var(--ab-dark)}
.ab-grid input,.ab-grid select{margin-top:6px;padding:10px;border-radius:10px;border:1px solid #d1d5db}
.ab-price{margin:12px 0;font-size:14px;color:#374151}
@media(max-width:640px){.ab-grid{grid-template-columns:1fr}}
.ab-calendar{border:1px solid var(--ab-border);border-radius:12px;padding:10px;margin:10px 0}
.ab-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ab-month{font-weight:700;color:var(--ab-dark)}
.ab-nav{border:1px solid var(--ab-border);background:#fff;border-radius:8px;padding:4px 8px;cursor:pointer}
.ab-weekdays,.ab-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ab-weekdays span{font-size:12px;font-weight:700;color:var(--ab-blue);text-align:center}
.ab-days button{border:1px solid var(--ab-border);background:#fff;border-radius:10px;padding:8px 0;text-align:center;cursor:pointer;color:var(--ab-dark)}
.ab-days button.is-other-month{color:var(--ab-muted);opacity:.6}
.ab-days button.is-disabled{color:var(--ab-muted);background:#f9fafb;border-style:dashed;cursor:not-allowed}
.ab-days button.is-today{border-color:var(--ab-teal)}
.ab-days button.is-selected{background:var(--ab-blue);border-color:var(--ab-blue);color:#fff}
.ab-btn{background:var(--ab-teal);border:0;color:#fff;padding:12px 16px;border-radius:12px;font-weight:700;cursor:pointer}
.ab-btn:hover{filter:brightness(.95)}
.ab-service-info{border:1px solid var(--ab-border);border-radius:12px;padding:12px;margin:8px 0;background:#fff}
.ab-service-title{font-weight:800;color:var(--ab-dark);margin-bottom:4px}
.ab-service-desc{color:#374151;white-space:pre-wrap}
.ab-questions{border:1px solid var(--ab-border);border-radius:12px;padding:12px;margin:8px 0;background:#fff}
.ab-questions-title{margin:0 0 8px;color:var(--ab-dark)}
.ab-q{margin:8px 0}
.ab-q label{display:block;font-weight:600;margin-bottom:6px;color:var(--ab-dark)}
.ab-q textarea,.ab-q input{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:10px}
