
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: Tahoma, "Segoe UI", Arial, sans-serif;
        }

        body {
            min-height: 100vh;
            min-height: 100svh;
            padding: 24px 12px;
            flex-direction: column;
            background: linear-gradient(135deg, #071426, #0B1F35);
            display: flex;
            justify-content: center;
            align-items: center;
            overflow-x: clip;
            overflow-y: auto;
        }

        body::before {
            content: "";
            position: fixed;
            pointer-events: none;
            width: 520px;
            height: 520px;
            background: rgba(239, 59, 35, .16);
            border-radius: 50%;
            top: -180px;
            right: -160px;
        }

        body::after {
            content: "";
            position: fixed;
            pointer-events: none;
            width: 420px;
            height: 420px;
            background: rgba(11, 79, 131, .35);
            border-radius: 50%;
            bottom: -160px;
            left: -130px;
        }

                .login-card {
            position: relative;
            z-index: 2;
            width: min(430px, 100%);
            flex: 0 0 auto;
            margin: auto;
            background: var(--surface-elevated);
            color: var(--text-primary);
            border-radius: 30px;
            padding: 38px 38px 32px;
            text-align: center;
            box-shadow: 0 25px 70px rgba(0,0,0,.35);
            animation: cardFadeIn .7s ease-out;
        }

        @keyframes cardFadeIn {
            from { opacity: 0; transform: translateY(24px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        .logo-box {
            width: 150px;
            height: 150px;
            margin: auto;
            background: white;
            border-radius: 28px;
            padding: 10px;
            box-shadow: 0 15px 35px rgba(0,0,0,.16);
        }

        .logo-box img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 20px;
        }

        h1 {
            margin-top: 22px;
            color: var(--text-primary);
            font-size: 34px;
            font-weight: bold;
        }

        .subtitle {
            margin-top: 10px;
            margin-bottom: 30px;
            color: var(--text-secondary);
            font-size: 15px;
            line-height: 1.7;
        }

        .input-group {
            text-align: right;
            margin-bottom: 16px;
        }

        .input-group label {
            display: block;
            margin-bottom: 8px;
            color: var(--text-primary);
            font-weight: bold;
            font-size: 14px;
        }

        input {
            width: 100%;
            height: 54px;
            border: none;
            border-radius: 15px;
            background: var(--surface-input);
            color: var(--text-primary);
            border: 1px solid var(--border);
            padding: 0 15px;
            font-size: 15px;
            outline: none;
            transition: .25s;
        }

        input:focus {
            background: var(--surface-input);
            border: 1px solid var(--focus);
            outline: 2px solid var(--focus);
            outline-offset: 3px;
        }

        button {
            width: 100%;
            height: 56px;
            border: none;
            border-radius: 16px;
            margin-top: 10px;
            background: linear-gradient(135deg, #C9321E, #C6281A);
            color: white;
            font-size: 19px;
            font-weight: bold;
            cursor: pointer;
            transition: .25s;
            box-shadow: 0 12px 28px rgba(239,59,35,.32);
        }

        button:hover {
            transform: translateY(-2px);
            box-shadow: 0 16px 35px rgba(239,59,35,.40);
        }

        .error-message {
            margin-top: 16px;
            padding: 12px;
            background: #FEE2E2;
            color: #991B1B;
            border-radius: 12px;
            font-weight: bold;
        }

        /* Status Ticker — sliding track */
        .status-ticker {
            margin-top: 32px;
            height: 36px;
            overflow: hidden;
            position: relative;
            border-top: 1px solid var(--border);
        }

        .ticker-track {
            animation: tickerSlide 16s infinite;
            will-change: transform;
        }

        .status-ticker:hover .ticker-track {
            animation-play-state: paused;
        }

        .ticker-item {
            height: 36px;
            text-align: center;
            color: var(--text-muted);
            font-size: 13px;
            line-height: 36px;
            white-space: nowrap;
        }

        .status-dot {
            font-size: 11px;
            vertical-align: middle;
        }

        @keyframes tickerSlide {
            0%, 20%  { transform: translateY(0); }
            25%, 45% { transform: translateY(-36px); }
            50%, 70% { transform: translateY(-72px); }
            75%, 95% { transform: translateY(-108px); }
            100%     { transform: translateY(0); }
        }

        @media(max-width:480px) {
            .login-card {
                width: 100%;
                padding: 24px 18px 20px;
                border-radius: 20px;
            }

            .logo-box {
                width: 100px;
                height: 100px;
                border-radius: 20px;
            }

            h1 {
                font-size: 24px;
                margin-top: 16px;
            }

            .subtitle {
                font-size: 13px;
                margin-bottom: 20px;
            }

            input {
                height: 48px;
                font-size: 14px;
            }

            button {
                height: 50px;
                font-size: 17px;
            }

            .status-ticker {
                height: 32px;
            }

            .ticker-item {
                height: 32px;
                font-size: 12px;
                line-height: 32px;
            }

            .status-dot {
                font-size: 10px;
            }

            @keyframes tickerSlide {
                0%, 20%  { transform: translateY(0); }
                25%, 45% { transform: translateY(-32px); }
                50%, 70% { transform: translateY(-64px); }
                75%, 95% { transform: translateY(-96px); }
                100%     { transform: translateY(0); }
            }
        }

/* Content determines height; auto margins center only when there is room. */
body::before, body::after { z-index: 0; }
h1 { color: var(--link); }
input::placeholder { color: var(--text-muted); opacity: 1; }
button:focus-visible { outline: 2px solid var(--focus); outline-offset: 4px; }
@media (max-height: 800px) and (min-width: 481px) {
    .login-card { padding: 24px 30px; }
    .logo-box { width: 112px; height: 112px; }
    h1 { margin-top: 16px; font-size: 30px; }
    .subtitle { margin-bottom: 20px; }
    .status-ticker { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    button:hover { transform: none; }
    .status-ticker { height: auto; }
    .ticker-item { height: auto; white-space: normal; line-height: 1.7; padding-block: 4px; }
}
