:root { color-scheme: dark; }
* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { background: var(--bcl-m-bg); }
body.bcl-maintenance-mode { min-height: 100vh; margin: 0; overflow-x: hidden; color: var(--bcl-m-text); background: var(--bcl-m-bg); font-family: var(--bcl-m-font); }
body.bcl-maintenance-mode.admin-bar { min-height: calc(100vh - 32px); }
.bcl-maintenance-background, .bcl-maintenance-overlay { position: fixed; inset: 0; }
.bcl-maintenance-background { z-index: -3; overflow: hidden; background: var(--bcl-m-bg); }
.bcl-maintenance-background img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.035); filter: blur(var(--bcl-m-blur)); }
.bcl-maintenance-overlay { z-index: -2; background: rgba(15,2,5,.88); background: radial-gradient(circle at 18% 14%, color-mix(in srgb, var(--bcl-m-accent) 40%, transparent), transparent 30%), linear-gradient(120deg, rgba(15,2,5,.94), rgba(17,17,17,.74) 52%, rgba(15,2,5,.90)); }
.bcl-maintenance-shell { min-height: 100vh; display: grid; place-items: center; padding: clamp(28px, 6vw, 80px) 20px; }
.admin-bar .bcl-maintenance-shell { min-height: calc(100vh - 32px); }
.bcl-maintenance-card { width: min(100%, 760px); padding: clamp(30px, 7vw, 72px); border: 1px solid rgba(255,255,255,.22); border-radius: 32px; background: rgba(17,17,17,.86); background: color-mix(in srgb, var(--bcl-m-panel) 84%, transparent); box-shadow: 0 32px 100px rgba(0,0,0,.46), inset 0 1px rgba(255,255,255,.14); text-align: center; backdrop-filter: blur(22px) saturate(135%); }
.bcl-maintenance-logo { display: inline-flex; justify-content: center; margin-bottom: 26px; }
.bcl-maintenance-logo img { display: block; max-width: min(100%, 360px); max-height: 190px; object-fit: contain; }
.bcl-maintenance-kicker { margin: 0 0 14px; color: color-mix(in srgb, var(--bcl-m-accent) 38%, white); font-size: .76rem; font-weight: 850; letter-spacing: .17em; text-transform: uppercase; }
.bcl-maintenance-card h1 { margin: 0; color: var(--bcl-m-text); font-size: clamp(2.45rem, 7vw, 5.25rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.03; text-wrap: balance; }
.bcl-maintenance-copy { max-width: 620px; margin: 24px auto 0; color: color-mix(in srgb, var(--bcl-m-text) 82%, transparent); font-size: clamp(1rem, 2vw, 1.12rem); line-height: 1.75; }
.bcl-maintenance-copy p { margin: 0; }
.bcl-maintenance-copy p + p { margin-top: 14px; }
.bcl-maintenance-login { max-width: 480px; margin: 30px auto 0; }
.bcl-maintenance-login summary { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 24px; border: 1px solid color-mix(in srgb, var(--bcl-m-accent) 70%, white); border-radius: 999px; color: #fff; background: linear-gradient(135deg, color-mix(in srgb, var(--bcl-m-accent) 86%, white), var(--bcl-m-accent)); box-shadow: 0 14px 34px color-mix(in srgb, var(--bcl-m-accent) 34%, transparent); cursor: pointer; font-weight: 800; list-style: none; }
.bcl-maintenance-login summary::-webkit-details-marker { display: none; }
.bcl-maintenance-login[open] summary { margin-bottom: 16px; }
.bcl-maintenance-login-panel { padding: 24px; border: 1px solid rgba(255,255,255,.16); border-radius: 20px; background: rgba(0,0,0,.22); text-align: left; }
.bcl-maintenance-login-panel h2 { margin: 0 0 18px; color: var(--bcl-m-text); font-size: 1.25rem; text-align: center; }
.bcl-maintenance-login-panel form { display: grid; gap: 14px; }
.bcl-maintenance-login-panel label > span { display: block; margin-bottom: 6px; color: color-mix(in srgb, var(--bcl-m-text) 86%, transparent); font-size: .85rem; font-weight: 700; }
.bcl-maintenance-login-panel input[type="text"], .bcl-maintenance-login-panel input[type="password"] { width: 100%; min-height: 46px; padding: 10px 13px; border: 1px solid rgba(255,255,255,.26); border-radius: 10px; color: var(--bcl-m-text); background: rgba(255,255,255,.08); outline: none; }
.bcl-maintenance-login-panel input:focus { border-color: var(--bcl-m-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--bcl-m-accent) 25%, transparent); }
.bcl-maintenance-remember { display: flex; align-items: center; gap: 8px; }
.bcl-maintenance-remember span { margin: 0 !important; }
.bcl-maintenance-login-panel button { min-height: 46px; border: 0; border-radius: 10px; color: #fff; background: var(--bcl-m-accent); cursor: pointer; font-weight: 850; }
.bcl-maintenance-lost-password { color: color-mix(in srgb, var(--bcl-m-accent) 42%, white); font-size: .84rem; text-align: center; }
.bcl-maintenance-error { margin: 0 0 14px; padding: 10px 12px; border: 1px solid rgba(255,125,125,.48); border-radius: 9px; color: #ffd6d6; background: rgba(150,0,0,.24); font-size: .86rem; }
.bcl-maintenance-footer { margin-top: 34px; color: color-mix(in srgb, var(--bcl-m-text) 58%, transparent); font-size: .82rem; }
.bcl-maintenance-preview-badge { position: fixed; top: 18px; left: 50%; z-index: 10; display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; background: rgba(0,0,0,.72); box-shadow: 0 12px 30px rgba(0,0,0,.26); backdrop-filter: blur(12px); transform: translateX(-50%); font-size: .78rem; }
.admin-bar .bcl-maintenance-preview-badge { top: 48px; }
.bcl-maintenance-preview-badge a { color: color-mix(in srgb, var(--bcl-m-accent) 38%, white); font-weight: 800; }
.bcl-maintenance-preloader { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; background: var(--bcl-m-bg); transition: opacity .35s ease, visibility .35s ease; animation: bcl-maintenance-preloader-fallback .35s ease 4s forwards; }
.bcl-maintenance-preloader img { max-width: min(180px, 54vw); max-height: 180px; object-fit: contain; animation: bcl-maintenance-pulse 1.5s ease-in-out infinite; }
body.bcl-maintenance-loaded .bcl-maintenance-preloader { opacity: 0; visibility: hidden; pointer-events: none; }
@keyframes bcl-maintenance-pulse { 50% { opacity: .55; transform: scale(.96); } }
@keyframes bcl-maintenance-preloader-fallback { to { opacity: 0; visibility: hidden; pointer-events: none; } }
@media (max-width: 782px) { body.bcl-maintenance-mode.admin-bar, .admin-bar .bcl-maintenance-shell { min-height: calc(100vh - 46px); } .admin-bar .bcl-maintenance-preview-badge { top: 62px; } }
@media (max-width: 640px) { .bcl-maintenance-shell { padding-inline: 14px; } .bcl-maintenance-card { padding: 34px 22px; border-radius: 24px; } .bcl-maintenance-preview-badge { width: calc(100% - 28px); justify-content: center; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
