/* Install wizard — modern minimal shell (una-g). Same flow; visual refresh only. */ :root { --bx-inst-bg: #f4f5f7; --bx-inst-surface: #ffffff; --bx-inst-text: #111827; --bx-inst-muted: #6b7280; --bx-inst-border: #e5e7eb; --bx-inst-accent: #2563eb; --bx-inst-accent-hover: #1d4ed8; --bx-inst-ok: #059669; --bx-inst-ok-bg: #ecfdf5; --bx-inst-bad: #dc2626; --bx-inst-bad-bg: #fef2f2; --bx-inst-warn: #d97706; --bx-inst-warn-bg: #fffbeb; --bx-inst-radius: 12px; --bx-inst-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06); --bx-inst-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; } html, body { margin: 0; min-height: 100%; } body.bx-install-body, .bx-install-body { font-family: var(--bx-inst-font) !important; color: var(--bx-inst-text); background: var(--bx-inst-bg) !important; -webkit-font-smoothing: antialiased; } .bx-install-shell { min-height: 100vh; display: flex; flex-direction: column; } .bx-install-topbar { background: var(--bx-inst-surface); border-bottom: 1px solid var(--bx-inst-border); position: sticky; top: 0; z-index: 20; } .bx-install-topbar-inner { position: relative; max-width: 720px; margin: 0 auto; padding: 10px 20px; display: flex; align-items: center; justify-content: flex-end; min-height: 52px; box-sizing: border-box; } .bx-install-header-logo { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 7px; z-index: 1; } .bx-install-brand-title { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); font-size: 14px; font-weight: 600; letter-spacing: -0.01em; color: var(--bx-inst-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100% - 160px); text-align: center; pointer-events: none; } .bx-install-help { position: relative; z-index: 1; font-size: 13px; font-weight: 500; color: var(--bx-inst-accent); text-decoration: none; } .bx-install-help:hover { text-decoration: underline; } .bx-install-main { flex: 1 0 auto; width: 100%; max-width: 720px; margin: 0 auto; padding: 32px 20px 48px; box-sizing: border-box; } .bx-install-card { background: var(--bx-inst-surface); border: 1px solid var(--bx-inst-border); border-radius: var(--bx-inst-radius); box-shadow: var(--bx-inst-shadow); padding: 28px 28px 32px; } .bx-install-footer { flex: 0 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 12px; padding: 16px 20px; font-size: 12px; color: var(--bx-inst-muted); } .bx-install-footer-lang { justify-self: start; position: relative; } .bx-install-footer-links { justify-self: center; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; } .bx-install-footer-spacer { justify-self: end; } .bx-install-footer-links a { color: var(--bx-inst-muted); text-decoration: none; } .bx-install-footer-links a:hover { color: var(--bx-inst-text); text-decoration: underline; } .bx-install-footer-sep { display: inline-block; width: 1px; height: 12px; margin: 0 10px; background: var(--bx-inst-border); vertical-align: middle; } .bx-install-lang { position: relative; } .bx-install-lang-trigger { list-style: none; display: inline-flex; align-items: center; gap: 6px; padding: 4px 2px; cursor: pointer; color: var(--bx-inst-muted); font-size: 13px; font-weight: 500; user-select: none; } .bx-install-lang-trigger::-webkit-details-marker { display: none; } .bx-install-lang-trigger::marker { content: ""; } .bx-install-lang[open] .bx-install-lang-trigger, .bx-install-lang-trigger:hover { color: var(--bx-inst-accent); text-decoration: underline; } .bx-install-lang-current { line-height: 1.2; } .bx-install-lang-icon { display: block; flex: 0 0 auto; } .bx-install-lang-menu { position: absolute; left: 0; bottom: calc(100% + 8px); min-width: 220px; padding: 6px; background: #fff; border: 1px solid var(--bx-inst-border); border-radius: 12px; box-shadow: var(--bx-inst-shadow); z-index: 30; } .bx-install-lang-item { display: flex !important; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; color: var(--bx-inst-text) !important; font-size: 13px; text-decoration: none !important; } .bx-install-lang-item:hover { background: #f3f4f6; } .bx-install-lang-item.is-selected { background: #eff6ff; color: var(--bx-inst-accent) !important; } .bx-install-lang-badge { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 999px; background: #f3f4f6; color: var(--bx-inst-text); flex: 0 0 auto; } .bx-install-lang-item.is-selected .bx-install-lang-badge { background: #dbeafe; color: var(--bx-inst-accent); } /* Kill the old teal header if any leftover classes still render */ .bx-header.bx-def-color-bg-header, #bx-toolbar { background: transparent !important; box-shadow: none !important; } h1.bx-def-font-h1, .bx-install-card h1 { font-family: var(--bx-inst-font) !important; font-size: 22px !important; font-weight: 650 !important; letter-spacing: -0.02em; margin: 0 0 20px !important; color: var(--bx-inst-text) !important; } .bx-install-card p, .bx-install-card li, .bx-install-card .bx-def-font-large { font-family: var(--bx-inst-font) !important; color: var(--bx-inst-text); line-height: 1.55; } /* Buttons */ .bx-btn, a.bx-btn, button.bx-btn, .bx-install-site-config .bx-form-input-wrapper-submit button, .bx-install-site-config .bx-form-input-wrapper-submit input[type="submit"] { display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; float: none !important; margin: 0 8px 8px 0 !important; padding: 0 20px !important; height: 48px !important; min-height: 48px !important; max-height: 48px !important; box-sizing: border-box !important; border-radius: 12px !important; border: 1px solid var(--bx-inst-border) !important; background: var(--bx-inst-surface) !important; color: var(--bx-inst-text) !important; font-family: var(--bx-inst-font) !important; font-size: 14px !important; font-weight: 550 !important; line-height: 1.2 !important; text-decoration: none !important; box-shadow: none !important; cursor: pointer; transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease; } .bx-btn:hover, a.bx-btn:hover, button.bx-btn:hover { background: #f9fafb !important; border-color: #d1d5db !important; } .bx-btn-primary, a.bx-btn-primary, button.bx-btn-primary, .bx-btn.bx-btn-primary { background: var(--bx-inst-accent) !important; border-color: var(--bx-inst-accent) !important; color: #fff !important; } .bx-btn-primary:hover, a.bx-btn-primary:hover { background: var(--bx-inst-accent-hover) !important; border-color: var(--bx-inst-accent-hover) !important; color: #fff !important; } .bx-btn-disabled, a.bx-btn-disabled, .bx-btn.bx-btn-disabled { opacity: 0.45 !important; pointer-events: none !important; cursor: not-allowed !important; } .bx-install-permissions-buttons, .bx-install-initial, .bx-install-initial-langs, .bx-install-site-config .bx-form-input-wrapper-submit { text-align: center; } .bx-install-initial > a, .bx-install-initial-langs > a, .bx-install-permissions-buttons > a, .bx-install-site-config .bx-form-input-wrapper-submit > a { display: inline-flex; } /* Initial / welcome */ .bx-install-initial img.bx-install-img { display: block; margin: 8px auto 24px; width: 64px; height: 64px; max-width: 64px; border-radius: 16px; } .bx-install-initial-langs { margin-bottom: 20px !important; } .bx-install-initial-langs img { width: 28px; height: 28px; border-radius: 6px; border: 1px solid var(--bx-inst-border); } .bx-install-initial-langs a { margin: 0 4px; } .bx-install-initial-waring, .bx-install-initial-fail { margin-top: 20px; padding: 12px 14px; border-radius: 8px; background: var(--bx-inst-warn-bg); border: 1px solid #fde68a; color: #92400e; font-size: 14px; text-align: left; } .bx-install-error-message, .bx-install-initial-fail ul { border: 1px solid #fecaca; background: var(--bx-inst-bad-bg); color: #991b1b; border-radius: 8px; padding: 12px 14px; font-weight: 500; } /* Permissions table → modern list */ .bx-install-permissions-table-wrap { overflow-x: auto; } .bx-permissions-table { width: 100% !important; table-layout: auto; border-collapse: separate !important; border-spacing: 0 !important; border: 1px solid var(--bx-inst-border); border-radius: 10px; overflow: hidden; font-size: 13px; } .bx-permissions-table thead td, .bx-permissions-table thead th { font-weight: 600 !important; font-size: 12px !important; text-transform: uppercase; letter-spacing: 0.04em; color: var(--bx-inst-muted) !important; background: #fafafa; border-bottom: 1px solid var(--bx-inst-border); text-align: left !important; padding: 10px 12px !important; } .bx-permissions-table td { padding: 10px 12px !important; border-bottom: 1px solid var(--bx-inst-border); vertical-align: middle; font-family: var(--bx-inst-font) !important; } td.bx-permissions-ok, td.bx-permissions-wrong { display: table-cell !important; background: transparent !important; border-radius: 0 !important; padding: 10px 12px !important; font-size: inherit !important; font-weight: inherit !important; line-height: inherit !important; } .bx-permissions-table tbody tr:last-child td { border-bottom: none; } .bx-permissions-table tbody tr.bx-def-color-bg-hl-even, .bx-permissions-table tbody tr { background: #fff !important; } .bx-permissions-table td:first-child { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size: 12px; color: #374151; overflow-wrap: anywhere; word-break: break-word; } .bx-permissions-table td:nth-child(2), .bx-permissions-table td:nth-child(3) { white-space: nowrap; width: 1%; } .bx-permissions-table td:not(:first-child) { text-align: left !important; } .bx-install-chip, span.bx-permissions-ok, span.bx-permissions-wrong, .bx-install-audit b.ok, .bx-install-audit b.fail, .bx-install-audit b.warn, .bx-install-audit b.undef { display: inline-flex !important; align-items: center; justify-content: center; gap: 0; padding: 2px 8px !important; border-radius: 999px !important; font-size: 11px !important; font-weight: 500 !important; line-height: 16px !important; font-style: normal !important; white-space: nowrap; } span.bx-permissions-ok, .bx-install-chip-ok, .bx-install-audit b.ok { color: var(--bx-inst-ok) !important; background: var(--bx-inst-ok-bg) !important; } span.bx-permissions-wrong, .bx-install-chip-bad, .bx-install-audit b.fail { color: var(--bx-inst-bad) !important; background: var(--bx-inst-bad-bg) !important; } .bx-install-chip-warn, .bx-install-audit b.warn { color: var(--bx-inst-warn) !important; background: var(--bx-inst-warn-bg) !important; } .bx-install-audit b.undef { color: var(--bx-inst-muted) !important; background: #f3f4f6 !important; } .bx-install-permissions-buttons { margin-top: 24px !important; } .bx-install-permissions-buttons .bx-def-margin-bottom { margin-bottom: 16px !important; padding: 12px 14px; border-radius: 8px; background: var(--bx-inst-warn-bg); border: 1px solid #fde68a; color: #92400e; font-size: 14px; text-align: left; } /* Forms (site config) */ .bx-install-site-config fieldset.bx-form-section { background: transparent !important; border: none !important; border-radius: 0 !important; margin: 0 0 18px !important; padding: 0 !important; } .bx-install-site-config fieldset.bx-form-section .bx-form-section-content { background: transparent !important; } .bx-install-site-config .bx-form-section-title, .bx-install-site-config legend { font-size: 13px !important; font-weight: 650 !important; color: var(--bx-inst-muted) !important; text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 10px !important; } .bx-install-site-config input[type="text"], .bx-install-site-config input[type="password"], .bx-install-site-config input[type="email"], .bx-install-site-config select, .bx-install-site-config textarea, .bx-install-finish textarea, .bx-form-input-text, .bx-form-input-password, .bx-form-input-select, .bx-form-input-textarea { width: 100%; max-width: 100%; box-sizing: border-box; border: 1px solid var(--bx-inst-border) !important; border-radius: 8px !important; padding: 10px 12px !important; font-family: var(--bx-inst-font) !important; font-size: 14px !important; background: #fff !important; color: var(--bx-inst-text) !important; box-shadow: none !important; } .bx-install-site-config input:focus, .bx-install-site-config select:focus, .bx-install-site-config textarea:focus, .bx-install-finish textarea:focus { outline: none !important; border-color: var(--bx-inst-accent) !important; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important; } .bx-install-finish textarea { display: block; width: 100% !important; height: 88px; margin-top: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; font-size: 12px !important; } .bx-install-finish ol { padding-left: 20px; margin: 0; } .bx-install-finish li { margin-bottom: 16px; } /* Audit report card */ .bx-install-audit { font-size: 13px; } .bx-install-audit-summary { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; } .bx-install-audit-body { overflow-x: auto; } .bx-install-audit-body > h1 { font-family: var(--bx-inst-font) !important; font-size: 13px !important; font-weight: 650 !important; letter-spacing: 0.04em; text-transform: uppercase; color: var(--bx-inst-muted) !important; margin: 22px 0 10px !important; } .bx-install-audit-body > h1:first-child { margin-top: 0 !important; } .bx-install-audit-body .bx-audit-section-head { display: block; font-size: 14px; font-weight: 600; text-transform: none; color: var(--bx-inst-text); margin: 16px 0 8px; } .bx-install-audit-body .bx-audit-section-head b { display: inline; font-weight: 600; } .bx-install-audit-body ul { list-style: none; margin: 0 0 8px; padding: 0; border: 1px solid var(--bx-inst-border); border-radius: 10px; overflow: hidden; background: #fff; } .bx-install-audit-body li { padding: 10px 12px; border-bottom: 1px solid var(--bx-inst-border); line-height: 1.45; color: #374151; } .bx-install-audit-body li:last-child { border-bottom: none; } .bx-install-audit-body li b.ok, .bx-install-audit-body li b.fail, .bx-install-audit-body li b.warn, .bx-install-audit-body li b.undef { float: right; margin-left: 8px; } .bx-install-audit-body table { width: 100%; border-collapse: collapse; border: 1px solid var(--bx-inst-border); border-radius: 10px; overflow: hidden; } .bx-install-audit-body td, .bx-install-audit-body th { padding: 8px 10px; border-bottom: 1px solid var(--bx-inst-border); text-align: left; } @media (max-width: 640px) { .bx-install-card { padding: 20px 16px 24px; } .bx-install-main { padding: 20px 12px 36px; } } .bx-install-step-lead { margin: -8px 0 20px !important; color: var(--bx-inst-muted) !important; font-size: 14px !important; } .bx-install-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }