:root {
            color-scheme: light;
            --bg: #f5f5f6;
            --surface: #ffffff;
            --text: #202124;
            --muted: #62666b;
            --line: #dcdee1;
            --accent: #4c4c4e;
            --accent-strong: #2f3032;
            --danger: #c7271d;
            --radius: 8px;
        }

        * {
            box-sizing: border-box;
        }

        body {
            min-height: 100vh;
            margin: 0;
            display: grid;
            place-items: center;
            padding: 24px;
            background: var(--bg);
            color: var(--text);
            font-family: Arial, Helvetica, sans-serif;
        }

        main {
            display: grid;
            justify-items: center;
            width: min(100%, 500px);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            background: var(--surface);
            padding: 34px 42px 38px;
            text-align: center;
        }

        .login-logo {
            --kbrio-hub-logo-width: 280px;
            width: min(100%, 280px);
            margin: 0 auto 28px;
        }

        p {
            max-width: 360px;
            margin: 0 auto 26px;
            color: var(--muted);
            font-size: 17px;
            line-height: 1.45;
        }

        label {
            display: grid;
            gap: 6px;
            margin-bottom: 14px;
            color: var(--text);
            font-size: 14px;
            font-weight: 700;
        }

        input {
            width: 100%;
            min-height: 42px;
            border: 1px solid var(--line);
            border-radius: var(--radius);
            padding: 0 12px;
            font: inherit;
        }

        button,
        .button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            min-height: 48px;
            width: 100%;
            border: 1px solid var(--accent-strong);
            border-radius: var(--radius);
            background: var(--accent);
            color: #fff;
            font-size: 16px;
            font-weight: 700;
            text-decoration: none;
            cursor: pointer;
        }

        .button .fa-brands {
            font-size: 18px;
        }

        .error {
            margin-bottom: 16px;
            color: var(--danger);
        }