@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@900&display=swap');

@property --bm-fill-radius { syntax:'<length>'; inherits:false; initial-value:0px; }

/* BeyondMed Meet — shared identity, loaded after upstream styles. */
:root {
 --bm-orange:#F37006; --bm-blue:#0C8FF9; --bm-ink:#edf0f5; --bm-muted:#a0a9b7; --bm-line:#303742; --bm-bg:#111419; --bm-surface:#191e25; --bm-input:#12161c; --bm-shadow:none;
 --ds-brand-500:var(--bm-blue); --ds-brand-600:#0C8FF9; --ds-shadow-focus:0 0 0 3px rgba(12,143,249,.15);
 --landing-bg:var(--bm-bg); --landing-surface:var(--bm-surface); --landing-surface-raised:#202732; --landing-border:var(--bm-line); --landing-border-hover:var(--bm-blue); --landing-text:var(--bm-ink); --landing-text-muted:var(--bm-muted); --landing-primary:var(--bm-orange); --landing-secondary:var(--bm-blue); --landing-accent:var(--bm-blue);
 --swal-confirm-bg:var(--bm-orange); --swal-neutral-bg:#0C8FF9;
 --cr-bg:var(--bm-bg); --cr-surface:var(--bm-surface); --cr-surface-raised:#202630; --cr-line:var(--bm-line); --cr-line-strong:#485465; --cr-text:var(--bm-ink); --cr-muted:var(--bm-muted); --cr-subtle:var(--bm-muted); --cr-accent:var(--bm-orange); --cr-accent-ink:#202b3b; --cr-danger:#ff9494; --cr-focus:rgba(12,143,249,.16); --cr-radius:12px; --cr-shadow:var(--bm-shadow);
 --primary-bg:var(--bm-bg); --container-bg:var(--bm-surface); --card-bg:var(--bm-surface); --card-bg-hover:#202630; --accent:#0C8FF9; --accent-hover:#55b0fc; --accent-glow:#1c2938; --text:var(--bm-ink); --text-muted:var(--bm-muted); --border:var(--bm-line); --gold:#b44e00; --card-shadow:var(--bm-shadow);
}
html { color-scheme:dark; background:var(--bm-bg); }
body { background:var(--bm-bg); color:var(--bm-muted); font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; font-size:16px; letter-spacing:0; line-height:1.6; }
*,*::before,*::after { box-sizing:border-box; }
button,input,select,textarea { font-family:inherit; letter-spacing:0; }
button { cursor:pointer; }
h1,h2,h3,h4,.login-title,.waiting-title { color:var(--bm-ink); text-shadow:none; }
a,.blue { color:#0C8FF9; } a:hover { color:#55b0fc; }
.body-wrap { min-height:100vh; min-height:100dvh; background:transparent; }
.illustration-section-01::after,.illustration-section-02::after { content:none; }
.hero { padding-bottom:0; }
.hero .split-wrap .split-item { min-height:0 !important; }
.hero .hero-inner { padding:40px 0; }
.site-header { position:relative; background:var(--bm-bg); border-bottom:1px solid var(--bm-line); }
.site-header,.cr-header { text-transform:uppercase; }
.site-header + .site-content .section:first-of-type { padding-top:0; }
.site-header-inner { min-height:88px; padding:18px 0; }
.site-header .brand,.site-header .brand:hover { filter:none; box-shadow:none; }
.bm-brand,.brand a.bm-brand { display:inline-flex; align-items:center; gap:12px; color:var(--bm-ink); text-decoration:none; }
.bm-brand__name { display:block; color:var(--bm-ink); font-family:'Montserrat',sans-serif; font-weight:900; font-size:1.2rem; letter-spacing:1px; margin-left:10px; line-height:1.3; }
.bm-brand__letter { color:inherit; }
/* Circle-fill adaptation: https://uiverse.io/KINGFRESS/purple-kangaroo-17 */
.bm-brand__word {
 display:inline-block; color:transparent; --bm-fill-radius:0px;
 background-color:var(--bm-ink);
 background-image:
  radial-gradient(circle at 0% 50%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 20% 0%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 50% 0%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 80% 0%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 100% 50%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 80% 100%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 50% 100%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px)),
  radial-gradient(circle at 20% 100%,var(--bm-orange) var(--bm-fill-radius),transparent calc(var(--bm-fill-radius) + 1px));
 background-repeat:no-repeat;
 background-size:100% 100%;
 -webkit-background-clip:text; background-clip:text;
 transition:--bm-fill-radius .6s ease;
}
.bm-brand:hover .bm-brand__word,.bm-brand:focus-visible .bm-brand__word {
 --bm-fill-radius:1.5em;
 transition-duration:1.5s;
}
@media(prefers-reduced-motion:reduce) { .bm-brand .bm-brand__word { transition:none; } }
.bm-brand__name small { display:block; margin-top:4px; color:var(--bm-muted); font-size:12px; font-weight:400; }
.site-header .brand img,.site-header .brand:hover img,.bm-brand img,.cr-brand img { display:block; width:44px; height:44px; object-fit:contain; border-radius:0; filter:none; transform:none; }
.bm-header-link { color:var(--bm-muted); font-size:14px; font-weight:500; text-decoration:none; }
.bm-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; width:min(1120px,calc(100% - 48px)); margin:auto auto 0; padding:24px 0; border-top:1px solid var(--bm-line); color:var(--bm-muted); font-size:12px; }
.bm-footer a { color:inherit; text-decoration:none; } .bm-footer a:hover { color:#0C8FF9; }
.form-input,.login-card .form-input,.cr-input { color:var(--bm-ink); background:var(--bm-input); border:1px solid #3a424f; border-radius:10px; box-shadow:none; font-size:16px; }
.form-input::placeholder,.login-card .form-input::placeholder,.cr-input::placeholder { color:#9099a8; opacity:1; }
.form-input:focus,.login-card .form-input:focus,.cr-input:focus { background:var(--bm-input); border-color:var(--bm-blue); box-shadow:0 0 0 3px rgba(12,143,249,.12); }
.button,.login-card .login-btn,.login-card .join-room-btn { text-transform:none; letter-spacing:0; border-radius:10px; }
.button-primary,.button-custom,.login-card .login-btn,.login-card .join-room-btn { background:var(--bm-orange); color:#202b3b; border:1px solid transparent; box-shadow:none; font-weight:600; }
.button-primary:hover,.button-custom:hover,.login-card .login-btn:hover,.login-card .join-room-btn:hover { background:#df6400; color:#172333; box-shadow:none; filter:none; transform:none; }
.button-custom-room,#customizeRoomButton { color:#0C8FF9; border:1px solid var(--bm-line); background:#191e25; box-shadow:none; }
.button-custom-room:hover,#customizeRoomButton:hover { background:#222a35; border-color:var(--bm-blue); color:#55b0fc; }
.pulse { animation:none; }
.has-animations .reveal-from-top,.has-animations .reveal-from-bottom,.has-animations .reveal-from-left,.has-animations .reveal-from-right { opacity:1; visibility:visible; transform:none; }
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline:2px solid var(--bm-blue); outline-offset:3px; box-shadow:0 0 0 3px rgba(12,143,249,.12); }
[hidden],#footer[hidden] { display:none !important; }
.login-card,#joinRoomForm.login-card,.waiting-card { width:100%; max-width:460px; padding:36px; color:var(--bm-ink); background:var(--bm-surface) !important; border:1px solid var(--bm-line); border-radius:16px; box-shadow:var(--bm-shadow); }
.login-description,.waiting-description { color:var(--bm-muted); line-height:1.7; }
.login-icon,.waiting-icon { background:#1c2938; border:1px solid var(--bm-line); border-radius:14px; animation:none; }
.login-icon i,.waiting-icon i { color:#0C8FF9; }
.waiting-spinner-dot { background:var(--bm-blue); } .waiting-spinner-dot:nth-child(2) { background:var(--bm-orange); }
.waiting-status,.waiting-room-name,.waiting-elapsed,.host-login-link { color:var(--bm-muted); }
.waiting-status.ready { color:#68cf9c; } .waiting-status.checking { color:#f3b16b; }
.waiting-divider,.login-divider { border-top-color:var(--bm-line); }
.waiting-audio-player { background:#202630; border-color:var(--bm-line); }
.waiting-audio-btn { color:#0C8FF9; min-width:44px; min-height:44px; }
.waiting-audio-bar { background:#394352; } .waiting-audio-progress { background:var(--bm-blue); }
.cr-header { width:100%; max-width:1120px; min-height:88px; padding:18px 24px; border-bottom:0; }
.cr-brand { gap:12px; font-weight:700; }
.cr-brand .bm-brand__name { display:block; font-size:24px; }
.cr-brand .bm-brand__name span { display:inline; }
.cr-brand .bm-brand__name .bm-brand__word { display:inline-block; }
.cr-back { color:var(--bm-muted); font-size:14px; font-weight:500; }
@media(max-width:700px) { .cr-header { padding-inline:20px; } }
@media(max-width:640px) { .cr-header { min-height:76px; flex-wrap:wrap; gap:12px; } .cr-brand .bm-brand__name { font-size:16px; } .cr-back { font-size:12px; } }
.cr-section,.cr-preview { box-shadow:none; }
.cr-step { color:#0C8FF9; background:#1c2938; border-color:var(--bm-line); }
.cr-input:focus { border-color:var(--bm-blue); }
.cr-submit { color:#fff; background:#b94e00; border:1px solid var(--bm-orange); justify-content:center; font-weight:600; box-shadow:none; }
.cr-submit:hover { color:#fff; background:#a34400; border-color:#df6400; box-shadow:none; }
.cr-toggle input { accent-color:var(--bm-blue); }
.header-left .bm-room-logo { width:40px; height:40px; object-fit:contain; }
.header-left h1 { color:var(--bm-ink); }
.refresh-btn { min-width:44px; min-height:44px; } .room-count-badge { border-color:var(--bm-line); }
.bm-service-card { max-width:640px; margin:80px auto; padding:40px; background:var(--bm-surface); border:1px solid var(--bm-line); border-radius:16px; }
.bm-service-card h1 { font-size:clamp(26px,5vw,40px); line-height:1.2; }
.bm-service-card img { width:64px; height:64px; object-fit:contain; }
@media(max-width:640px) {
 .site-header-inner { min-height:76px; flex-wrap:wrap; gap:12px; } .bm-brand__name { font-size:16px; } .bm-header-link { font-size:12px; }
 .login-card,#joinRoomForm.login-card,.waiting-card { padding:28px 22px; }
 .bm-footer { width:calc(100% - 40px); } .bm-service-card { margin:32px 0; padding:24px; }
}

/* Center waiting and service pages without the upstream oversized hero. */
body:has(.waiting-card) .body-wrap { display:flex; flex-direction:column; }
body:has(.waiting-card) .site-content { display:flex; align-items:center; flex:1; padding:32px 0; }
body:has(.waiting-card) .hero { width:100%; }
body:has(.waiting-card) .hero .split-wrap,body:has(.waiting-card) .hero .split-item { margin:0; padding:0; }
body:has(.waiting-card) .hero .split-item-content { width:100% !important; margin:0 auto !important; max-width:460px; }
body:has(.waiting-card) .hero .hero-inner { padding:0; }
body:has(.waiting-card) .waiting-status { overflow-wrap:anywhere; }

/* Upstream uses important positioning and button ink; keep these overrides explicit. */
.site-header { position:relative !important; }
.site-header-inner { height:auto; }
.bm-footer { display:flex !important; }
h1,h2,h3,h4 { font-family:inherit; }
.button-custom-room,#customizeRoomButton { color:#0C8FF9 !important; }
.button-custom-room:hover,#customizeRoomButton:hover { color:#55b0fc !important; transform:none; filter:none; }

.waiting-card p,#waitingRoomDescription,#waitingStatus,#waitingElapsed,.waiting-card .host-login-link { color:var(--bm-muted); }
.waiting-card .waiting-status.ready { color:#68cf9c; }
.waiting-card .waiting-status.checking { color:#f3b16b; }
.waiting-card hr { border:0; border-top:1px solid var(--bm-line); }
.cr-toggle { background:#202630; }
.cr-qr-wrap { background:#202630; border-color:var(--bm-line); }

.cr-switch { background:#394352; }
.cr-switch::after { background:#657184; }
.cr-switch-wrap input:checked + .cr-switch { background:#0873c8; border-color:var(--bm-blue); }
.cr-switch-wrap input:checked + .cr-switch::before { color:#fff; }
.cr-switch-wrap input:checked + .cr-switch::after { background:#fff; }
.cr-copy:hover:not(:disabled) { background:#1c2938; border-color:var(--bm-blue); }
.cr-status { color:#0C8FF9; }

.hero p { color:var(--bm-muted); }
.button-custom { color:#202b3b !important; }

.waiting-card .waiting-divider { height:1px; border:0; background:var(--bm-line); }

/* Keep only useful labels; links and text controls carry the actions. */
.login-icon,.waiting-icon,.cr-step,.cr-summary-status,.cr-chevron { display:none; }
.cr-summary::before,.cr-back::before { content:none; }
.bm-brand__name small,.beyondmed-brand__caption { display:none; }
.bm-footer { justify-content:flex-end; border-top:0; font-size:11px; }
.cr-option-copy small { display:none; }
.cr-section-heading { gap:0; }
.cr-status { color:var(--bm-blue); }

.waiting-elapsed { display:none; }
.waiting-audio-btn { font-size:12px; font-family:inherit; }
.refresh-btn { width:auto; padding-inline:14px; font-size:12px; font-family:inherit; }
.search-input { padding-left:16px; }
.cr-advanced summary small { display:none; }
.cr-advanced summary { list-style:none; }
.cr-advanced summary::-webkit-details-marker { display:none; }

:root { --gold:var(--bm-orange); }
.cr-option-copy strong { color:var(--bm-ink); }
.cr-input-action { color:var(--bm-ink); }

.swal2-popup { width:50em !important; max-width:100%; background:var(--bm-surface) !important; color:var(--bm-ink) !important; border:1px solid var(--bm-line); border-radius:12px; }
.swal2-title,.swal2-html-container { color:inherit; }
.swal2-icon { display:none !important; }
.swal2-input,.swal2-select { background:var(--bm-input); color:var(--bm-ink); border-color:var(--bm-line); }
.swal2-confirm { color:#161a20 !important; }
