﻿            * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'Plus Jakarta Sans', system-ui, sans-serif; }
            body {
                background: linear-gradient(135deg, #071e4a 0%, #0d3477 50%, #1e40af 100%);
                min-height: 100vh;
                display: flex;
                flex-direction: column;
                padding: 0;
                margin: 0;
                color: #0f172a;
            }
            .login-wrapper {
                flex: 1;
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 24px 16px;
            }
            .login-card {
                background: #ffffff;
                width: 100%;
                max-width: 420px;
                padding: 40px 35px;
                border-radius: 18px;
                box-shadow: 0 20px 45px rgba(0, 0, 0, 0.25);
                border: 1px solid rgba(255, 255, 255, 0.2);
            }
            .brand-header {
                text-align: center;
                margin-bottom: 28px;
            }
            .brand-icon {
                width: 68px;
                height: 68px;
                background: linear-gradient(135deg, #071e4a 0%, #2563eb 100%);
                color: white;
                border-radius: 18px;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                font-size: 28px;
                margin-bottom: 14px;
                box-shadow: 0 10px 20px rgba(37, 99, 235, 0.3);
            }
            .brand-header h2 {
                font-size: 22px;
                font-weight: 800;
                color: #071e4a;
                letter-spacing: -0.5px;
            }
            .brand-header p {
                font-size: 13px;
                color: #64748b;
                margin-top: 4px;
            }
            .alert {
                padding: 12px 16px;
                border-radius: 10px;
                font-size: 13.5px;
                margin-bottom: 20px;
                display: flex;
                align-items: center;
                gap: 10px;
            }
            .alert-error {
                background: #fef2f2;
                border: 1px solid #fecaca;
                color: #b91c1c;
            }
            .form-group {
                margin-bottom: 20px;
            }
            .form-group label {
                display: block;
                font-size: 13px;
                font-weight: 700;
                color: #334155;
                margin-bottom: 7px;
            }
            .input-wrapper {
                position: relative;
            }
            .input-wrapper i {
                position: absolute;
                left: 14px;
                top: 50%;
                transform: translateY(-50%);
                color: #94a3b8;
                font-size: 15px;
            }
            .input-wrapper input {
                width: 100%;
                padding: 12px 14px 12px 42px;
                border: 1.5px solid #cbd5e1;
                border-radius: 10px;
                font-size: 14.5px;
                outline: none;
                transition: all 0.2s ease;
                color: #0f172a;
            }
            .input-wrapper input:focus {
                border-color: #2563eb;
                box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
            }
            .btn-login {
                width: 100%;
                padding: 13px;
                background: linear-gradient(135deg, #071e4a 0%, #1e40af 100%);
                color: white;
                border: none;
                border-radius: 10px;
                font-size: 15px;
                font-weight: 700;
                cursor: pointer;
                transition: all 0.2s ease;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 10px;
                box-shadow: 0 4px 15px rgba(7, 30, 74, 0.2);
            }
            .btn-login:hover {
                transform: translateY(-1px);
                box-shadow: 0 8px 20px rgba(7, 30, 74, 0.3);
            }
            .back-home {
                text-align: center;
                margin-top: 22px;
                font-size: 13px;
            }
            .back-home a {
                color: #2563eb;
                text-decoration: none;
                font-weight: 600;
            }
            .back-home a:hover { text-decoration: underline; }

            @media (max-width: 480px) {
                .login-card {
                    padding: 28px 20px;
                }
                .brand-header h2 {
                    font-size: 19px;
                }
                .brand-icon {
                    width: 56px;
                    height: 56px;
                    font-size: 22px;
                }
                .input-wrapper input {
                    font-size: 16px;
                }
            }