#cm-maintenance { font-family:"Segoe UI",system-ui,sans-serif; color:#0f172a; }
/* Override inherited card text colours in both themes for this pale preview. */
html body.competition-shell #maintenance-banner-preview,
html body.competition-shell #maintenance-banner-preview * {
    color:#78350f !important;
    -webkit-text-fill-color:#78350f !important;
    text-shadow:none;
}
html body.competition-shell #maintenance-banner-preview {
    background:#fffbeb !important;
    border-color:#f59e0b !important;
    font-size:14px;
    line-height:1.6;
    overflow-wrap:anywhere;
}
#cm-maintenance[hidden], #cm-maintenance [hidden] { display:none !important; }
.cm-maintenance-banner { display:flex; align-items:center; gap:18px; margin:0 0 16px; padding:12px 18px; border-radius:12px; background:#fbbf24; color:#1c1917; box-shadow:0 3px 12px #0f172a12; }
body > #cm-maintenance .cm-maintenance-banner { margin:12px 16px; }
.cm-maintenance-icon { font-size:28px; flex-shrink:0; }
.cm-maintenance-heading { display:flex; flex-direction:column; flex-shrink:0; gap:2px; }
.cm-maintenance-heading strong { font-size:15px; }
.cm-maintenance-heading span { font-size:13px; }
.cm-maintenance-message { border-left:1px solid #78350f55; padding-left:18px; flex:1; font-size:14px; }
.cm-maintenance-close { color:#1c1917; border:0; border-left:1px solid #78350f55; background:transparent; padding:4px 0 4px 18px; font-size:26px; line-height:1; cursor:pointer; }
.cm-maintenance-close:focus-visible { outline:3px solid #17318f; outline-offset:4px; }
#cm-maintenance[data-phase="warning"] .cm-maintenance-banner { background:#fb923c; }
.cm-maintenance-blocked { filter:blur(5px) !important; pointer-events:none !important; user-select:none !important; }
body.cm-maintenance-active { overflow:hidden !important; }
#cm-maintenance[data-blocked="true"] { position:fixed; inset:0; z-index:2147483000; background:#f8fafca6; display:flex; flex-direction:column; overflow:auto; }
.cm-maintenance-card { margin:auto; max-width:520px; width:calc(100% - 32px); padding:32px; background:#fff; color:#0f172a; border:1px solid #dbe4f0; border-radius:20px; box-shadow:0 18px 50px #0f172a20; text-align:center; }
.cm-maintenance-card h2 { color:#0f172a !important; font-size:26px; margin:12px 0; }
.cm-maintenance-card p { color:#475569; margin:12px 0; }
.cm-maintenance-card small { color:#64748b; display:block; }
@media(max-width:760px) {
    .cm-maintenance-banner { gap:10px; flex-wrap:wrap; margin:0 0 12px; padding:12px; }
    body > #cm-maintenance .cm-maintenance-banner { margin:8px; }
    .cm-maintenance-heading { flex:1; flex-shrink:1; }
    .cm-maintenance-message { order:4; flex-basis:100%; padding:8px 0 0; border-left:0; border-top:1px solid #78350f55; }
    .cm-maintenance-heading strong { font-size:14px; }
    .cm-maintenance-card { padding:24px; }
}
