.mnc-locked { overflow: hidden; }
.mnc-modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: grid; place-items: center; z-index: 999999; padding: 16px; }
.mnc-dialog { background: #fff; width: 100%; max-width: 680px; border-radius: 16px; padding: 20px 22px; position: relative; box-shadow: 0 10px 30px rgba(0,0,0,.15); }
.mnc-close { position: absolute; right: 10px; top: 10px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; }
.mnc-form .mnc-field { margin-bottom: 14px; }
.mnc-form label { display:block; font-weight: 600; margin-bottom: 6px; }
.mnc-form input[type="text"],
.mnc-form input[type="email"],
.mnc-form input[type="tel"],
.mnc-form input[type="date"],
.mnc-form textarea { width: 100%; border: 1px solid #d0d7de; border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.mnc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px){ .mnc-grid { grid-template-columns: 1fr; } }
.mnc-slots { display: flex; flex-wrap: wrap; gap: 8px; min-height: 42px; }
.mnc-slot { border: 1px solid #d0d7de; padding: 8px 10px; border-radius: 999px; background: #f8fafc; cursor: pointer; font-size: 13px; }
.mnc-slot:hover { background: #eef2ff; }
.mnc-slot.is-selected { background: #4f46e5; color: #fff; border-color: #4f46e5; }
.mnc-slot:disabled { opacity: .4; cursor: not-allowed; }
.mnc-submit { background: #111827; color: #fff; border: 0; padding: 10px 14px; border-radius: 10px; font-weight: 600; cursor: pointer; }
.mnc-open-btn { background: #111827; color: #fff; border: 0; padding: 10px 14px; border-radius: 10px; font-weight: 600; cursor: pointer; }
.mnc-loading, .mnc-empty, .mnc-error { font-size: 14px; color: #374151; }
.mnc-success h4 { margin: 0 0 6px 0; }
.mnc-ics { display: inline-block; padding: 8px 10px; border: 1px solid #d0d7de; border-radius: 8px; text-decoration: none; }


/* v1.0.2: Booked slot visual + hard disable */
.mnc-slots-list { display:flex; flex-wrap:wrap; gap:8px; }
.mnc-slot.is-booked { background:#f3f4f6; color:#9ca3af; border:1px dashed #d1d5db; cursor:not-allowed; text-decoration:line-through; pointer-events:none; }
