html.bm-lock,html.bm-lock body{overflow:hidden}.bm-modal[hidden]{display:none!important}.bm-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.bm-modal *,.bm-modal *:before,.bm-modal *:after{box-sizing:border-box}.bm-overlay{position:absolute;inset:0;background:#1e20328c}.bm-dialog{position:relative;width:100%;max-width:600px;max-height:calc(100dvh - 2rem);max-height:calc(100vh - 2rem);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 20px 40px #00000040;overflow:hidden}@supports (height: 100dvh){.bm-dialog{max-height:calc(100dvh - 2rem)}}.bm-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .75rem .75rem 1.25rem;border-bottom:1px solid #ececf2;flex-shrink:0}.bm-title{font-family:Playfair Display,Georgia,serif;font-size:1.25rem;line-height:1.25;color:#2d3748;margin:0}.bm-close{flex-shrink:0;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#f3f4f6;color:#374151;border:none;cursor:pointer}.bm-close:hover{background:#e5e7eb}.bm-body{padding:1rem 1.25rem 1.25rem;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.bm-summary{background:#f6f5fb;border:1px solid #e6e3f3;border-radius:12px;padding:.875rem 1rem;margin-bottom:1rem}.bm-course{font-weight:700;color:#2d3748;margin:0;font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}.bm-meta{color:#5a4a9c;font-size:.875rem;margin:.125rem 0 0}.bm-meta:empty{display:none}.bm-facts{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:.625rem 0 0;font-size:.9rem}.bm-facts:empty{display:none}.bm-facts dt{color:#6b7280;margin:0}.bm-facts dd{color:#2d3748;font-weight:600;margin:0;overflow-wrap:anywhere}.bm-status{color:#4b5563;margin:.5rem 0}.bm-empty{text-align:left;color:#374151}.bm-empty p{margin:0 0 .75rem;line-height:1.5}.bm-empty-title{font-weight:700;font-size:1.05rem}.bm-form{display:grid;gap:1rem}.bm-form[hidden],.bm-success[hidden],.bm-empty[hidden],.bm-status[hidden],.bm-alert[hidden],.bm-err[hidden],.bm-field[hidden]{display:none!important}.bm-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.bm-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.bm-field{display:flex;flex-direction:column;min-width:0}.bm-field label{margin-bottom:.375rem;color:#374151;font-weight:600;font-size:.9rem;line-height:1.35}.bm-req{color:#b4482e}.bm-field input[type=text],.bm-field input[type=email],.bm-field input[type=tel],.bm-field input[type=number],.bm-field select,.bm-field textarea{width:100%;max-width:100%;min-width:0;padding:.75rem .875rem;min-height:48px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;font-size:16px;font-family:inherit;color:#1f2937}.bm-field select{text-overflow:ellipsis}.bm-field textarea{min-height:88px;resize:vertical}.bm-field input:focus-visible,.bm-field select:focus-visible,.bm-field textarea:focus-visible{outline:3px solid rgba(102,126,234,.35);outline-offset:1px;border-color:#667eea}.bm-field [aria-invalid=true]{border-color:#dc2626}.bm-err{color:#b91c1c;font-size:.85rem;margin:.375rem 0 0;line-height:1.4}.bm-hint{color:#6b7280;font-size:.8rem;margin:.25rem 0 0}.bm-note{color:#6b7280;font-size:.8rem;margin:-.25rem 0 0}.bm-check{display:flex!important;align-items:flex-start;gap:.75rem;cursor:pointer;font-weight:500!important}.bm-check input[type=checkbox]{flex-shrink:0;width:24px;height:24px;margin:.05rem 0 0;accent-color:#667eea;cursor:pointer}.bm-check a{color:#4c51bf;text-decoration:underline}.bm-check input[aria-invalid=true]{outline:2px solid #dc2626;outline-offset:2px}.bm-alert{padding:.875rem 1rem;border-radius:12px;line-height:1.5;font-size:.95rem}.bm-alert a{color:inherit;font-weight:600;text-decoration:underline}.bm-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.bm-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.75rem;border-top:1px solid #ececf2}.bm-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.75rem 1.25rem;border-radius:12px;font-size:1rem;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s ease,box-shadow .2s ease}.bm-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.bm-btn-primary:hover{box-shadow:0 6px 18px #667eea59}.bm-btn-secondary{background:#f3f4f6;color:#374151;border-color:#d1d5db}.bm-btn:disabled{opacity:.65;cursor:wait}.bm-btn:focus-visible,.bm-close:focus-visible{outline:3px solid #4c51bf;outline-offset:2px}.bm-success{color:#14532d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;padding:1rem}.bm-success p{margin:0 0 .75rem;line-height:1.5}.bm-success a{color:#14532d;font-weight:600}.bm-success-title{font-weight:700;font-size:1.1rem}@media (max-width: 600px){.bm-modal{padding:0;align-items:flex-end}.bm-dialog{max-width:100%;border-radius:18px 18px 0 0;max-height:100vh}@supports (height: 100dvh){.bm-dialog{max-height:100dvh}}.bm-head{padding-left:1rem}.bm-title{font-size:1.1rem}.bm-body{padding:.875rem 1rem 1.25rem}.bm-row{grid-template-columns:1fr}.bm-actions{flex-direction:column-reverse}.bm-actions .bm-btn{width:100%}}@media (prefers-reduced-motion: reduce){.bm-btn{transition:none}}
