.meeting-booking { width:100%; max-width:none; margin:0; padding:24px 37px; border:0; border-top:1px solid #293e55; border-radius:0; background:rgba(41,152,255,.035); color:#edf7ff; font-family:inherit; scroll-margin-top:100px; }
.meeting-booking *, .meeting-booking *::before, .meeting-booking *::after { box-sizing:border-box; }
.meeting-booking [hidden] { display:none!important; }
.mb-intro { display:flex; align-items:center; justify-content:space-between; gap:22px; margin:0; }
.mb-intro h2 { font-size:20px; line-height:1.3; letter-spacing:-.03em; margin:0 0 7px; color:#f2f7ff; }
.mb-intro p { font-size:13px; line-height:1.6; color:#a9bdd4; max-width:360px; margin:0; }
.mb-summary { display:block; margin-top:9px; color:#94adc6; font-size:11px; line-height:1.6; }
.meeting-booking .mb-open { display:inline-flex; align-items:center; justify-content:center; gap:18px; flex-shrink:0; min-height:46px; padding:11px 17px; border:1px solid #486984; border-radius:7px; background:#142d48; color:#cfe8ff; font-size:13px; font-weight:650; }
.meeting-booking .mb-open:hover { border-color:#80c6ff; background:#1a3b60; }
.mb-hours { color:#afc8df; font-size:13px; line-height:1.6; margin:0 0 22px; text-align:center; }
.mb-calendar-layout { display:block; padding:0; border:0; }
.mb-calendar { max-width:390px; margin:auto; }
.mb-calendar [data-mb-availability] { margin:20px 0 0; font-size:13px; line-height:1.6; color:#a9bdd4; }
.meeting-dialog-open { overflow:hidden; }
.meeting-booking .mb-dialog { position:fixed; inset:0; width:min(660px,calc(100% - 32px)); max-width:none; height:fit-content; max-height:calc(100dvh - 32px); margin:auto; padding:0; overflow:hidden; border:1px solid #3c607f; border-radius:18px; background:#0b192a; color:#edf7ff; box-shadow:0 30px 100px #0009; color-scheme:dark; }
.mb-dialog[open] { display:flex; flex-direction:column; animation:mb-enter .18s ease-out; }
.mb-dialog::backdrop { background:rgba(2,8,18,.82); backdrop-filter:blur(7px); }
.mb-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; flex:0 0 auto; padding:25px 28px 22px; border-bottom:1px solid #293e55; background:linear-gradient(125deg,#153452,#0c1d30); }
.mb-dialog-header h2 { margin:0; color:#f3f8ff; font-size:24px; line-height:1.3; letter-spacing:-.025em; outline:none; }
.mb-dialog-header p { margin:7px 0 0; color:#a9bdd4; font-size:12px; line-height:1.6; }
.meeting-booking .mb-close { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border:1px solid #385873; border-radius:50%; color:#e0efff; background:#142d46; font-size:25px; line-height:1; }
.mb-dialog-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:24px 28px 28px; scrollbar-color:#41617f #0b192a; }
.meeting-booking .mb-form { padding:0; margin:0; }
.mb-times>.mb-text-button,.mb-details>.mb-text-button { margin-top:-9px; margin-bottom:14px; padding-top:0; }
.mb-dialog .mb-selection { margin:0 0 22px; border-color:#83caff; background:#112e4a; }
.mb-dialog .mb-success { border:0; padding:0; }
.mb-dialog .mb-days button[aria-pressed="true"],.mb-dialog .mb-slots button[aria-pressed="true"] { background:#83caff; border-color:#83caff; color:#061a2e; }
.mb-dialog .mb-submit { border-color:#83caff; background:linear-gradient(110deg,#80c6ff,#3c9dfd); color:#04182e; }
.mb-dialog .mb-text-button,.mb-dialog a { color:#acd7ff; }
.mb-dialog input[type="checkbox"],.mb-dialog input[type="radio"] { accent-color:#83caff; }
.mb-dialog :focus-visible { outline-color:#8dceff; }
@keyframes mb-enter { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none} }
.mb-month-nav { display:flex; align-items:center; justify-content:space-between; }
.meeting-booking h3 { font-size:1rem; color:#eef8ff; margin:0 0 14px; line-height:1.4; }
.mb-month-nav h3 { margin:0; }
.meeting-booking button { font:inherit; cursor:pointer; }
.mb-month-nav button { border:1px solid #476375; background:#122c3d; color:#edf7ff; border-radius:8px; width:44px; min-height:44px; font-size:1.4rem; }
.mb-weekdays,.mb-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; text-align:center; }
.mb-weekdays { margin:16px 0 5px; color:#aebfcc; font-size:.75rem; }
.mb-days button { min-width:0; min-height:40px; padding:5px 0; border:1px solid #395b6e; border-radius:7px; color:#ecfaff; background:#163949; font-size:.86rem; }
.mb-days button:disabled { border-color:transparent; background:transparent; color:#8a9da9; cursor:default; opacity:.72; }
.mb-month-nav button:disabled { opacity:.35; cursor:default; }
.mb-slots { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.mb-slots button { min-height:44px; padding:9px 5px; border-radius:8px; border:1px solid #476a7d; background:#112a3b; color:#eef8ff; font-size:.8rem; }
.mb-days button[aria-pressed="true"],.mb-slots button[aria-pressed="true"] { background:#a5e8dc; border-color:#a5e8dc; color:#082a2e; font-weight:700; }
.mb-days button:not(:disabled):hover,.mb-slots button:hover { border-color:#a5e8dc; }
.mb-times>p { font-size:.87rem; color:#c1d2df; line-height:1.6; }
.mb-times .mb-buffer-note { color:#9fb9c8; font-size:.78rem; margin-top:16px; }
.mb-selection { padding:14px 16px; border-left:3px solid #8ccfc5; background:#153442; margin:24px 0; font-size:.9rem; line-height:1.5; }
.mb-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 20px; }
.mb-contact-grid label,.mb-location,.mb-notes { display:block; font-size:.83rem; color:#dceaf4; line-height:1.5; }
.meeting-booking input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.meeting-booking textarea { display:block; width:100%; border:1px solid #496171; border-radius:8px; background:#0b1d2b; color:#f2f8ff; padding:12px 14px; font:inherit; font-size:1rem; min-height:46px; margin-top:6px; }
.meeting-booking input::placeholder,.meeting-booking textarea::placeholder { color:#92aabd; opacity:1; }
.meeting-booking textarea { resize:vertical; }
.mb-location-choice { border:0; padding:0; margin:22px 0 14px; }
.mb-location-choice legend { margin-bottom:6px; font-size:.85rem; color:#dceaf4; }
.mb-location-choice label { display:inline-flex; gap:9px; align-items:center; margin-right:24px; min-height:44px; font-size:.9rem; }
.meeting-booking input[type="checkbox"],.meeting-booking input[type="radio"] { accent-color:#9ce6d6; width:19px; height:19px; flex-shrink:0; margin:0; }
.mb-notes { margin-top:16px; }
.mb-notes>span { color:#a8bfce; font-size:.75rem; margin-left:6px; }
.mb-consent { display:flex; align-items:start; gap:12px; margin:20px 0; font-size:.8rem; color:#c0d1de; line-height:1.6; }
.mb-consent input { margin-top:3px!important; }
.meeting-booking a { color:#a9e9e4; text-decoration:underline; text-underline-offset:3px; }
.mb-verification { min-height:24px; margin:16px 0; }
.mb-verification p { color:#b5cdd9; font-size:.78rem; }
.mb-text-button { background:none; border:0; padding:10px 0; color:#b1eee5; text-decoration:underline; min-height:44px; }
.mb-submit-row { display:flex; align-items:center; gap:20px; }
.mb-submit { border:1px solid #adede2; border-radius:9px; padding:14px 24px; min-height:48px; color:#082a2c; background:#aae8dc; font-weight:700!important; }
.mb-submit:disabled { opacity:.65; cursor:wait; }
.mb-submit-row p { color:#b1c8d5; font-size:.8rem; }
.mb-error { color:#ffd1c9; background:#45262f; padding:14px; border-radius:8px; font-size:.9rem; line-height:1.5; }
.mb-success { border-top:1px solid #426577; padding-top:24px; }
.mb-success h3 { font-size:1.4rem; }
.mb-success p { color:#ccdeea; line-height:1.65; overflow-wrap:anywhere; }
.mb-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.meeting-booking :focus-visible { outline:3px solid #b5f3e9; outline-offset:3px; }
.meeting-booking input:read-only,.meeting-booking textarea:read-only { opacity:.8; }
@media(max-width:760px) { .meeting-booking { width:100%; padding:22px 24px; margin:0; } .mb-intro { display:block; } .meeting-booking .mb-open { margin-top:17px; width:100%; } .mb-calendar { width:100%; } .mb-days button { min-height:44px; } .mb-contact-grid { grid-template-columns:1fr; } .mb-submit-row { display:block; } .mb-submit { width:100%; } .mb-submit-row p { text-align:center; } }
@media(max-width:480px) { .meeting-booking .mb-dialog { width:100%; max-height:100dvh; height:100dvh; border:0; border-radius:0; } .mb-dialog-header { padding:20px; } .mb-dialog-header h2 { font-size:22px; } .mb-dialog-body { padding:22px 20px; flex:1; } .mb-slots { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:380px) { .meeting-booking { padding:20px 18px; } .mb-dialog-header { padding:18px 15px; } .mb-dialog-body { padding:20px 15px; } .mb-location-choice label { margin-right:14px; } }
@media(prefers-reduced-motion:reduce) { .mb-dialog[open] { animation:none; } }
