html, body { min-height: 100%; width: 100%; } html { margin: 0; padding: 0; background: transparent !important; } body { margin: 0; overflow: hidden; background: linear-gradient(180deg, rgba(232, 241, 248, 0.22), rgba(17, 24, 39, 0.18)), url("../img/skyline.png") center center / cover no-repeat fixed !important; color: #0f172a; font-family: "Roboto", "Helvetica Neue", Arial, sans-serif; } body > div, body > main { margin: 0; } #kc-header-wrapper, #kc-header, .login-pf-header, #kc-page-title, #kc-locale, #kc-social-providers { display: none !important; } #kc-content-wrapper, #kc-content, #kc-form, #kc-form-wrapper, .login-pf-page, .card-pf, .pf-v5-c-login, .pf-v5-c-login__container, .pf-v5-c-login__main, .pf-v5-c-login__main-body, .pf-v5-c-login__main-header, .pf-v5-c-login__main-footer { margin: 0 !important; padding: 0 !important; max-width: none !important; width: 100% !important; border: 0 !important; background: transparent !important; box-shadow: none !important; } #kc-content-wrapper, #kc-content, .login-pf-page, .pf-v5-c-login, .pf-v5-c-login__container, .pf-v5-c-login__main, .pf-v5-c-login__main-body { min-height: 100vh !important; } #kc-content, #kc-content-wrapper { position: relative; z-index: 2; } .pf-v5-c-alert, .alert, #kc-info-message, #kc-error-message { margin: 0 0 14px !important; border: 0 !important; border-radius: 12px !important; background: rgba(127, 29, 29, 0.24) !important; color: #fee2e2 !important; box-shadow: none !important; } .kb-login-shell { position: relative; min-height: 100vh; padding: 24px 20px 30px; } .kb-login-backdrop { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.22), rgba(15, 23, 42, 0.18)), radial-gradient(circle at center, rgba(255, 255, 255, 0.04), rgba(10, 18, 28, 0.16) 100%); backdrop-filter: blur(18px) saturate(1.08); pointer-events: none; } .kb-login-stage { position: relative; z-index: 1; display: grid; justify-items: center; align-content: start; min-height: 100vh; } .kb-login-clock { margin-top: 22px; text-align: center; color: #f8fafc; text-shadow: 0 10px 28px rgba(0, 0, 0, 0.22); } .kb-login-date { margin: 0 0 6px; font-size: 1.15rem; font-weight: 400; letter-spacing: 0.01em; opacity: 0.9; } .kb-login-time { margin: 0; font-size: clamp(3.8rem, 8vw, 5.6rem); font-weight: 300; line-height: 1; } .kb-login-card { width: min(560px, 100%); margin-top: 148px; display: grid; gap: 14px; padding: 28px; border-radius: 30px; background: rgba(66, 74, 84, 0.38); border: 1px solid rgba(255, 255, 255, 0.20); box-shadow: 0 22px 60px rgba(15, 23, 42, 0.24); backdrop-filter: blur(22px) saturate(1.08); } .kb-login-brand { text-align: center; } .kb-login-kicker { margin: 0; font-size: 0.76rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255, 255, 255, 0.82); } .kb-login-form-shell, #kc-form-wrapper, #kc-form { margin: 0; padding: 0 !important; } #kc-form-login { display: grid; gap: 12px; } .kb-form-group { display: grid; gap: 6px; } .kb-text-input { width: 100%; min-height: 48px; padding: 0 18px; border: 1px solid rgba(255, 255, 255, 0.24); border-radius: 999px; background: rgba(255, 255, 255, 0.72) !important; color: #111827 !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22) !important; outline: none; font-size: 1rem; backdrop-filter: blur(9px); transition: background-color 160ms ease, border-color 160ms ease; } .kb-text-input:focus { border-color: rgba(255, 255, 255, 0.26); background: rgba(255, 255, 255, 0.9) !important; color: #111827 !important; } .kb-text-input:not(:placeholder-shown) { background: rgba(255, 255, 255, 0.88) !important; color: #111827 !important; } .kb-text-input::placeholder { color: rgba(15, 23, 42, 0.68); } .kb-password-row { position: relative; } .kb-text-input-password { padding-right: 56px; } .kb-password-toggle { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 0; border-radius: 999px; background: transparent; color: rgba(248, 250, 252, 0.88); cursor: pointer; } .kb-input-error { padding: 0 10px; font-size: 0.82rem; color: #fee2e2; } .kb-form-meta { display: grid; gap: 8px; margin-top: 2px; } .kb-remember { display: inline-flex; align-items: center; gap: 8px; color: rgba(248, 250, 252, 0.96); font-size: 0.88rem; cursor: pointer; } .kb-login-card h1, .kb-login-card h2, .kb-login-card h3 { color: #f8fafc; } .kb-login-card p, .kb-login-card label, .kb-login-card .pf-v5-c-form__label-text, .kb-login-card .kcLabelClass { color: rgba(248, 250, 252, 0.94) !important; } .kb-remember input { width: 16px; height: 16px; accent-color: #93c5fd; } .kb-form-links a { color: rgba(248, 250, 252, 0.94) !important; text-decoration: none; font-size: 0.88rem; } .kb-form-links a:hover, .kb-registration a:hover { text-decoration: underline; } .kb-form-submit { margin-top: 4px; } .kb-submit-button, .kb-register-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; border: 0; border-radius: 999px; font-size: 0.98rem; font-weight: 700; letter-spacing: 0.01em; text-decoration: none; cursor: pointer; transition: transform 160ms ease, filter 160ms ease; } .kb-submit-button { background: linear-gradient(180deg, #7dd3fc, #0ea5e9) !important; color: #082f49 !important; box-shadow: 0 14px 30px rgba(14, 165, 233, 0.22); } .kb-register-button { background: rgba(255, 255, 255, 0.14); color: #f8fafc !important; border: 1px solid rgba(255, 255, 255, 0.20); backdrop-filter: blur(8px); } .kb-submit-button:hover, .kb-register-button:hover { transform: translateY(-1px); filter: brightness(1.03); } .kb-login-info { padding: 16px 18px; border-radius: 18px; background: rgba(255, 255, 255, 0.18); border: 1px solid rgba(255, 255, 255, 0.12); color: rgba(248, 250, 252, 0.94); backdrop-filter: blur(10px); } .kb-login-info strong { display: block; margin-bottom: 6px; font-size: 0.95rem; } .kb-login-info p { margin: 0; font-size: 0.9rem; line-height: 1.5; } .kb-registration { width: min(420px, 100%); margin: 14px auto 0; } @media (max-width: 640px) { .kb-login-shell { padding: 18px 14px 24px; } .kb-login-clock { margin-top: 10px; } .kb-login-time { font-size: 3.7rem; } .kb-login-card { margin-top: 88px; } }