        body {
            font-family: 'Sarabun', sans-serif;
            font-size: 14px;
            background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
            height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0;
            overflow: hidden;
        }
        .login-card {
            background: #ffffff;
            padding: 35px 30px;
            border-radius: 16px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
            width: 100%;
            max-width: 400px;
            animation: fadeIn 0.5s ease-in-out;
        }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-15px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .login-header {
            text-align: center;
            margin-bottom: 25px;
        }
        .login-header .icon-box {
            width: 65px;
            height: 65px;
            background: rgba(42, 82, 152, 0.1);
            color: #2a5298;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 15px auto;
            font-size: 28px;
        }
        .login-header h4 {
            font-weight: 700;
            color: #1e3c72;
            margin-bottom: 5px;
        }
        .login-header p {
            color: #6c757d;
            font-size: 13px;
            margin-bottom: 0;
        }
        .form-group label {
            font-weight: 600;
            color: #495057;
            font-size: 14px;
        }
        .input-group-text {
            background-color: #f8f9fa;
            border-right: none;
            border-top-left-radius: 10px;
            border-bottom-left-radius: 10px;
            color: #6c757d;
        }
        .form-control {
            font-size: 14px;
            height: calc(2.25rem + 10px);
            border-left: none;
            border-top-right-radius: 10px;
            border-bottom-right-radius: 10px;
        }
        .form-control:focus {
            box-shadow: none;
            border-color: #ced4da;
        }
        .input-group:focus-within .input-group-text,
        .input-group:focus-within .form-control {
            border-color: #2a5298;
        }
        .btn-custom-primary {
            background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
            color: white;
            border: none;
            border-radius: 10px;
            padding: 10px;
            font-weight: 600;
            font-size: 15px;
            transition: all 0.3s;
        }
        .btn-custom-primary:hover {
            opacity: 0.95;
            color: white;
            transform: translateY(-1px);
            box-shadow: 0 4px 12px rgba(42, 82, 152, 0.3);
        }
        .alert-danger {
            font-size: 13px;
            border-radius: 8px;
            padding: 10px;
        }